SSL握手过程是HTTPS协议中的一个核心部分,它允许客户端及服务器之间进行身份验证,并确保在数据传输的过程中双方的数据都得到了加密保护。在HTTPS连接成功建立之前,SSL握手过程必须在客户端及服务器之间完成。SSL握手过程是整个HTTPS传输过程的安全基石,确保了传输过程中双方的数据即便被黑客窃取也是加密的。
SSL(Secure Socket Layer)是为了解决互联网应用的保密、完整性、验证等问题而设计的安全协议。对于HTTPS协议来说,它是在HTTP协议的基础上加上一层SSL/TLS协议,确保荷载信息在传输过程中得到安全的保护,防止被中间人窃取、伪造、篡改或者重放攻击和其他一些安全问题。
在HTTPS协议连接建立的过程中,SSL握手是不可或缺的一环。SSL握手可以认为是客户端与服务器之间进行的安全协商过程,也是整个传输过程的安全基石。SSL握手完成后,客户端和服务器之间就可以开始加密传输数据。
SSL握手的过程主要包括以下几个步骤:
1. 客户端发送ClientHello消息
客户端在建立HTTPS连接后,首先发送一个ClientHello消息,该消息包含以下信息:
- SSL/TLS协议版本。
- 支持的加密算法集合。
- 随机数(client_random)。
- 按顺序列表打算访问的服务器名。
2. 服务端响应ServerHello消息
服务器收到客户端的ClientHello消息后,根据客户端发来的协议版本信息和加密算法列表选定适合的这两项,然后发送一个ServerHello消息给客户端,该消息包含以下信息:
- 选定的协议版本。
- 选定的加密算法。
- 随机数(server_random)。
3. 服务端发送证书
服务端向客户端发送自己的数字证书,以供客户端验证确认服务器的身份。证书通常以X.509格式存储。客户端使用数字证书中的公钥,检验这个数字证书是否是可以信赖的。
如果运营商对SSL进行中间人劫持,将会伪造一个数字证书发给客户端,在这个数字证书中,证书公钥对应的所有者会是服务器名,这也是窃取机密信息或者篡改数据的原因之一。
4. 客户端验证证书
客户端收到服务端发送的证书后,按照一定的规则验证证书的合法性,如果验证通过,则开始进行下一步的交互。
5. 客户端发送ClientKeyExchange消息
客戶端发送了一个包括重定向信息、余下消息长度和随机数据的信息。它使用发给服务器的随机数和盐值生成预主密钥,并将加密后的预主密钥发送给服务器。
6. 客户端发送ChangeCipherSpec消息
客户端向服务器发送一个消息告诉服务器自己已经提前完成了所有准备工作,可以开始使用加密通信协定了。
7. 服务端发送ChangeCipherSpec消息
服务器向客户端发送一个消息告诉客户端自己已经也完成了所有准备工作,可以开始使用加密通信协定了。
8. 客户端发送Finished消息
客户端向服务器发送一个Finished消息,该消息包含了一个经过计算的验证数据,用于验证握手过程中是否存在任何修改或篡改。
9. 服务端发送Finished消息
服务端向客户端发送一个Finished消息,该消息包含了一个经过计算的验证数据,用于验证握手过程中是否存在任何修改或篡改。
当以上几步完成后,SSL握手过程就完成了。此时,客户端和服务器之间的连接是加密的,所有传输的数据都受到加密保护。
SSL握手过程是HTTPS协议的重要组成部分,可以认为是客户端与服务器之间的安全协商过程。在SSL握手完成后,客户端和服务器之间可以开始安全传输数据。因此,SSL握手过程对于保障HTTPS连接的安全性具有至关重要的作用,完整性,隐私性和可靠性。
互亿无线竭力为您提供全面的SSL证书解决方案,保障您网站的安全与信任。我们呈现丰富多样的SSL证书类型,如DV(域名验证)、OV(组织验证)和EV(扩展验证)证书,满足您各类安全需求。我们提供全面的证书类型,涵盖单域名、多域名以及通配符证书。以便适应您的网站架构需求。我们与全球证书品牌,如Globalsign、DigiCert、GeoTrust、vTrus、COMODO等建立了密切的合作关系,确保您获得高品质的SSL证书。
![]() |
一站式SSL证书购买方案 |
![]() |
享受快速签发的SSL证书服务 |
![]() |
我们提供高性价比的SSL证书价格方案 |
![]() |
提供全方位的SSL证书服务 |
问:OV SSL证书是什么?
答:OVSSL是OrganizationValidationSSL的缩写,是指需要验证网站所有单位真实身份的标准SSL证书,即正常的SSL证书,不仅可以加密网站机密信息,还可以向用户证明网站的真实身份。因此,建议在所有电子商务网站上使用,因为电子商务更需要在线信任和在线安全。
问:如何创建SSL证书?
答:1:先下载安装Java2:安装完毕后,根据实际路径找到keytool.exe,如我在这里的路径:C:\ProgramFiles(x86)\Java\jdk1.8.0_101\bin\keytool.exe3:生成keystore。打开命令行。(cmd),去keytool所在的路径,运行keytool-genkey-aliastomcat-stopePKCS12-keyalgRSA-2048年-keystored:\mykeystore\keystore.validity365-extsan=ip:192.168.100.132-dname"CN=garyyan,OU=mycompany,O=mycompany,L=gd,ST=gd,C=china“此命令中间只需输入密码即可生成keystore,假设密码为:123456其中:1)keystore可以理解为一个数据库,可以存储多组数据。每组数据主要包括以下两种数据:a:密钥实体(Keyentity)——密钥(secretkey)或私钥和配对公钥(不对称加密)b:可信的证书实体(trustedcertificateentries)——只包含公钥2)-keystored:\mykeystore\keystore.p12,指定在d:\mykeystore(首先,手动创建此文件夹),生成keystore:keystore.p123)-aliastomcat,指示keystore中唯一的别名:tomcat,因为keystore中可能还有其他的别名,比如:tomcat24)-storePKCS12指示密钥仓库类型为PKCS125)-keyalgRSA,指定加密算法,本例采用通用RAS加密算法6)-keysize2048指定密钥的长度为20487)-validity3650指定证书有效期为3650天8)-extsan=ip:请根据您的服务器IP地址设置192.168.100.132,如果不设置,客户端在访问时可能会报错9)-dname“CN=garyyan,OU=mycompany,O=mycompany,L=gd,ST=gd,C=china”其中:”CN=(姓名与姓氏),OU=(组织单位名称),O=(组织名称),L=(城市或区域名称),ST=(州或省名),C=(单位两字母国家代码)”,我在测试过程中发现随便填就行了4:导出公钥证书(主要用于客户端):运行命令:keytool-export-keystored:\mykeystore\keystore.p12-aliastomcat-filemycer.cer-storepass123466其中:1)-keystored:\mykeystore\keystore.P12是指上面的keystore文件2)-aliastomcat是指定别名为tomcat的组3)-filemycer.当前目录生成的cer指定为mycer.cer证书4)-storepass123456是生成keystore所用的密码
问:SSL证书是什么意思?
答:SSL证书,又称SSL服务器证书,是一种遵守SSL协议的数字证书,由全球信任的证书颁发机构颁发(CA)验证服务器身份后,在网站服务器上安装SSL证书,激活挂锁和https协议。SSL证书解决了网民登录网站的信任问题,网民可以轻松识别网站是否受到保护和安全。安装在Web服务器上的SSL证书可提供两个功能:1、验证网站的身份(这样可以保证访问者不会在虚假网站上)2、正在加密传输的数据*与SSL证书绑定的信息有:*1、域名、服务器名称或主机名。2、组织身份(即公司名称)和位置。
验证码已发送到您的手机,请查收!
输入验证码后,点击“开通体验账户”按钮可立即开通体验账户。