环境描述
Win7环境 IIS 部署站点,导入OpenSSL证书,网站访问出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH报错信息
错误分析
这种错误通常表示客户端和服务器之间存在协议版本或加密套件不兼容导致在SSL(Secure Socket Layer)
1.协议版本不兼容:客户端和服务器可能支持不同版本的 SSL 协议,导致协议版本不匹配。
2.加密套件不匹配:客户端和服务器可能支持不同的加密套件,导致加密套件不匹配。例如,如果客户端只支持使用 AES 加密算法,而服务器只支持使用 RC4 加密算法,则它们无法协商一种相同的加密套件。
3.协议配置不正确:客户端和服务器的 SSL 协议配置可能不正确,例如使用不安全的协议版本或加密套件,导致连接失败
解决方案记录
1.1 尝试使用Internet选项设置(×)
结论:设置并重启计算机,无效
参考:https://blog.csdn.net/weixin_44069543/article/details/139757220
- 使用Windows搜索栏并键入Internet选项。
- 选择Internet选项。
- 将出现“Internet属性”对话框。打开“高级”选项卡。
- 您将看到一个带有复选框列表的框。向下滚动,直到找到使用TLS项目。
- 检查所有TLS版本,然后单击“确定”。
- 重新启动Chrome以使新设置生效。
1.2 注册表配置 (×)
结论:设置并重启计算机后,依旧无效。部分人有效
参考: https://blog.csdn.net/weixin_43372364/article/details/135970168
启用TLS 1.2
#查询
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"
#添加client
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v "Enabled" /t REG_DWORD /d "1" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v "DisabledByDefault" /t REG_DWORD /d "0" /f
#添加Server
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v "Enabled" /t REG_DWORD /d "1" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v "DisabledByDefault" /t REG_DWORD /d "0" /f
1.3 IISCrypto软件安装与配置 (√)
结论:好像有效,方案二手动改注册表,可能没成功。该方案是用软件改。
参考:https://blog.csdn.net/weixin_40169642/article/details/121851708
官方网站地址:https://www.nartac.com/Products/IISCrypto/
下载地址:https://www.nartac.com/Products/IISCrypto/Download
下载地址:window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全
1.4 证书重新绑定
在第三步骤后,尝试访问过网页,然而仍然有报错,此时IIS配置重新绑定证书。然后访问就好了。
备忘录
如果win7导入证书出现密码错误(密码输入正确的情况),可能是该证书不适配,需要将openssl算法设置为PBE-SHA1-3DES。
参考:https://www.cnblogs.com/leonlipfsj/p/18682563
openssl pkcs12 -macalg SHA1 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -out demo.pfx -inkey private.key -in demo_cert.crt
比较详细的描述如何排查问题,以及解决方案
在chrome浏览器上如何修复ERR_SSL_VERSION_OR_CIPHER_MISMATCH:https://www.cnblogs.com/yzbg/articles/17323611.html