【備忘録】OpenAM 14.0.0でSAML IdPの署名アルゴリズムをSHA-256に変更する方法🔐

雑記

OpenAM 14.0.0 を使って SAMLのIdP(Identity Provider) を構築していると、
こんな疑問にぶつかりました👇

「SHA-1はもう危険って言われてるけど、
OpenAMのGUIでSHA-256に切り替える項目が見当たらない…🤔」

実際に調べて設定してみたところ、
GUIの1か所をポチっと変えればOK、という話ではないことが分かりました。

今回は OpenAM 14でSAML署名をSHA-1 → SHA-256へ変更する手順を、
同じところで悩む人向けにまとめます✍️


そもそも何をSHA-256にするのか?🤨

まず大事なポイント👇

❌ パスワード認証方式のSHA
SAMLアサーション/レスポンスの署名アルゴリズム

OpenAMで言う「SHA-256化」は、
SAMLメッセージの電子署名方式を強化するという意味です。


結論:GUIだけでは完結しない⚠️

先に結論を書くと👇

✅ OpenAM 14はSHA-256対応
❌ GUIに「SHA-256を選択する項目」は存在しない
使用する証明書の署名アルゴリズムに依存

つまり、

SHA-256で署名された証明書を使えば、
SAML署名もSHA-256になる

という仕組みです。


① IdPエンティティ設定(GUI)🖥️

まずは管理コンソールから設定を確認します。

設定パス

管理コンソール
 → Federation
   → Entity Providers
     → SAMLv2 Identity Provider
       → 対象のIdPエンティティ

確認ポイント

  • Signing Certificate Alias
  • Encryption Certificate Alias(必要な場合)

ここで指定している 証明書のalias が重要です🔑
SHA-1証明書を使っていれば、署名もSHA-1のままになります。


② 証明書をSHA-256にする(最重要)🔥

OpenAM側のキーストアに入っている証明書を確認します。

keytool -list -v -keystore keystore.jks

NG例(SHA-1)

Signature algorithm name: SHA1withRSA

OK例(SHA-256)

Signature algorithm name: SHA256withRSA

🔧 対応方法

  • SHA-256で署名された証明書を新規作成
  • OpenAMの keystore にインポート
  • IdPエンティティでその alias を指定

これが一番大事なポイントです💡


③ 署名アルゴリズムを明示する(Advanced設定)🛠️

環境によっては、
署名アルゴリズムを明示しないとSHA-1にフォールバックすることがあります。

設定パス

Configuration
 → Servers and Sites
   → 対象サーバ
     → Advanced

追加するプロパティ

org.forgerock.openam.saml2.signature.algorithm=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
org.forgerock.openam.saml2.xmlsig.digest=http://www.w3.org/2001/04/xmlenc#sha256

📌 OpenAM 14では
GUIに項目が無いケースが多いため 手動追加が定番です。


④ SP側との整合性も忘れずに🤝

IdPだけSHA-256にしても、
SP(Service Provider)が未対応だと失敗します。

チェックポイント👇

  • SPがSHA-256署名を許可しているか
  • SPメタデータに以下が含まれているか
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>

⑤ 最後に再起動🔄

設定変更後は必ず OpenAMを再起動します。

これを忘れると
「設定したのにSHA-1のまま…😇」
という沼にハマります。


よくある勘違いまとめ❌

勘違い実際
GUIでSHA-256を選べる証明書依存
プロパティだけでOK証明書更新が必須
OpenAM 14は古いから非対応対応している

まとめ ✨

✅ OpenAM 14でSHA-256は問題なく使用可能
鍵は証明書の署名アルゴリズム
✅ IdPエンティティのaliasを見直す
✅ 必要に応じてAdvanced設定を追加
✅ 再起動を忘れない


同じところで詰まっている人の助けになれば幸いです🙏
SAMLまわりは 「分かってる前提」 の情報が多くて辛いですね…。

またハマったら備忘録として残していこうと思います✍️😊

コメント

タイトルとURLをコピーしました