SAML Responseに任意で含まれるKeyInfoタグのX.509証明書のBase64エンコーディングデータから公開鍵を取得する方法について調査及び研究し、そのせ成果をまとめています。
OpenSSLのインストール
X.509証明書のBase64エンコーディングされたデータの中から、公開鍵を取り出すツールとしてOpenSSLを使用します。そのためOpenSSLを予めインストールし、使用できる状態にして下さい。
X509証明書のBase64エンコーディングデータをテキストファイルに保存
SAML Response(レスポンス)のKeyInfoタグにあるX509Certificateタグの値をコピーして、テキストエディタに張り付けて保存して下さい。
拡張子をcrtに変更し、ダブルクリックします。
テキストファイルの拡張子をtxtからcrtに変更します。
ダブルクリックすると証明書ウィンドウが立ち上がります。
「詳細」タブで「公開キー」を選択し、「ファイルにコピー」ボタンを押します。
エクスポートされたファイルをテキストエディタで確認すると、ファイルの先頭に-----BEGIN CERTIFICATE-----と、そして最後に-----END CERTIFICATE-----と挿入されており、X.509証明書のBase64エンコーディングされているデータも改行されている事がわかります。
OpenSSLを使用して、X509証明書から公開鍵を取り出す
OpenSSLのコマンドを使用して、X509証明書から公開鍵を表示させる事ができます。
openssl x509 -in x509.cer -pubkey