您可以將「OpenID Connect 提供者」配置成使用 RS256 演算法來簽署 ID 記號。
關於這項作業
您可以將 signatureAlgorithm 設為 RS256,並配置一個金鑰儲存庫,使其含有用來簽署的私密金鑰,以便將「OpenID Connect 提供者」配置成使用 RSA-SHA256 簽章演算法來簽署 ID 記號。
程序
- 將 OpenID Connect 提供者 signatureAlgorithm 屬性設為
RS256。
- 您可以配置 Liberty OP,以簽署一個含有實體金鑰儲存庫中之「X509 憑證」的「ID 記號」,或簽署一個自行產生的 RSA 金鑰組,這是一個定期重新產生的公開金鑰,會發佈到 JWK in jwks_uri 位置。
- 選用:X509 憑證
在
server.xml 檔中,建立一個金鑰儲存庫元素,使其參照含有私密金鑰的實體金鑰儲存庫,且該私密金鑰能夠執行 RSA-SHA256 簽章演算法。例如:
<keyStore id="opTestKeyStore" location="${server.config.dir}/opKeyStore.jks" type="JKS" password="keystorePwd" />
將
keyStoreRef 屬性設為步驟 1 中所用金鑰儲存庫元素的 id 值,以及設定
keyAliasName,以便在金鑰儲存庫中找到私密金鑰。例如:
<openidConnectProvider id="OAuthConfigSample" oauthProviderRef="OAuthConfigSample" signatureAlgorithm="RS256" keyStoreRef="opTestKeyStore" keyAliasName="myOpKeyAlias" />
- 選用:JWK
如果要動態產生簽署金鑰組,並將公開金鑰發佈至 JWK,請新增 jwkEnabled="true"。會每 12 小時重新產生金鑰組,且您可以配置 jwkRotationTime,以修改頻率。
結果
現在,您已將「OpenID Connect 提供者」配置成使用 RSA-SHA256 來簽署 ID 記號。