TLS/SSL 協議 - Server Certificate


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM