Keycloak 自前の署名鍵を設定する方法 メモ


  • KeycloakでOpenSSLで生成した自前の署名鍵を利用する方法についてメモする。

署名鍵(公開鍵・秘密鍵)の生成

OpenSSLを利用して、署名用(RSA)の秘密鍵と公開鍵を生成する。

  1. 秘密鍵の生成

    # PEM形式の秘密鍵を生成する。
    openssl genrsa -out jwt-private-key.pem 2048
    
  2. 公開鍵の生成

    # DER形式の公開鍵を生成する。
    openssl rsa -in jwt-private-key.pem -pubout -outform DER -out jwt-public-key.der
    

署名鍵の設定

  1. Keycloakコンソールからレルム設定画面を開く。
  2. Keys」->「Providers」を選択し、「Add keystore...」からrsaを選択する。
  3. 以下の項目を入力し、「Save」する。
    • Priority(鍵設定の優先度) : 100
    • Private RSA Key (秘密鍵):前述の手順で作成した「jwt-private-key.pem」ファイルを選択する。

確認方法

  1. IDトークンを発行する。
  2. 1で発行したIDトークンをデコードし、ヘッダー部を確認する。
    • 前述の手順で設定した署名鍵に対応するkidが設定されている。