SSL 無憑證

SSL 無憑證

我正在嘗試製作一個 bash 腳本,該腳本將檢查我的網站客戶端的 SSL 狀態並傳回錯誤。但對於每個 IP,wget https://$ip:$port都會出現以下錯誤:

ERROR: The certificate of 1.2.3.4 is not trusted
ERROR: The certificate of 1.2.3.4 hasn't got a know issuer

當我嘗試使用 Firefox 時,我擁有每個 IP 的憑證。所以我嘗試將 Firefox CA 轉儲到以下儲存庫:

wget http://$ip:$port --ca-directory=(directory of CA from Firefox)

但這並沒有改變任何事情。

我想,wget沒有找到 SSL 證書,而且我不知道如何取得它們。

如何取得證書資訊?

答案1

通常,SSL 憑證會頒發給主機名稱(例如www.example.com,而不是 IP 位址)。
因此,當您使用 IP 位址時,您正在存取的 URL 與頒發憑證的主機名稱之間會不符。

其次,Firefox 中的 CA 目錄可能不適合,因為根據 wget 手冊頁的要求:

--ca-directory=目錄指定包含 PEM 格式的 CA 憑證的目錄。每個檔案包含一個 CA 證書,檔案名稱是基於從證書派生的雜湊值。 …

我認為 wget 使用 openssl 庫,可能使其成為一個更詳細的實用程式來檢查憑證狀態,例如在查詢中確定 SSL 憑證的到期日期:

 echo "GET /" | openssl s_client -connect servername:port  | openssl x509 -noout -dates

相關內容