从链中删除自签名根证书是否安全?如果有的话,这样做的后果是什么?
我该如何在 Windows 设置中执行此操作?“手动更新本地证书“这表明删除 DST Root CA X3链中的证书适用于非 Windows 设置。
这是我找到问题的方法:我在我的域名上运行了 SSL 测试https://www.filmfix.com使用https://www.ssllabs.com:
我用https://github.com/do-know/Crypt-LE获取我的通配符 Let's Encrypt 证书并运行 Apache 来处理所有 :443 调用。
经过一番挖掘,我找到了一种删除该证书的方法,但该链不知何故仍然列出。
从 Windows 中删除 DST Root CA X3
我继续certmgr.msc
检查
URLsupport.microsoft.com/?id=293781不起作用;但我找到了这个相关页面https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/trusted-root-certificates-are-required找不到提及DST 根 CA X3因此我删除了证书并重新启动了 Windows。
我重新生成了 Let's Encrypt 通配符证书并重新启动了 Apache。现在正在测试https://www.ssllabs.com看起来我 SSLDST 根 CA X3问题不再存在。
我测试过https://www.immuniweb.com并得到了A+!并找到了这个有用的提示:
该服务器未配置为支持其 RSA 证书的 OCSP 装订,因此无法更好地验证证书验证状态。请重新配置或升级您的 Web 服务器以启用 OCSP 装订。
但我CN = DST Root CA X3
运行时仍然能看到链条。
C:\64bit\Apache24\bin>openssl s_client -connect www.filmfix.com:443 -status -servername www.filmfix.com
CONNECTED(000001B0)
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = *.filmfix.com
verify return:1
OCSP response: no response sent
---
Certificate chain
0 s:CN = *.filmfix.com
i:C = US, O = Let's Encrypt, CN = R3
1 s:C = US, O = Let's Encrypt, CN = R3
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
2 s:C = US, O = Internet Security Research Group, CN = ISRG Root X1
i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
我是否需要删除 openssl 的任何ssl.pem
或ssl.csr
文件来重新生成文件来更新链?
答案1
不要如果您有这种问题,请弄乱您的系统管理信任存储。
ssllabs 警告来自 Qualys 工具自己的信任存储,因此您可以随意删除、更改和破坏本地信任存储,但这不会改变任何东西。
您看到这种情况的原因很可能是因为当 Let's Encrypt 过渡到新的 X1 根时,服务器正在发送专为兼容性而设计的交叉签名 X1 根,而新的 X1 根可能尚未部署到所有地方。有点像 2015 年开始运营时 IdenTrust 对其进行交叉签名的方式。
目前没有理由继续在您的服务器链中提供交叉签名的 X1 根,因为它会带来比它解决的问题更多的问题。