我被老板问了一个问题,实际上我找不到任何一致的/全面的答案!
所以我转向你,StackOverflow的明智和全知的集体:)
当天的问题是“.NET是否支持传输层安全版本1.1或1.2?”谷歌在这个问题上几乎没用,而且那里的文档严重缺乏。
对此的任何帮助将不胜感激。
谢谢你, 奇
答案 0 :(得分:2)
Windows 7中添加了TLS 1.1和1.2支持,我的理解是.NET依赖于Windows的SChannel支持TLS。所以我认为你的问题的答案是“取决于操作系统”。
现在您应该记住,大多数站点都是由较旧版本的OpenSSL和其他库提供支持,这些库不仅不支持TLS 1.1和1.2,而且如果它们从客户端收到TLS 1.1支持的指示,则会立即关闭连接。换句话说,如果在客户端中启用TLS 1.1支持,则无法连接到某些服务器。
Upd:忘了提及您可以使用第三方SSL / TLS实现(例如我们的SecureBlackbox产品中的那个)来获得.NET应用程序中的TLS 1.x支持。
答案 1 :(得分:1)
这里有一些你可以开始记录自己的地方:
Transport Security with Certificate Authentication
本主题讨论对服务器和客户端使用X.509证书 使用传输安全时的身份验证欲获得更多信息 关于X.509证书,请参阅X.509公钥证书。 证书必须由证书颁发机构颁发,证书颁发机构通常是 第三方证书颁发者。在Windows Server域上, 可以使用Active Directory证书服务进行发布 证书到域上的客户端计算机。欲获得更多信息 请参阅Windows 2008 R2证书服务。在这种情况下, 服务托管在Internet Information Services(IIS)下 配置安全套接字层(SSL)。该服务已配置 使用SSL(X.509)证书以允许客户端验证 服务器的身份。客户端还配置了X.509 证书,允许服务验证的身份 客户。客户端和服务器必须信任服务器的证书 客户端的证书必须由服务器信任。实际上 服务和客户如何验证彼此身份的机制 超出了本主题的范围。有关更多信息,请参阅Digital 在维基百科上签名。
...如果服务器需要客户端身份验证,则客户端必须 指定一个或多个证书进行身份验证。如果客户有 不止一个证书,客户端可以提供 LocalCertificateSelectionCallback委托选择正确的 服务器的证书。必须找到客户的证书 在当前用户的“我的”证书存储区中。客户端验证 Ssl2(SSL版本2)不支持通过证书 协议。 ...
答案 2 :(得分:1)
它可以支持;支持来自底层的IIS,而不是.NET。
有关如何启用TLS 1.2的详细信息,请参阅此处:http://support.microsoft.com/kb/245030。请注意,目前只有少数浏览器支持它。