我想知道浏览器在打开HTTPS页面时所做的步骤,以深入理解双方(服务器和客户端)需要完成的每个操作.我知道它的基本步骤,但我想进一步了解细节.我找到的谷歌链接描述了一般信息,但没有描述细节.
有没有我可以阅读相关信息的来源.
我一直在考虑寻找Mozilla Firefox的来源,但之前决定问这里.
谢谢.
HTTPS在RFC 2818中定义.简而言之,浏览器首先建立与服务器的SSL/TLS连接,然后在此连接中发送HTTP请求/响应.
为了建立SSL/TLS通道,客户端启动握手,在此期间服务器发送其X.509证书.除了SSL/TLS握手机制之外,浏览器还根据它拥有的信任锚列表(可信证书)和它尝试访问的名称验证证书(URL中的主机名必须与证书相匹配,如RFC中所定义2818第3.1节).其中大部分通常在SSL/TLS堆栈中实现,但是某些浏览器可以通过添加异常(有时是永久异常)来绕过这一点,因此如果SSL/TLS堆栈无法接受证书,浏览器也会有回退机制成功.
在SSL/TLS协议(及其握手)在所限定的SSLv3,TLS 1.0,1.1和1.2.
使用服务器证书中的服务器公钥,客户端和服务器能够执行经过身份验证的密钥交换,之后它们具有共同的预主密钥.主秘密然后用于加密应用数据的共享对称密钥是从该预主密钥导出的.
用于此经过身份验证的密钥交换的机制取决于密码套件.TLS规范本身有更多细节.
如果您想通过示例学习,那么值得查看Wireshark示例数据(如本答案所示).
" HTTPS连接的前几毫秒 "也应引起关注.
| 归档时间: |
|
| 查看次数: |
1606 次 |
| 最近记录: |