数字证书及公钥、私钥

用户在访问一个网站的时候,用户不知道这个网站是合法网站还是钓鱼网站,但是浏览器会弹出提醒用户,意思就是说有可能是一个钓鱼网站,问主人是否继续访问。如果用户点击“允许”,那么就说明即使访问到了钓鱼网站造成了损失,这个锅是由用户自己承担的。

这样即使访问正常的网站,也会一直提醒,好麻烦呀。有没有解决办法呢,答案是有的。当用户访问的时候,这个服务器底层完成给浏览器显示自己合法的证明材料,这个证明材料即使数字证书。

怎么申请数字证书呢?首先这个合法的网站用自己的私钥去生成公钥,然后将自己的公钥发送给一个受信任的机构,让这个机构核实信息之后颁发一个数字证书,同时附上这个机构的相关信息,就类似于人出生之后需要去*局备案由*局颁发身份证。之后对应的使用者就可以拿到这个数字证书公钥,以后每次访问的时候就不需要再点击认证了。

数字证书及公钥、私钥

在https使用中认证流程:

1、服务器生成一对**,私钥自己留着,公钥交给数字证书认证机构(CA)
2、CA进行审核,并用CA自己的私钥对服务器提供的公钥进行签名生成数字证书
3、在https建立连接时,客户端从服务器获取数字证书,用CA的公钥(根证书)对数字证书进行验证,比对一致,说明该数字证书确实是CA颁发的(得此结论有一个前提就是:客户端的CA公钥确实是CA的公钥,即该CA的公钥与CA对服务器提供的公钥进行签名的私钥确实是一对。),而CA又作为权威机构保证该公钥的确是服务器端提供的,从而可以确认该证书中的公钥确实是合法服务器端提供的。

之后,在访问的时候,浏览器底层就可以完成自动验证,不需要再弹出“允许”的验证了。