https
Https身份验证过程
服务器生成一对密钥,私钥自己保存,公钥交给数字证书颁发机构。
CA使用CA自己的私钥审核并签署服务器提供的公钥,以生成数字证书。
将生成的数字证书部署到web服务器
客户端在https中建立连接时,需要先从服务器获取数字证书,在本地找到数字证书颁发机构的公钥(根证书)对数字证书进行验证,比较一致,说明数字证书确实是CA颁发的(这个结论的前提是客户端的CA的公钥确实是CA的公钥,即, CA的公钥和CA签署服务器提供的公钥的私钥确实是一对。 ),而CA作为权威机构,保证公钥确实是服务器提供的,这样就可以确认证书中的公钥确实是合法服务器提供的。
注意:为了保证第4步中提到的前提条件,CA的公钥必须安全地传递给客户端* *(首先必须在客户端安装CA根证书)* *,因此,CA的公钥一般由浏览器开发者内置在浏览器或操作系统中。因此,这一前提条件基本保证在各种信任机制中得以建立。
Https完整的通信过程
HTTPS在传播过程中涉及三个关键:
服务器的公钥和私钥用于非对称加密。
客户端为对称加密生成的随机密钥。
一个HTTPS请求实际上包含两个HTTP传输,可以细分为八个步骤。
1.客户端向服务器发送HTTPS请求,并连接到服务器的端口443。
2.服务器端有一个密钥对,即公钥和私钥,用于非对称加密。服务器端持有私钥,不能泄露,公钥可以发给任何人。
3.服务器将其公钥发送给客户端。
4.从服务器收到证书后,客户端将检查证书以验证其有效性。如果证书有问题,HTTPS传输将无法继续。严格来说,这应该是为了验证服务器发送的数字证书的有效性。如果公钥是合格的,那么客户端将生成一个随机值,这是用于对称加密的密钥。我们将这个密钥称为客户端密钥,也就是客户端密钥,因此从概念上很容易将其与服务器密钥区分开来。然后,用服务器的公钥对客户端密钥进行非对称加密,使客户端密钥变成密文。至此,HTTPS的第一个HTTP请求结束。
5.客户端将在HTTPS发起第二个HTTP请求,并将加密的客户端密钥发送给服务器。
6.服务器收到客户端发送的密文后,会用自己的私钥进行非对称解密。解密后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,使数据变成密文。
7.然后服务器将加密后的密文发送给客户端。
8.客户端接收服务器发送的密文,用客户端密钥对称解密,得到服务器发送的数据。这样,HTTPS的第二个HTTP请求结束,整个HTTPS传输完成。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/77299.html