Ssl-Certificate
當伺服器將帶有自簽名證書的整個證書鏈發送給客戶端時,打開ssl“證書鏈中的自簽名證書”
我有以下證書鏈:
自簽名證書 –> 中間證書 –> 客戶端證書、伺服器證書。我有 ssl 通信應用程序並驗證對等設置。我嘗試用
openssl s_client
命令測試這個鏈,我得到了Verify return code: 19 (self signed certificate in certificate chain)
. 伺服器在握手中發送整個鏈。我嘗試使用包含自簽名和中間證書的 Bundle.pem 以及 Self-signed.pem 對此進行測試,但結果是相同的。
openssl s_client -msg -connect localhost:1500 -CAfile Self-signed.pem/Bundle.pem -cert Client.crt -key Client.key
然後我頒發了另一個中間證書,並從那個證書頒發了新的伺服器證書
openssl s_client -msg -connect localhost:1500 -CAfile Bundle2.pem -cert Client.crt -key Client.key
Bundle2.pem 包含第二個中間證書和自簽名證書,這工作正常。此外,伺服器現在不發送整個證書鏈,這是應用程序的設計方式。
有人可以解釋為什麼這是一個問題,如果伺服器和客戶端具有相同的中間證書,為什麼我無法成功驗證?
basicConstraints=CA:TRUE
通過在openssl.conf
頒發時添加到即時證書來解決此問題