SSL握手过程客户端如何验证服务端证书真伪?

发布于 2022-09-04 05:33:17 字数 538 浏览 17 评论 0

刚在阅读大神阮一峰的一片博文时,看到如下说明
原文链接http://www.ruanyifeng.com/blo...

【爱丽丝:客户端】
【鲍勃:服务端】
第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
第二步,鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
第三步,爱丽丝确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。
第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。
第五步,爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。

问题:在第三步的时候,爱丽丝凭什么确认数字证书有效?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷爱 2022-09-11 05:33:18

客户端会有一个有效证书串,一般的浏览器都会内置很多常见服务器的这个证书,特殊的服务器就需要前期通过手工将证书添加到客户端。客户端通过比对来确认证书的有效性

恬淡成诗 2022-09-11 05:33:18

我在补充一下:浏览器会内置一些著名的签发证书的机构的证书,也就是这些机构的公钥。当收到服务端的证书后,这个证书要么是这些机构签发的,要么是这些机构认证的的下级机构签发,这样的级数可以有很多层,服务器的证书会是一个证书链,可以一级一级验证,直到用内置的公钥验证成功。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文