这一过程称为证书链验证,确保服务器证书的可信任性。 证书有效期检查 客户端会验证证书的有效期,确保证书尚未过期。如果证书已经过期,客户端将不予信任。...客户端在握手开始时生成预主密钥,并将其发送给服务器。预主密钥不会直接用于加密数据,而是通过协商生成最终的会话密钥。...会话密钥(Session Key): 会话密钥是在 SSL 握手过程中双方根据预主密钥和其他信息协商生成的对称密钥,用于加密和解密通信数据。...会话密钥只在当前会话期间有效,通常保存在客户端和服务器端,用于加密数据传输。一旦会话结束,会话密钥通常会被丢弃,以确保下次通信时使用一个新的会话密钥。...HTTPS(Hypertext Transfer Protocol Secure)的工作原理主要基于SSL/TLS协议,其关键步骤包括: 握手阶段 客户端发起与服务器的连接请求,服务器会返回其SSL证书
协议不受支持 客户端和服务器不支持一般 SSL 协议版本或加密套件 用火狐浏览器打开网站却提示如下错误: 连接到 www.huichengff.com 时发生错误。...错误代码:SSL_ERROR_NO_CYPHER_OVERLAP 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。 建议向此网站的管理员反馈这个问题。...也有人说是因为我用的Let’s Encrypt平台的SSL证书,是平台域名列表还没有更新的问题,但是已经过了近24小时了,还是出现这个问题。...那是因为:免费版百度云加速是不支持SSL的,也就是说免费版百度云加速是不支持HTTPS的,哪怕是你自己想上传自己的证书也不可以。...最后: 由于我网站想做HTTPS,又想用CDN,我目前计划于用360网站卫士,因为360网站卫士可以上传自己的SSL证书。
建立之上的还有: 更改密码说明协议:此协议由一条消息组成,可由客户端或服务器发送,通知接收方后面的记录将被新协商的密码说明和密钥保护;接收方获得此消息后,立即指示记录层把即将读状态变成当前读状态;发送方发送此消息后...警告消息有以下几种: 关闭通知消息、意外消息、错误记录MAC消息、解压失败消息、握手失败消息、无证书消息、错误证书消息、不支持的证书消息、证书撤回消息、证书过期消息、证书未知和参数非法消息等。...2)握手协议 SSL握手协议握手协议是用来在客户端和服务端传输应用数据而数据建立的安全通信机制。 算法协商:首次通信时,双方通过握手协议协商密钥加密算法、数据加密算法和文摘算法。...身份验证:在密钥协商完成后,客户端与服务器端通过证书互相验证对方的身份。...SSL协议的三个特征: 1)保密:在握手协议中定义了会话密钥后,所有的消息都被加密。 2)鉴别:在可选的客户端认证,和强制的服务器端认证。 3)传送的消息包括消息完整性检查(使用MAC)。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。...SSL握手详细过程: 一、客户端发出加密通信请求ClientHello 提供: 1,协议版本(如TSL1.0) 2,随机数1(用于生成对话密钥) 3,支持的加密方法(如RSA公钥加密) 4,支持的压缩方法...) 5,(可选)要求客户端提供证书的请求 三、客户端验证证书 如果证书不是可信机构颁布,或证书域名与实际域名不符,或者证书已经过期,就会向访问者显示一个警告,是否继续通信 四、客户端回应 证书没有问题...,客户端握手结束通知 五、双方生成会话密钥 双方同时有了三个随机数,接着就用事先商定的加密方法,各自生成同一把“会话密钥” 服务器端用自己的私钥(非对称加密的)获取第三个随机数,会计算生成本次所用的会话密钥...(对称加密的密钥),如果前一步要求客户端证书,会在这一步验证 六、服务器最后响应 服务器生成会话密钥后,向客户端发送: 1,编码改变通知(后面的信息都用双方的加密方法和密钥来发送) 2,服务器握手结束通知
$ssl_curve 返回用于 SSL 握手密钥交换过程 (1.21.5) 的协商曲线。已知曲线按名称列出,未知曲线以十六进制显示。仅当使用 OpenSSL 3.0 或更高版本时才支持该变量。...$ssl_curves 回客户端 (1.11.7) 支持的曲线列表。已知曲线按名称列出,未知曲线以十六进制显示。仅当使用 OpenSSL 1.0.2 或更高版本时才支持该变量。...该变量仅适用于新会话。 $ssl_early_data 如果使用 TLS 1.3 早期数据并且握手未完成,则返回“1”,否则返回“”(1.15.3)。...$ssl_session_id 返回已建立 SSL 连接的会话标识符。 $ssl_session_reused 如果 SSL 会话被重用,则返回“r”,或否则返回“.”(1.5.11)。...设置 ssl_session_timeout 指定客户端可以重用会话参数的时间,也就是上面那个缓存的过期时间,这里设置的是 10 分钟。
握手层的这些协议用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。 SSL握手协议的作用是协调客户和服务器的状态,使双方能够达到状态的同步。...该阶段分为4步: 证书:服务器将数字证书和到根CA整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器。...该阶段分为3步: 证书(可选):为了对服务器证明自身,客户要发送一个证书信息,这是可选的,在IIS中可以配置强制客户端证书认证。...图:SSL建立第四阶段报文交换示意图 客户机启动SSL握手第4阶段,使服务器结束。该阶段分为4步,前2个消息来自客户机,后2个消息来自服务器。...SSL会话恢复: 会话恢复是指只要客户端和服务器已经通信过一次,它们就可以通过会话恢复的方式来跳过整个握手阶段二直接进行数据传输。
它如同网站的"加密身份证",在客户端与服务器之间建立端到端加密通道,确保传输过程中的数据机密性、完整性和身份真实性。...技术三要素:加密传输:采用非对称加密(如RSA 2048)协商会话密钥,结合对称加密(如AES-256)实现高效加密身份认证:通过数字签名技术验证服务器身份,防范中间人攻击数据完整性:使用MAC(消息认证码...非对称加密的数学基石公钥加密体系(PKI)基于大素数分解难题(RSA)或椭圆曲线离散对数(ECC)等数学问题证书包含服务器公钥和CA数字签名,形成密码学信任链2....TLS握手流程Client Hello:客户端发送支持的加密套件列表Server Hello:服务器选择加密方案并发送证书密钥交换:通过ECDHE等算法生成会话密钥加密通信:建立AES-GCM等对称加密通道...:需通过SNI扩展支持虚拟主机证书永不过期:苹果要求有效期≤398天,行业趋向短期证书写在最后:在数据泄露年均成本达435万美元的今天(IBM 2023),SSL证书已从可选配置升级为网络安全必需品。
更改Cipher Spee的消息可以由客户端或服务器发出,通知对方随后的记录将由刚协商好的加密方法(Cipher Spee)和密钥来保护。 ...错误报警 SSL握手协议中的错误处理相对简单。当发现一个错误后,发现方将向对方发一个消息。当传输或收到严重错误报警消息时,连接双方均立即终止此连接。...服务器和客户端均丢弃错误会话使用的标识符、密钥及秘密信息。 SSL中定义了下列错误报警 unexpected_message:收到意外的消息,此报警属于严重错误报警,不应在正常的连接中被观察到。...certificate_expired:证书过期或失效。 certificate_unknown:未知因素导致的证书不可接受性。...illegal_parameter;握手消息中域值溢出或一致,此报警属于严重错误报警。 三.SSL协议安全性分析 SSL协议的安全性由采用的加密算法和认证算法所保证。
以下是HTTPS的工作原理的简化解释: 1.握手和密钥交换: 当用户使用HTTPS连接到网站时,Web服务器和客户端(用户的浏览器)进行握手过程。 在握手期间,服务器向客户端呈现数字证书。...该证书由受信任的证书颁发机构(CA)颁发,并包含服务器的公钥。 2.证书验证: 客户端验证服务器的数字证书的真实性。它检查证书是否有效,是否过期,以及是否由受信任的CA颁发。...客户端和服务器使用预主密钥独立生成一个共享的密钥。此密钥用于在会话期间加密和解密数据。 4.安全数据传输: 一旦建立了共享的密钥,客户端和服务器可以使用对称加密算法加密和解密数据。...会话保持: 为了避免在每个请求中重复密钥交换过程,HTTPS使用会话标识符或会话票据。这允许客户端和服务器在不重新建立整个连接的情况下恢复安全会话。 6....安全套接层(SSL)或传输层安全性(TLS): 加密过程发生在SSL或TLS协议中。虽然SSL是最初的协议,但它在很大程度上被更新且更安全的TLS版本所取代。
在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的。公用密钥算法(通常为 RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。...SSL 握手 SSL 连接总是由客户端启动的。在SSL 会话开始时执行 SSL 握手。此握手产生会话的密码参数。关于如何处理 SSL 握手的简单概述,如下图所示。...图 SSL的客户端与服务器端的认证握手 (1) 客户端发送列出客户端密码能力的客户端“您好”消息(以客户端首选项顺序排序),如 SSL 的版本、客户端支持的密码对(加密套件)和客户端支持的数据压缩方法...(2) 服务器以服务器“您好”消息响应,此消息包含密码方法(密码对)和由服务器选择的数据压缩方法,以及会话标识和另一个随机数。 注意:客户端和服务器至少必须支持一个公共密码对,否则握手失败。...此警告仅仅是警告而已,但如果客户端数字证书认证是强制性的话,服务器应用程序将会使会话失败。 (6) 客户端发送“客户端密钥交换”消息。
在 HTTPS 中,原有的 HTTP 协议会得到 TLS (安全传输层协议) 或其前辈 SSL (安全套接层) 的加密。...因此 HTTPS 也常指 HTTP over TLS 或 HTTP over SSL。 也就是说 HTTPS = HTTP + SSL / TLS。...二、SSL/TLS 及其协议格式 SSL/TLS协议被设计为一个两阶段协议,分为握手阶段和应用阶段: 握手阶段也称协商阶段,在这一阶段,客户端和服务器端会认证对方身份(依赖于PKI体系,利用数字证书进行身份认证...服务器身份认证(客户端身份认证可选)、密钥交换; SSL握手密钥参数更换协议:一条消息表明握手协议已经完成; SSL告警协议:对握手协议中一些异常的错误提醒,分为fatal和warning两个级别,fatal...TLS的主要增强内容 TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。TLS 在SSL v3.0 的基础上,提供了以下增强内容: 1.更安全的MAC算法 2.更严密的警报 3.
HTTP 缓存有两种实现方式,分别是强制缓存和协商缓存。 什么是强制缓存? 强缓存指的是只要浏览器判断缓存没有过期,则直接使用浏览器的本地缓存,决定是否使用缓存的主动性在于浏览器这边。...; 当浏览器再次请求访问服务器中的该资源时,首先会先检查强制缓存是否过期,如果没有过期,则直接使用本地缓存;如果缓存过期了,会在 Request 头部加上 If-None-Match 字段,该字段的值就是...双方协商生产「会话秘钥」。 双方采用「会话秘钥」进行加密通信。 前两步也就是 SSL/TLS 的建立过程,也就是 TLS 握手阶段。...(2)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。 (3)客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时把之前所有内容的发生的数据做个摘要,用来供服务端校验。...然后,向客户端发送最后的信息: (1)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。 (2)服务器握手结束通知,表示服务器的握手阶段已经结束。
)、SSL警告协议(SSL alert protocol) SSL握手协议:客户端和服务器通过握手协议建立一个会话。...目前SSL拥有的版本有SSLv1、SSLv2、 SSLv3以及TSLv1 (即SSLv3.1 )。 随机数: 32位时间戳+28字节随机序列,用于在后面计算所有消息的摘要或计算主密钥。...SSL会话恢复 ? 会话恢复是指只要客户端和服务器已经通信过一次,它们就可以通过会话恢复的方式来跳过整个握手阶段而直接进行数据传输。 SSL采用会话恢复的方式来减少SSL握手过程中造成的巨大开销。...会话恢复具体过程(Session ID机制): 1.如果客户端和服务器之间曾经建立了连接,服务器会在握手成功后返回 session ID,并保存对应的通信参数在服务器中; 2.如果客户端再次需要和该服务器建立连接...,则在 client_hello 中 session ID 中携带记录的信息,发送给服务器; 3.服务器根据收到的 session ID 检索缓存记录,如果没有检索到货缓存过期,则按照正常的握手过程进行
OCSP的速度依赖CA服务器的状态和与CA服务器之间的网络状态,如果服务器响应慢或中间网络慢,都会导致证书验证变慢。...为了安全性,会话密钥的缓存注意设置过期时间。...Session Id的缺点 客户端增多,服务器缓存的密钥会越来越多,吃掉过多内存 现在的服务端基本都是多台服务器部署,客户端在下次连接时如果连接的是一台从未访问过的服务器,还是需要TLS握手 Session...Ticket 服务器不再缓存会话密钥,客户端和服务端首次建立连接时,服务器会加密会话密钥作为Ticket发送给客户端,客户端会缓存该Ticket。...因为密钥泄漏,密文可以被破解,因此很容易对服务器进行重放攻击,破坏数据库数据。 避免重放攻击的方式就是需要对会话密钥设定一个合理的过期时间。
ssl_session_cache shared:SSL:1m;: 配置 SSL 会话缓存。这指定了用于缓存 SSL 会话信息的共享内存区域的名称和大小。...这可以提高 SSL/TLS 连接的性能,减少握手过程的开销。 ssl_session_timeout 10m;: 设置 SSL 会话超时时间。...这指定了 SSL 会话在多久没有被使用后过期并被删除的时间。过期的 SSL 会话将被移除,以释放资源。 ssl_ciphers HIGH:!aNULL:!MD5;: 配置 SSL 密码套件。...只有当客户端提供的证书被成功验证后,Nginx 才会允许连接建立,并允许客户端访问受保护的资源。 4. 重启 Nginx 修 改完 Nginx 配置后,重新加载或重启 Nginx 服务,使更改生效。...通过这个命令,您可以模拟客户端连接并查看服务器的 SSL 配置是否正确。 检查服务器日志: 检查服务器的日志文件,查看是否有关于 SSL 握手失败的错误消息。
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。...客户端解析证书,这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。...客户端认证证书通过之后,接下来是通过随机值1、随机值2和预主秘钥组装会话秘钥。然后通过证书的公钥加密会话秘钥。...服务端解密得到随机值1、随机值2和预主秘钥,然后组装会话秘钥,跟客户端会话秘钥相同。 客户端通过会话秘钥加密一条消息发送给服务端,主要验证服务端是否正常接受客户端加密的消息。...同样服务端也会通过会话秘钥加密一条消息回传给客户端,如果客户端能够正常接受的话表明SSL层连接建立完成了。
领取专属 10元无门槛券
手把手带您无忧上云