このトピックでは、OpenSSL を使用して OpenID Connect(OIDC)ID プロバイダー(IdP)の SSL または TLS 証明書のフィンガープリントを取得する方法について説明します。
前提条件
OpenSSL コマンドラインツールがシステムに正しくインストールされていること。この例では、Windows 10 を使用しています。
OpenSSL をインストールします。
Win32/Win64 OpenSSL をクリックして、インストールパッケージをダウンロードします。
インストールパッケージを実行します。
デフォルトのインストールパス
C:\Program Files\OpenSSL-Win64
を使用することをお勧めします。
環境変数を手動で構成します。
Windows デスクトップで [この PC] を右クリックし、[プロパティ] を選択します。表示されるページで、[システムの詳細設定] をクリックします。[システムのプロパティ] ダイアログボックスの [詳細設定] タブで、[環境変数] をクリックします。[環境変数] ダイアログボックスの [システム環境変数] セクションで、
Path
システム変数を選択し、C:\Program Files\OpenSSL-Win64\bin
などの OpenSSLbin
ディレクトリのパスを追加します。インストールを確認します。
コマンドプロンプトまたは PowerShell で次のコマンドを実行します。
openssl version
出力が次のようになっている場合は、OpenSSL がインストールされています。
OpenSSL 3.4.1 11 Feb 2025
コマンドが見つからない、または識別できないことを示すエラーメッセージがシステムに表示された場合は、
x:\xxx\OpenSSL-Win64\bin
ディレクトリが環境変数に追加されているかどうかを確認する必要があります。
手順
次の例では、ドメイン名 https://oauth.aliyun.com
を使用しています。実際の状況では、IdP のドメイン名に置き換える必要があります。
手順 1:トップレベルドメインを取得する
OIDC IdP の構成情報にアクセスするには、IdP のベース URL の後に
/.well-known/openid-configuration
を追加して、IdP の構成ドキュメントの URL を作成します。この例では、ベース URL はhttps://oauth.aliyun.com
です。次のコードは、作成された IdP の構成ドキュメントの URL を示しています。https://oauth.aliyun.com/.well-known/openid-configuration
ブラウザを開いて、作成された URL にアクセスします。取得した JSON 構成ドキュメントで、
jwks_uri
フィールドを見つけ、フィールドの値から完全修飾ドメイン名(FQDN)oauth.aliyun.com
を取得します。フィールドの値は https://oauth.aliyun.com/v1/keys です。次のコードは、JSON 構成ドキュメントを示しています。
手順 2: 証明書を取得する
ターミナルを開き、次のコマンドを実行します。コマンド内の
oauth.aliyun.com
は、手順 1 で取得した FQDN です。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: フィンガープリントを取得する
ターミナルまたはコマンドプロンプトを開き、次の完全なコマンドを入力して、[Enter] キーを押します。
openssl x509 -in certificate.crt -fingerprint -sha1 -noout
次の証明書のフィンガープリントが返されます。
SHA1 Fingerprint=90:2E:F2:DE:EB:3C:5B:13******
フィンガープリントからすべてのコロン(
:
)を削除して、最終的なフィンガープリントを取得します。902EF2DEEB3C5B13******