首页 > 代码库 > 浏览器如何验证服务器数字证书?

浏览器如何验证服务器数字证书?

1.验证证书的真伪
当浏览器拿到一个数字证书,先看发证机关,然后找到相应的发证机关的证书,获得发证机关的公钥

,用此公钥解密被加密的MD5,这样就获得了此证书的MD5值,称它为Hash1。然后浏览器用MD5算法对

此证书重新计算一遍MD5,获得Hash2。然后比较Hash1和Hash2是否相等。如果相等就证明这张证书是

由发证机关颁发的,并且没有被篡改过.
2.验证持有者的真伪
核对持有证书人的身份。这就要依赖证书里面包含的公钥。此公钥是这张证书所有者的公钥(注意,

这里指的是所有者,而不是持有者!),用此公钥加密一段信息发送给证书的持有者,如果持有者能

发送回(可以是被私钥加密,也可以是明文,没有关系)被加密的这段信息的话就证明该持有者拥有

该证书对应的私钥,也就是说,该持有者就是该证书的所有者。
(接收者收到用公钥加密的信息,能用私钥解密发回或用私钥加密后发回)
3.验证证书所有者的姓名

证书中所有者的名字与认证中心(CA)登记的(Common Name)姓名是否一样

浏览器如何验证服务器数字证书?