Openssl

openssl:允許使用不安全的客戶端證書

  • March 12, 2019

我有一個很久以前分發的應用程序。該應用程序通過客戶端證書身份驗證向客戶端提供 https 介面。到應用程序發佈時,提供 1024 位密鑰長度證書可能就可以了。儘管我們總是向客戶宣傳使用他們自己的 PKI 更新預設證書,但他們中的大多數人只是使用預設證書,所以我有成千上萬的實例像這樣執行。現在我需要編寫一個客戶端(在 python 中)來查詢該應用程序。該客戶端將在更現代的 linux 發行版上執行,其中庫和客戶端應用程序是針對 openssl 1.1.1a 編譯的。因此,在嘗試使用弱預設客戶端證書訪問 https 介面時,我總是收到以下錯誤:OpenSSL 錯誤:

140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small

在較舊的發行版(使用較舊的 openssl)上執行相同的程式碼或使用針對 gnutls 編譯的應用程序都可以。

幾個問題:

  • 我是否認為這是出於安全原因在 openssl 中引入的限制?
  • 如果是這樣,它是什麼時候引入的?
  • 有沒有辦法禁用此檢查?(最好不重新編譯客戶端庫)
  1. 是的
  2. 1.1.1~~pre9-1 https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1625241.html
  3. 在 Debian /etc/ssl/openssl.cnf https://wiki.debian.org/ContinuousIntegration/TriagingTips/openssl-1.1.1

SECLEVEL 2 將安全級別設置為 112 位

SECLEVEL 1 是以前版本中的預設值,是 80 位

引用自:https://serverfault.com/questions/957931