【发布时间】:2017-10-29 19:14:23
【问题描述】:
在写这个问题之前,我已经经历了很多问题和答案,但我似乎无法找到解决方案。我正在尝试将应用程序托管为需要调用 Swish API 的 Azure 应用服务。
请参阅此线程,了解我的实现如何在本地运行,效果很好:
来自 Azure 的系统诊断日志:
我已经尝试过 Microsoft 论坛和 SO 的解决方案,但似乎没有一个可以解决问题:
//Tested both, none of them work
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11
由于很多问题都是基于访问外部服务而不是发送客户端证书,因此复杂性也有所增加。
我所做的是在 Azure 上的 SSL certificates 选项卡中导入测试证书。因为.p12 和.pfx 都是PKCS #12 文件,所以我刚刚重命名了.p12 文件。该应用程序以B1 Basic App Service Plan 的身份运行,因此应该存在大部分功能。
https://stackoverflow.com/a/6821061/3850405
我也试过这个指南将证书添加到 Azure 中的证书存储区 -> 应用程序设置 -> 应用程序设置:
https://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/
当这不起作用时,我尝试在我的应用程序中将 WEBSITE_LOAD_CERTIFICATES 添加到 appSettings,但结果是 HTTP 503。
Swish 证书和英文指南:
https://www.getswish.se/content/uploads/2015/06/Guide-Testverktyg_20151210.zip
【问题讨论】:
-
据我所知,您上传到 Web 应用程序的证书只会安装到个人证书存储区。当我按照您的 swish 证书指南进行操作时,我发现它会存储在
Trusted Root Certification Authorities中,我认为这可能是原因。 -
@Bruce-MSFT 是的,我认为这也是问题所在。现在以
virtual machine运行它,它工作正常。如果可以以App Service的形式进行,那就太好了。 -
你设法让它工作了吗?我在这里寻找同样的东西。
-
@JeppePepp 不,它不会起作用。我直接询问微软是否信任他们的证书,但请求被拒绝。我们通过将其托管为虚拟机并从那里将其证书添加到受信任的根证书颁发机构来解决它。 feedback.azure.com/forums/169385-web-apps/suggestions/…
-
好的,谢谢您的回答。我知道这个问题已经很老了,所以我在祈祷你有一些好消息要分享。我现在会坚持使用 klarna :)