Ssl-Certificate

當伺服器將帶有自簽名證書的整個證書鏈發送給客戶端時,打開ssl“證書鏈中的自簽名證書”

  • April 16, 2020

我有以下證書鏈:

自簽名證書 –> 中間證書 –> 客戶端證書、伺服器證書。我有 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頒發時添加到即時證書來解決此問題

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