A访问"www.google.com",当A的浏览器打开网址时,会下载网站下发的数字证书,
下发数字证书包括:
证书内容F,加密算法SHA(数字证书签名hash加密算法),证书签名F'
“www.google.com”生成证书过程:
首先"www.google.com"将证书F通过SHA哈希算法F生成hash1摘要,在通过自己注册的CA中心获取一个私钥,CA中心的数据是可信的
在将摘要hash1通过私钥非对称加密生成证书签名F’。
A校验数字证书过程:
A通获取到F,SHA加密算法,数字签名F‘,A首先通过将F通过SHA哈希运算生成hash1,再从自己浏览器上一级CA中心获取证书公钥,
然后对数字签名F’进行解密,获得hash2,如果hash1==hash2,就说明证书有效。
这里重点是通过CA中心获取可信的公钥,验证签名是否与获得的证书内容相符,当然CA中心获取的内容也是一次加解密过程。
但是CA中心也存在不靠谱的行为,比如中国CNNIC已经被google全线吊销其CA认证。