https证书认证的流程

https进行SSL认证的全过程

事前准备
1、服务器生成一对公钥和私钥(不对称加密方式,此处的公钥简称<服公钥>,密钥简称<服密钥>)
2、服务器向CA机构进行通信,将<服公钥>交给CA机构
3、CA对<服公钥>进行数字签名,生成一个<数字签名>,将两者绑定在一起<公钥证书>
4、<公钥证书>返回并且存在服务器,保存

客户端通信过程

1、客户端向服务器进行请求通信,服务器向客户端发送<公钥证书>
2、客户端使用<CA公钥>对公钥证书的数字签名进行验证,验证通过的场合,证明公钥值得信赖,公钥已经被CA机构认证。(CA公钥,CA机构公开在网络上的公钥, 为了防止被获得CA公钥在网络获得的过程中被中间人替换,一般实现存放在浏览器中)
(验证过程:客户端利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行。)
3、通过<公钥证书>获得<服公钥>
4、客户端生成一个<共享密钥>,使用认证过的<服公钥>进行加密,将<共享密钥>发送到服务器
5、服务器通过<服私钥>解密,得到<共享密钥>
6、此时客户端和服务器都保存了同一个<共享密钥>,并且可以有效保证是安全的,以后的http传输的主体部分,通过<共享密钥>进行加密来确保通信过程的安全,报文没有没篡改。

总结:SSL认证建立在服务器与客户端的所有通信之前,SSL认证之后,http主体部分通过<共享密钥>加密。

### HTTPS证书验证流程 HTTPS协议通过使用SSL/TLS来保障数据的安全性和隐私性。以下是关于HTTPS证书验证的具体过程: #### 1. 客户端发起连接请求 客户端(通常是浏览器或其他HTTP客户端)向服务器发出HTTPS请求,指定目标域名并启动TLS握手阶段。 #### 2. 服务器响应并提供证书链 服务器接收到请求后,返回其公钥证书以及可能附加的中间CA证书给客户端。这些证书包含了用于身份验证的信息,例如颁发者、有效期和签名算法等[^1]。 #### 3. 验证证书的有效性 客户端会对收到的证书执行一系列检查操作: - **校验日期范围**:确认当前时间是否处于证书规定的有效期内。 - **验证发行机构的信任度**:判断签发该证书认证中心(CA) 是否被本地信任列表所接受。 - **主机名匹配检验**:确保URL中的域名为证书主体名称(SAN字段或CN字段)的一部分。 如果有任何一项不符合,则整个验证失败,并依据具体原因抛出异常提示用户注意风险[^2]。 #### 4. 密码套件协商与密钥交换 一旦上述步骤顺利完成之后,双方将继续完成剩余部分的标准TLS 协议规定动作——即选择合适的密码组合方案来进行实际通信加密保护工作;同时利用之前获得到的服务端公开密钥材料计算得出共享秘密值作为后续消息加解密的基础素材之一[^3]。 ```python import requests try: response = requests.get('https://example.com', verify=True) except requests.exceptions.SSLError as e: print(f"An SSL error occurred: {e}") ``` 以上代码展示了如何用 Python 的 `requests` 库访问一个 HTTPS URL 并启用默认的 SSL 验证机制。如果发生诸如证书过期等问题,则会触发相应的异常处理逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值