本文介紹如何使用OpenSSL工具快速擷取OpenID Connect(OIDC)身份供應商(IdP)的SSL/TLS認證指紋。
前提條件
請確保您的系統中已正確安裝 OpenSSL 命令列工具,本文以Windows 10作業系統為例。
安裝OpenSSL。
從Win32/Win64 OpenSSL下載安裝包。
運行安裝包。
建議保持預設安裝路徑(
C:\Program Files\OpenSSL-Win64)。
手動設定環境變數。
在案頭滑鼠右鍵單擊此電腦,選擇,在
Path中添加OpenSSL的bin目錄路徑(如C:\Program Files\OpenSSL-Win64\bin)。驗證安裝結果。
在命令提示字元或PowerShell中執行以下命令:
openssl version若輸出類似以下內容,則表示OpenSSL 已正確安裝。
OpenSSL 3.4.1 11 Feb 2025若提示“命令未找到”或“無法識別”,則需要您檢查環境變數路徑是否包含
x:\xxx\OpenSSL-Win64\bin目錄。
操作步驟
以下操作以 https://oauth.aliyun.com 為樣本網域名稱,實際執行時需將其替換為您自己的IdP網域名稱。
步驟一:擷取頂級域
為了訪問OIDC IdP的配置資訊,您需要構建該IdP的配置文檔URL,即在IdP的基礎URL後添加
/.well-known/openid-configuration。以https://oauth.aliyun.com為例,構建的IdP配置文檔URL如下:https://oauth.aliyun.com/.well-known/openid-configuration開啟瀏覽器訪問構建好的IdP配置文檔URL,我們可以得到如下所示的JSON格式配置文檔。從中找到
jwks_uri欄位,擷取其中的完全限定網域名稱(不包括https://和頂級域後的路徑),即oauth.aliyun.com。
步驟二:擷取認證
開啟終端,輸入以下命令,其中的
oauth.aliyun.com為步驟一中擷取的完全限定網域名稱。openssl s_client -servername oauth.aliyun.com -showcerts -connect oauth.aliyun.com:443在輸出結果中,通過滾動或搜尋索引鍵(
-----BEGIN CERTIFICATE-----或-----END CERTIFICATE-----)找到包含認證的區塊。若存在多個認證條目,預設選取最後一個認證。說明標準的PEM格式認證必須包含以下固定邊界標識符:
起始標記:
-----BEGIN CERTIFICATE-----。結束標記:
-----END CERTIFICATE-----。
-----BEGIN CERTIFICATE----- MIIEaTCCA1GgAwIBAgILBAAAAAABRE7wQkcwDQYJKoZIhvcNAQELBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv ··· -----END CERTIFICATE-----完整複製以上認證內容,確保包含完整的起始標記和結束標記。使用純文字編輯器建立檔案,將複製的認證內容粘貼至檔案中,並以
.crt為副檔名儲存。檔案名稱樣本:certificate.crt。(可選)驗證檔案有效性。
開啟終端運行以下命令,無報錯即表示格式正確。
openssl x509 -in certificate.crt -text -noout
步驟三:擷取指紋
開啟終端或命令提示字元輸入以下完整命令並斷行符號。
openssl x509 -in certificate.crt -fingerprint -sha1 -noout輸出認證指紋。
SHA1 Fingerprint=90:2E:F2:DE:EB:3C:5B:13******將該指紋中的所有
:去除,以擷取最終指紋。902EF2DEEB3C5B13******