將「OpenID Connect 用戶端」配置成使用 RSA-SHA256 演算法來簽署 ID 記號

您可以在 signatureAlgorithm 屬性上設定 RSA-SHA256 (RS256) 演算法,並配置 OpenID Connect 依賴方 (RP),以便向「OpenID Connect 用戶端」簽署 ID 記號。

開始之前

Liberty OpenID Connect 依賴方 (RP) 和 OpenID 提供者 (OP) 都會將簽章演算法預設為 HS256,這是具有 SHA-256的 HMAC。 您的 RP 簽章演算法必須符合 OP 簽章演算法,且有許多 OP 不支援 HS256。 在下列步驟中,您會將 RP 簽章演算法設為 RS256,以置換預設 HS256。

關於這項作業

您可以將「OpenID Connect 用戶端」配置成使用 RSA-SHA256 簽章演算法來驗證 ID 記號的簽章。 請將 signatureAlgorithm 設為 RS256,並配置 jwkEndpointUrl 端點,或配置 trustStoreReftrustAliasName 屬性的組合,以指出用來驗證簽章的公開金鑰。

程序

  1. 編輯 OpenID Connect RP 的 server.xml 檔。
  2. 將值為 RS256signatureAlgorithm 屬性新增至 openidConnectClient 元素。
    signatureAlgorithm="RS256"
  3. 配置 RP。

    完成下列其中一個選項:

    • 如果您的 OP 支援「JSON Web 金鑰 (JWK)」端點,請將 RP 配置成使用它。

      將下列屬性新增至 openidConnectClient 配置。

      屬性 說明: 範例
      jwkEndpointUrl 指定 OP JWK 端點 URL。 jwkEndpointUrl="https://www.googleapis.com/oauth2/v3/certs"
    • 將 RP 配置成使用本端金鑰。

      將下列屬性新增至 openidConnectClient 配置。

      屬性 說明: 範例
      trustStoreRef 含有驗證 ID 記號簽章所需之公開金鑰的金鑰儲存庫。 trustStoreRef="defaultKeyStore"
      trustAliasName 當使用非對稱演算法來驗證簽章時,用來尋找公開金鑰的金鑰別名。 這個屬性是用來產生簽章之 OP 私密金鑰的公用憑證。 trustAliasName="googleG3"