openSSL:如何指定我將接受的簽章雜湊演算法?

openSSL:如何指定我將接受的簽章雜湊演算法?

使用 openSSL,在 TLS 用戶端上,我使用 SSL_CTX_set_cipher_list() 指定了唯一的密碼套件。

當我使用wireshark查看訊息時,我在Client Hello訊息中看到,允許的密碼套件是我指定的。

但是,如果我查看擴充功能:簽名演算法,我會發現客戶端似乎接受大量演算法,包括一些對我來說似乎不太安全的演算法,例如 MD5。

我怎樣才能改變這種行為?

答案1

(發現研究其他東西。我不知道安全性,甚至SO,是否會更好。)

在版本 1.0.2(僅)中,有SSL_[CTX_]set1[_client]_sigalgs[_list]這方面的新內容。我還沒有在任何版本中看到任何文檔,但它顯然位於網站上的“master”(即開發“trunk”)中https://www.openssl.org/docs/manmaster/ssl/SSL_CTX_set1_sigalgs.html所以想必它會在未來的版本中出現。

在早期版本中,您可以設定驗證回調,或僅檢查結果鏈,並拒絕使用MD5 的任何憑證或鏈,或RSA<=1024,或使用懷疑NSA 後門的曲線的ECC,或任何您不喜歡的其他內容,例如CA政策說「我們討厭貓」。

相關內容