IIS Express" localhost"证书

时间:2015-04-03 21:00:22

标签: ssl-certificate x509certificate iis-express

我需要在(owin)自托管应用程序上测试SSL。我在generate my own certificate(s)时取得了成功,并使用netsh安装。

但是,我认为简单地利用已有的Visual Studio“localhost”证书是有用的。它是友好名称“IIS Express Developer Certificate”的名称。因此,我将其注册到netsh。

但是,现在我的HttpClient调用总是因此异常而失败:

  

[System.Net.WebException]“底层连接已关闭:无法为SSL / TLS安全通道建立信任关系。”

  内在例外:
  [AuthenticationException]“根据验证程序,远程证书无效。”

是否存在一个根本原因,为什么这不起作用,或者我只是错过了什么?

要清楚,我根本不使用IIS Express。我只是使用IIS Express通常使用的证书。

1 个答案:

答案 0 :(得分:0)

按设计。 IIS Express的证书或您创建的证书都不是自签名的,默认情况下不受任何一方信任。因此,HttpClient或任何其他内置类将拒绝连接。

如果您将证书安装到受信任的根,那么它应该可以正常工作。或者在代码中,强制.NET通过

信任证书

https://msdn.microsoft.com/en-us/library/system.net.security.remotecertificatevalidationcallback%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396