关于证书与公钥的疑惑

Ranger
  • 47

1.如何从“公钥证书”中提取中“公钥”?

我的理解是,应该有一个“CA”来签发“公钥证书”,然后可以使用“CA的公钥”来解密“公钥证书”,从而得到“公钥”。不知道我理解的对不对。

2.若我上面理解的是正确的话,那么,当我使用类似OpenSSL这样的工具来自签发“公钥证书”的话,我如何能从“公钥证书”中提取中“公钥”?

是说OpenSSL持有“某个CA私钥”,然后使用“该CA公钥”来解密;还是说“证书”(或“自签发证书”)里面的公钥实际上就是明文的?

3-1.我看到一些介绍说,OS中会装好很多完全可信的CA机构的根证书,用户在访问https协议的站点时,会根据该网站证书的实际签发机构,来使用“该机构的根证书”,从中取出该机构的“公钥”,来对网站进行验证。

那么还是那个问题,OS中的“CA根证书”中的“CA公钥”是如何取出来的?是又有一把“私钥”对其加密了,然后OS使用“对应的公钥”来解密“CA根证书”,从而解出“CA公钥”;还是说“证书”(或“自签发证书”)里面的公钥实际上就是明文的?

3-2.我看到OS里面装的那些“CA根证书”都是有有效期的,那么假如有一台机器,使用很多年了,还能正常运行,当里面的所有“CA根证书”都过期了,该怎么办?


以上是我查找资料,对数字证书理解的一些疑惑,希望有人能帮我梳理一下,谢谢!

回复
阅读 4.3k
1 个回答
mokeyWie
  • 2.4k
  1. 关于公钥证书没有这个说法吧,只是CA签发的SSL证书里会包含公钥。
  2. 公钥就是明文存储在SSL证书里面的
  3. CA根证书的公钥也是存在证书里面的,不需要解密出来。
  4. 当证书有效期过了之后,浏览器就会提示证书不安全然后无法访问网站。

可以打开证书看的到
clipboard.png
在使用私钥生成证书的时候,公钥就会存在证书里面。

宣传栏