OpenSSL を使用して、OpenID Connect (OIDC) ID プロバイダー (IdP) の SSL/TLS 証明書のサムプリントを取得します。
前提条件
お使いのシステムに OpenSSL がインストールされている必要があります。以下の例では Windows 10 を使用します。
-
OpenSSL をインストールします。
-
Win32/Win64 OpenSSL からインストールパッケージをダウンロードします。
-
インストーラーを実行します。
デフォルトのインストールパス (
C:\Program Files\OpenSSL-Win64) を使用します。
-
-
環境変数を設定します。
デスクトップで [この PC] を右クリックし、 を選択します。
Path変数に、OpenSSL のbinディレクトリへのパス (例:C:\Program Files\OpenSSL-Win64\bin) を追加します。 -
インストールを検証します。
コマンド プロンプトまたは PowerShell で、次のコマンドを実行します。
openssl version-
出力が次のような内容であれば、OpenSSL は正常にインストールされています。
OpenSSL 3.4.1 11 Feb 2024 -
「command not found」または「not recognized」というエラーが表示された場合は、
C:\Program Files\OpenSSL-Win64\binディレクトリが Path 環境変数に追加されていることを確認してください。
-
手順
以下の手順では、例として https://oauth.aliyun.com を使用します。この値をご自身の IdP ドメイン名に置き換えてください。
手順1:完全修飾ドメイン名の取得
-
IdP のベース URL に
/.well-known/openid-configurationを追加します。例:https://oauth.aliyun.comの場合https://oauth.aliyun.com/.well-known/openid-configuration -
ブラウザーでこの URL を開きます。返された JSON から
jwks_uriフィールドを見つけ、完全修飾ドメイン名 (FQDN) を抽出します。この例では、FQDN はoauth.aliyun.comです。
手順2:証明書の取得
-
次のコマンドを実行します。
oauth.aliyun.comを手順1で取得したドメイン名に置き換えてください。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
手順3:サムプリントの取得
-
次のコマンドを実行します。
openssl x509 -in certificate.crt -fingerprint -sha1 -noout出力には、「Fingerprint」というラベルが付いた SHA-1 フィンガープリントが表示されます。
SHA1 Fingerprint=90:2E:F2:DE:EB:3C:5B:13****** -
この値からすべてのコロン (
:) を削除して、最終的なサムプリントを取得します。902EF2DEEB3C5B13******