2017-10-04 199 views
0

我有一个使用客户端证书,才能连接到第三方鉴定提供了一个C#网络API(BankID https://www.bankid.com/en/)。使用客户端证书IIS

当在Visual Studio中运行的所有连接握手工作正常。但是之后我将它部署到运行在Azure上的虚拟机上的IIS上,出于某种原因,现在它不能按预期工作,而是我得到一个异常:

“请求被中止:无法创建SSL/TLS安全通道“。

我已经安装在虚拟机上的Visual Studio,并验证它的工作原理;并且我已经在本地机器上安装了IIS并验证了它的工作原理。因此,如果Azure虚拟机上使用IIS,它似乎是一个组合。

起初我以为这可能是因为客户端证书was'nt从证书存储区回升。但我添加了“找不到证书”的处理,而这不会触发。

我也试着从文件拿起证书的替代品。但是这也行不通。

希望得到一些帮助!

回答

0

尝试把这个在你的构造:

ServicePointManager.Expect100Continue = true; 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11; 
0

我总算弄明白了什么问题。 IIS用户(IIS_IUSRS)没有使用私钥的权限。所以它实际上并不涉及到Azure。

对于运行到同一问题的人,看一下详细的解答这里:https://stackoverflow.com/a/2647003/8721876