zoukankan      html  css  js  c++  java
  • TLS/SSL 协议

    Server Certificate

    典型的Certificate消息用于携带服务器X.509证书链。证书链是以ASN.1 DER编码的一系列证书,一个接着一个组合而成。主证书必须第一个发送,中间证书按照正确的顺序跟在主证书之后。根证书可以并且应该省略掉,因为在这个场景中它没有用处。
    服务器必须保证它发送的证书与选择的算法套件一致。比方说,公钥算法与套件中使用的必须匹配。除此以外,一些密钥交换算法依赖嵌入证书的特定数据,而且要求证书必须以客户端支持的算法签名。所有这些都表明服务器需要配置多个证书(每个证书可能会配备不同的证书链)。
    Certificate消息是可选的,因为并非所有套件都使用身份验证,也并非所有身份验证方法都需要证书。更进一步说,虽然消息默认使用X.509证书,但是也可以携带其他形式的标志;一些套件就依赖PGP密钥。

    证书中所携带服务器的公钥,用于加密后面消息中预主密钥。消息内容如下:

    从图中可以看到,服务器实际上发送的是一条证书链,包含从服务器证书到其根证书

    从图中可以看到证书的各字段信息,包括证书版本号(v3)、证书序列号(0x2cee193c188278ea3e437573)、证书签名算法颁发者信息证书有效期(2019年5月9日 9:22:02 至 2020年6月25日 13:31:02)

    接下来还包括证书持有者(baidu.com...)、证书公钥信息(3082010a0282010100b4c6bfda53200fea40f3b85217663b..)、扩展字段证书的签名算法(SHA-256 RSA加密)、证书的签名值(aab9cd528edc365d47d48bf3321706468360a327054929b1...)

    证书持有者:

    证书公钥:

    扩展字段:

    [参考文献]

    1. 《HTTPS 权威指南:在服务器和Web应用上部署SSL/TLS和PKI》
    2. SSL握手过程实例分析 https://blog.csdn.net/a1510841693/article/details/84640029
  • 相关阅读:
    洛谷 P5249 [LnOI2019]加特林轮盘赌 概率DP
    c++提高学习笔记——05-c++STLday10
    c++基础学习笔记——04-c++day09
    c++基础学习笔记——04-c++day08
    c++基础学习笔记——04-c++day07
    c++基础学习笔记——04-c++day06
    c++基础学习笔记——04-c++day05
    c++基础学习笔记——04-c++day04
    c++基础学习笔记——04-c++day03
    c++基础学习笔记——04-c++day02
  • 原文地址:https://www.cnblogs.com/sxiszero/p/11165805.html
Copyright © 2011-2022 走看看