证书颁发机构应该验证一个网站是否真的是他们所说的,对吧。但是证书颁发机构在那里签署自己的证书。所以这些证书是自签名的。有没有办法可以查明他们在其网站上使用的自签名证书是否信誉良好且值得信赖?
3 回答
您必须信任颁发证书的 CA。否则,我们会遇到经典的鸡蛋问题,其中没有信任和确定性的具体边界。
一旦您信任 CA 颁发者,您可以通过在命令行上编写以下内容来检查您拥有的证书是否实际上是由相关 CA 颁发的:
$ openssl verify -verbose -CAfile cacert.pem server.crt
预期输出:server.crt: OK
如果您收到任何其他消息,则证书不是由该 CA 颁发的。
不,你只是相信他们!最常见的方法是随波逐流……例如,从浏览器中提取它们(http://curl.haxx.se/docs/caextract.html)。我们总是假设浏览器正在为我们验证它......以及操作系统......
有没有办法 [您] 可以查明他们在其网站上使用的自签名证书是否信誉良好且值得信赖?
您可以自己研究证书颁发机构。
有些人可能不信任证书颁发机构,包括 Google。谷歌在 2016 年 5 月发布了一份他们不信任的权威名单:
https://www.theregister.co.uk/2016/03/23/google_now_publishing_a_list_of_cas_it_doesnt_trust/
您要么必须相信您的工具(Web 浏览器等)附带的预安装证书受到这些工具的生产者的信任,要么您可以做一些研究,看看您自己是否真的信任它们。这基本上就像问你如何信任任何人或任何事情。我可以信任你吗?
我相信随我的浏览器一起安装的 CA,因为好吧,如果我不能信任它们,那么我们都会遇到问题,而且这个问题比我更大。我认为问这样的问题很好,我想知道除了谷歌之外是否有人在质疑证书颁发机构。