Linux
使用任何應用程序升級 NSS 後無法使用自簽名證書訪問網站
我們最近將 NSS 從版本 3.44 (
nss-3.44.0-4.el7.x86_64
) 升級到版本 3.53 (nss-3.53.1-3.el7_9.x86_64
)。此次升級後,對我們內部網站的任何使用自簽名證書的呼叫都會失敗。捲曲或嘗試使用 GIT 等任何應用程序訪問時,我們會看到以下錯誤 -#When Curling curl https://internalsite.com -k curl: (35) security library: invalid arguments. #When using GIt git clone https://internalsite.com/stash/scm/repo/my_repo.git Cloning into 'my_repo'... fatal: unable to access 'https://internalsite.com/stash/scm/repo/my_repo.git/': security library: invalid arguments.
降級回 NSS 3.44 時,問題已解決。如果我們訪問一個不使用自簽名證書的站點,它會按預期工作。
有沒有人有任何想法如何解決?我讀到的所有內容都說這些更改是向後兼容的,所以我不明白為什麼我們需要再次將證書導入 NSSDB。即使在導入之後,我也看到了同樣的錯誤。
故障排除時,我將證書/密鑰轉換為 PK12 (
openssl pkcs12 -export -out certandkey.pfx -inkey /home/me/stuff/cert.key -in cert.pem
),然後使用pk12util -i certandkey.pfx -d sql:/etc/pki/nssdb
. 這樣做之後,我仍然看到同樣的問題。謝謝。
我向 Redhat 開了一張關於這個問題的票。我們在我們的系統上使用 FIPS,這會殺死連接。
他們回復了以下文章,提供了更多資訊-
"Why does curl return error (35) security library: invalid arguments?" https://access.redhat.com/solutions/5773011
簡短的版本是您要連接的網站的密碼套件正在嘗試使用不符合 NIST 要求的算法。
一旦伺服器嘗試使用不符合要求的算法連接到您,FIPS 將立即關閉連接。
為了解決這個問題,您應該嘗試在您正在訪問的網站 - https://www.ssllabs.com/上執行 ssllabs ,並查看“密碼套件”和“首選密碼順序”,並確保套件符合 NIST 指南(它們需要使用至少 256 長度的素數)。