如何知道证书的合法性?
首先操作系统自带颁发机构,假设只有[a,b,c,d,e,f,g,h,i,j],操作系统自带这些机构的公钥.
如果证书颁发机构是z,首先从操作系统自带的颁发机构中找,没有z,说明这个证书的颁发机构z是个水货.
如果证书的颁发机构是a,那么就可以取出a的公钥,
用a的公钥对这个证书加密过的"指纹和指纹算法"进行解密,
(证书的颁发机构a在颁发证书时,会用它的私钥对证书的指纹和指纹算法进行加密)
得到真正的指纹(其实是一个hash值)和指纹算法,浏览器然后用指纹算法对整个证书求hash,如果这个hash和指纹对得上,说明这个证书没毛病.
http://www.360doc.com/content/13/0809/14/1073512_305848184.shtml