Wget

Wget 或 curl 來自伺服器的自簽名證書

  • June 9, 2014

從我的瀏覽器中,我可以瀏覽到我公司本地 Intranet 中的一台機器,然後(在將證書標記為受信任之後)將該證書導出到文件中。我正在嘗試將這個過程自動化到一個 shellscript 中,這樣我就可以在使用各種命令行工具時讓我的生活更輕鬆一些,而不會把安全性拋諸腦後。

嘗試用Google搜尋這個主題很困難,主要是關於如何信任您在使用 wget 或 curl 時已經下載的證書的結果,但這不是我在這種情況下需要的。如何通過 wget 或 curl 將伺服器的公共自簽名證書下載到本地文件?

我不確定 wget 或 curl,但如果您只關心公鑰,則以下方法有效。

openssl s_client -connect hostname.domain.tld:port 2>&1 </dev/null | sed -ne '/BEGIN CERT/,/END CERT/p'

通常,當他們談論下載證書時,它將是根證書。您可以使用以下命令找到 Verisign 的證書,然後將根證書 wget 或 curl 到您的系統以使用 Verisign 證書進行身份驗證。在這種情況下,它特別是“VeriSign Class 3 Extended Validation SSL SGC CA”根。

$ openssl s_client -connect verisign.com:443 2>&1 </dev/null | openssl x509 -noout -text | grep "CA Issuers"
           CA Issuers - URI:http://EVIntl-aia.verisign.com/EVIntl2006.cer

上面的命令應該適用於幾乎所有顯示鍊式證書的伺服器。

引用自:https://unix.stackexchange.com/questions/136288