1. 程式人生 > >TLS/SSL 協議詳解 (20)加密套件的選擇

TLS/SSL 協議詳解 (20)加密套件的選擇

伺服器在選擇演算法時,會有優先順序,是以客戶端提供的的為最優,還是伺服器端配置的為最優。所謂的客戶端最優,就是根據客戶端提供的加密套件,從上到下,看是否有本地支援的,有的話則使用。所謂伺服器端最優,就是伺服器端根據自身配置的加密套件順序,一個個在client hello中找,找到了就使用。

  其次,當伺服器配置ECC證書時,加密套件只能選擇XXX_ECDSA_XXX或者ECDH_XXX。當伺服器配置RSA證書時,只能選擇RSA_XXX或者ECDHE_RSA_XXX形式的加密套件。

  需要注意的是,如果加密套件選擇ECDH_RSA或者ECDH_ECDSA時,由於ECDH加密套件預設表明了握手需要ECC證書(即ECC證書的公鑰充當握手中server key exchange中的公鑰,證書的私鑰同樣也是握手過程中的私鑰,握手過程不需要server key exchange),所有第二部分_RSA和_ECDSA表明的是想要的伺服器證書籤名型別。

比如說伺服器選擇了ECDH_RSA加密套件,但是傳送的證書卻是ECDSA簽名的證書,雖然說證書籤名型別不影響整個握手,但是對於校驗嚴格的客戶端,這種情況可能會導致客戶端斷開連結。
--------------------- 
作者:Mrpre 
來源:CSDN 
原文:https://blog.csdn.net/mrpre/article/details/77868633 
版權宣告:本文為博主原創文章,轉載請附上博文連結!