使用TLS 1.2的自签名证书

3

我在传输层安全方面是个新手,请多包涵...

我有一些使用selfssl.exe创建的自签名证书来测试本地https网站应用程序。公司最近向所有计算机推送了新规则,禁止浏览器加载除TLS 1.2之外的任何其他协议版本的https网站。但是,如果TLS 1.0未启用,则我的浏览器在加载本地托管的测试内容时会出现证书错误。是否有可能生成自签名证书,使其在仅启用TLS 1.2的情况下与我的浏览器兼容?

我正在使用Windows 7 64位及IIS 7.5,并且使用各种浏览器进行测试(IE 11、Firefox 46和Chrome 50)。


你能包含具体的错误信息吗? - user2797321
根据浏览器而定,但它们都很相似。例如,Chrome 给出了这个错误:“客户端和服务器不支持公共 SSL 协议版本或密码套件。这可能是由于服务器需要 RC4,而 RC4 不再被认为是安全的。”有道理;如果我启用 TLS 1.0 协议,我就可以浏览该网站。但我不知道如何“强制”我的应用程序使用 TLS 1.2 协议。 - Kevin Herrick
你尝试过使用OpenSSL创建自签名证书吗? - user2797321
2个回答

5
不,这是不可能的。
SSL/TLS在所有版本中都使用x509数字证书。TLS版本之间的区别在于协议规则,而不是证书。
通常当使用的协议较旧(被视为不够安全)或证书不受信任时,浏览器会发出警告。

2
最终弄清楚了。答案有点愚蠢...
在Windows 7 / Windows Server 2008 R2上,TLS 1.2协议已安装,但默认情况下被禁用。当Big Brother推动所有人使用TLS 1.2时,他们使用SCHANNEL注册表项进行了设置,但他们没有创建"DisabledByDefault"条目并将其设置为"0",因此破坏了域中所有Windows 7用户的安全性。
因此,如果要使用注册表修改来将用户切换到TLS 1.2,请确保遵循Microsoft的说明,并记得在TLS 1.2 SCHANNEL键中创建"DisabledByDefault"条目。 :-)

https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn786418(v=ws.11)


1
你问题的真正答案是TLS/SSL与自签名证书无关。这两个东西交叉但不紧密相连。你可以有自签名证书或任何证书。如果没有被某个机构签署,浏览器可能会发出警告。你可以选择信任此证书,浏览器将不再发出警告。换句话说,在配置中,证书与IIS/浏览器相关。TLS-Registry。 - T.S.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接