VisualStudio:无法创建SSL/TLS安全通道
我已经搜索了很多,但无法找到这个具体问题相关的答案。VisualStudio:无法创建SSL/TLS安全通道
我正在通过我的c#web应用程序访问Web服务。 Web服务需要请求中的证书进行身份验证。
Web应用程序处于开发模式,我使用VisualStudio 2013和iis express。
我已通过MMC在本地计算机上安装了客户端证书。 在Web服务请求中,我添加了X509Certificate。 Web服务器不支持SSL,但TLS,所以我加入以下行,以及:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
我也加入如下一行:
ServicePointManager.ServerCertificateValidationCallback =delegate { return true; };
的问题是,如果我运行在VisualStudio中与IIS普通用户表达我得到
"The request was aborted: Could not create SSL/TLS secure channel."
但是,如果我运行的VisualStudio以管理员身份与IIS表达则连接成功并网erver返回所需的响应。
然后我主持的应用程序在我的本地IIS与.net完全信任,但还是得到了:
"The request was aborted: Could not create SSL/TLS secure channel."
我的ip是网络服务器上的白名单。
如果有人能帮助我理解VisualStudio作为管理员运行时为什么会工作,为什么它不能像普通用户那样工作?
只是一个猜测:这可能是一个证书访问错误。
您可以编辑证书的ACL:在MMC中选择证书;上下文菜单;所有任务;管理私钥。
管理员默认在此列表中。这与你描述的行为相符。
普通用户不会有像管理员足够的用户权限:有时在大多数情况下 ,
You can change normal user rights like as administrator if you want.
在这种情况下,我们在谈论什么用户权利?如果它无法像普通用户那样获取证书,那么这将是有意义的,但它确实以普通用户和管理员用户身份找到证书。 为什么不在本地IIS中工作:(? – Mansoor
德克,这使得完美的感觉:) 你的猜测导致我授予MMC中的权限。然后还有另一个问题,我没有“管理私钥”选项。 然后我搜索了那个,我发现了这个技巧[here](http://stackoverflow.com/a/10955915/3233944)。 我的证书位于Trusted文件夹中。我将它拖到个人文件夹,因为管理密钥选项可用于个人。在那里,我添加了IUSR和Everyone来拥有完整的权限,并将证书拖回受信任的根:)它像一个魅力一样工作。 – Mansoor
我很高兴听到这个:-) –