我已经搜索了这个很多,但找不到这个特定问题的相关答案。
我通过我的c#web应用程序访问Web服务。 Web服务要求请求中的证书进行身份验证。
Web应用程序处于开发模式,我正在使用带有iis express的VisualStudio 2013.
我已通过MMC在本地计算机上安装了客户端证书。 在Web服务请求中,我添加了X509Certificate。 Web服务器不支持SSL但不支持TLS,所以我也添加了以下行:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
我还添加了以下一行:
ServicePointManager.ServerCertificateValidationCallback =delegate { return true; };
问题是如果我使用iis express我正在运行VisualStudio作为普通用户
"The request was aborted: Could not create SSL/TLS secure channel."
但如果我以iis express的管理员身份运行VisualStudio,那么连接就会成功,网络服务器会返回所需的响应。
然后我用.Net完全信任在我的本地iis中托管了应用程序,但仍然得到了:
"The request was aborted: Could not create SSL/TLS secure channel."
我的IP在网络服务器上列出了白色。
如果有人可以帮助我理解为什么VisualStudio以管理员身份运行时会起作用,为什么它不能像普通用户一样工作?
答案 0 :(得分:4)
猜测一下:这可能是证书访问错误。
您可以编辑证书的ACL:在MMC中选择证书;上下文菜单;所有任务;管理私钥。
默认情况下,管理员位于此列表中。这与您描述的行为相符。