怎么样确定A得到的所谓B的公钥,的确是B的公钥,比如通过CA的签名具体机制( 二 )


■网友
随机数是为了防止中间人攻击吧。验证证书当然要用签发CA的公钥对证书验签(就是对其中的签名进行解密),依次类推,直到Root CA,Root CA是PKI体系中的权威,其证书是内嵌在系统中的,如HTTPS中的服务端身份验证使用浏览器中设的Root CA的证书
■网友
1. 是通过CA来确认身份的2. 随机数用于防止重放攻击比如, 第一次你向gmail请求邮件, gmail用它的签名正确的回复了你和你建立了通信. 此时, 我作为中间人, 并没有攻击的可能, 但我可以转换思路, 变成监听(听到的是密文, 无法破译). 下次, 你再登陆gmail, 我把上次抓到的你们的通信包原样回复给你(虽然我不知道包里是啥, 但如果你如果是和上次发一样的请求, 不含随机数的话, 服务器肯定给相同的回复), 你就会以为你真的连上了gmail, 从而把用户密码泄露了, 一旦加入了随机数, 这几乎就不可能了, 一般来说这个随机数很大(\u0026gt;= 256位)...
■网友
CA作为一个证书授权机构,首先需要让其他人信任自己,所以给自己颁发了证书,然后需要认证的机构需要得到CA的证书,用来解密CA发给他的公钥,CA会把需要认证的机构发来的证书做数字签名,大概就相当于盖了个章,说明这家机构有我的章,这样其他人就知道对方是不是可信了随机数是身份认证后用来加密的吧,身份确认完成后,需要生成一段随机数作为对称密钥的key,然后, 用这个key加密实际数据和hash值,用对方公钥加密刚刚那个key,打包发送给对方,这就是PKI


推荐阅读