我需要在(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通常使用的证书。
答案 0 :(得分:0)
按设计。 IIS Express的证书或您创建的证书都不是自签名的,默认情况下不受任何一方信任。因此,HttpClient
或任何其他内置类将拒绝连接。
如果您将证书安装到受信任的根,那么它应该可以正常工作。或者在代码中,强制.NET通过
信任证书