老板问了我一个问题,实际上我找不到任何连贯/全面的答案!
因此,我求助于您,StackOverflow的智慧和无所不知的集体:)
当前的问题是“.NET是否支持传输层安全版本1.1或1.2?”谷歌在这个问题上几乎毫无用处,而且那里的文档严重缺乏。
在这方面的任何帮助都将非常感谢。
谢谢你,克林特
发布于 2011-10-03 17:10:30
Windows7已经添加了对TLS1.1和1.2的支持,我的理解是.NET依赖于Windows的SChannel来支持TLS1.1和1.2。所以我认为你的问题的答案是“取决于操作系统”。
现在你应该记得,大多数网站都是由旧版本的OpenSSL和其他库驱动的,这些库不仅不支持TLS1.1和1.2,而且如果从客户端收到TLS1.1支持的指示,就会立即关闭连接。换句话说,如果您在客户端启用了TLS1.1支持,您将无法连接到某些服务器。
Upd:忘记提到您可以使用第三方SSL/TLS实现(例如,在您的.NET应用程序中获得TLS1.x支持。
发布于 2011-10-03 17:06:37
这里有一些你可以开始记录自己的地方:
Transport Security with Certificate Authentication
本主题讨论在使用传输安全性时使用X.509证书进行服务器和客户端身份验证。有关X.509证书的详细信息,请参阅X.509公钥证书。证书必须由证书颁发机构颁发,该颁发机构通常是证书的第三方颁发者。在Windows Server域上,Active Directory证书服务可用于向域中的客户端计算机颁发证书。有关详细信息,请参阅Windows2008 R2证书服务。在此方案中,服务驻留在配置了安全套接字层(SSL)的Internet信息服务(IIS)下。该服务配置了SSL (X.509)证书,以允许客户端验证服务器的身份。客户端还配置了X.509证书,该证书允许服务验证客户端的身份。服务器的证书必须由客户端信任,客户端的证书必须由服务器信任。服务和客户端如何验证彼此的身份的实际机制超出了本主题的范围。有关详细信息,请参阅维基百科上的数字签名。
SslStream Class
...如果服务器需要客户端身份验证,则客户端必须指定一个或多个用于身份验证的证书。如果客户端有多个证书,则客户端可以提供LocalCertificateSelectionCallback委派,以便为服务器选择正确的证书。客户端的证书必须位于当前用户的“我的”证书存储中。Ssl2 (SSL第2版)协议不支持通过证书进行客户端身份验证。...
发布于 2011-10-03 17:10:47
它既可以支持,也可以支持;支持来自底层的IIS,而不是.NET。
有关如何启用TLS1.2的详细信息,请参阅此处:http://support.microsoft.com/kb/245030。请注意,目前只有少数浏览器支持它。
https://stackoverflow.com/questions/7632716
复制相似问题