在哪裡以及如何取得憑證並將其安裝到新安裝的 OpenSSL 中?

在哪裡以及如何取得憑證並將其安裝到新安裝的 OpenSSL 中?

我剛剛編譯了 OpenSSL 和 Lynx Web 瀏覽器。我想瀏覽 HTTPS 網站。據我了解,我需要從這些網站使用的 CA 取得證書,我還需要我自己的某種證書。 Web 瀏覽器正確呼叫 OpenSSL,但我無法瀏覽互聯網,因為我沒有 CA 憑證的初始清單。

有沒有人有文件解釋如何取得這些憑證並讓 OpenSSL 使用它們?

謝謝

答案1

若要讓您的瀏覽器處理 SSL/TLS,您必須在瀏覽器中安裝來自不同憑證授權單位的根憑證。有了這些證書,您的瀏覽器將識別簽署金鑰並接受它們。你可以檢查這裡查看 Mozilla 中安裝的 CA 清單以及憑證本身。

PS 要安裝證書,您必須檢查瀏覽器文檔

答案2

有沒有人有文件解釋如何取得這些憑證並讓 OpenSSL 使用它們?

來自山貓的README.sslcerts

初步程序:

假設 openssl 已正確安裝,預設的 cert 目錄是 /usr/local/ssl/certs(通常是 /etc/ssl/certs,但我們需要一個討論的出發點)並且 lynx 有已編譯--with-ssl。

您系統上憑證的預設位置可能不同,或者可能沒有。您必須在以下說明中替換該位置為 /usr/local/ssl/certs ,和/或設定環境變數。

若要確定係統上憑證的預設位置,您可以執行以下命令:

strings libcrypto.a  | grep -in cert | less

在此輸出中尋找SSL_CERT_DIRSSL_CERT_FILE,以及它們上方的行。這分別是憑證和 CA 憑證包 cert.pem 的預設位置。當然,您需要知道 libcrypto.a 在哪裡找到。

輸出範例:

7490:/etc/ssl/certs
7491:/etc/ssl/cert.pem
7492:SSL_CERT_DIR
7493:SSL_CERT_FILE

其他可能的範例輸出:

31555:/usr/local/ssl/certs
31556:/usr/local/ssl/cert.pem
31557:SSL_CERT_DIR
31558:SSL_CERT_FILE

請注意,安裝 OpenSSL 後,c_rehash 公用程式將安裝在 bin 目錄中(預設/usr/local/ssl/bin)。您需要知道它在您系統上的位置。命令:

whereis c_rehash

可能會給出有用的結果。

另請注意,沒有隨 OpenSSL 一起分發 CA 憑證包。 OpenSSL 團隊明確決定不這麼做。取得一組受信任的憑證由安裝程式決定。

從最新版本的 Internet Explorer 中提取受信任的根憑證包不再是一個相當簡單的過程。多個憑證不再可匯出為 DER 格式的文件;提取單一憑證是 DER 的唯一匯出,而 DER 會轉換為 PEM。

有權存取 Apple OS X 的使用者可以將鑰匙圈存取系統根中的所有憑證匯出為 .pem 檔案。將其放入 SSL_CERT_DIR 並進行哈希處理,就完成了。

MirOS BSD 專案也提供了它們。本文檔稍後將詳細介紹轉換和安裝它們的過程,如果您只需要 lynx 信任的商業提供的證書,則可以跳到安裝或更新 CA 捆綁包部分。

提取的 Mozilla 憑證包可從curl 專案下載http://curl.haxx.se/docs/caextract.html以及從 Mozilla 原始碼中提取的腳本。

相關內容