数字证书是Https实现安全传输的基础,它是由权威的CA机构颁发的,证书的主要内容有:公钥(Public Key)、ISSUER(证书的发布机构)、Subject(证书持有者)、证书有效期、签名算法、指纹及指纹算法
在网络中,要想实现自己的数据能够安全地传输,就必须向权威的CA机构申请数字证书,有了数字证书就相当于有了一把安全秘钥,这里先认识一下证书是长啥样的,之后再解析证书是如何进行安全认证的
下面是****博客的证书内容:
可以看到公钥是一串很长的2048 Bits的字符串,同时也可以看到<使用者>的内容包含了****.net网址,在后面验证URL链接是否正确的时候用到,还有颁发者、有效期、签名算法等等。当然还有指纹及指纹算法等其他内容,我们滚动到下面看看另一个截图
上面展示了****网站的CA证书内容,颁发者是GeoTrust,它就是传说中的权威的CA机构了。这里特别说明一下,CA机构除了给别人颁发证书以外,它也有自己的证书,这个证书是机构自己颁发给自己的,为了区分我们称它为根证书,根证书也有自己的公钥和私钥,在本文中我们称之为根公钥和根私钥,根公钥和加密算法是对外公布的,而根私钥是CA机构自己绝对保密的。这个根证书在验证证书的过程中起着核心的作用
哪里可以看到机构的根证书呢?
在受信任的根证书颁发机构中我们看到一系列的CA机构,如上面****的证书的颁发者GeoTrust机构也在其中,这些权威机构的根证书都是浏览器预先嵌入到其系统中的,点开看看GeoTrust的根证书,可以发现颁发者和使用者都是一样的,其中里面的公钥就是根公钥,在验证数字证书的时候非常关键