【发布时间】:2021-11-10 13:37:34
【问题描述】:
我需要将 SAML 外部身份提供程序与 WSO2 一起使用。 为此,我收到了 2 个密钥/证书(一个用于签名,一个用于加密)。 我使用这些密钥/证书创建了密钥库。
我的问题是:
如何指定在签署/加密请求时必须使用这些证书 外部身份提供者?
我已经“检查”了Enable Authentication Request Signing,但我看不到具体的指向
键。
【问题讨论】:
我需要将 SAML 外部身份提供程序与 WSO2 一起使用。 为此,我收到了 2 个密钥/证书(一个用于签名,一个用于加密)。 我使用这些密钥/证书创建了密钥库。
我的问题是:
如何指定在签署/加密请求时必须使用这些证书 外部身份提供者?
我已经“检查”了Enable Authentication Request Signing,但我看不到具体的指向
键。
【问题讨论】:
似乎您正在使用 Wso2 作为 SAML 服务提供者。您有一个外部 IDP。默认情况下,在身份服务器中,请求签名来自默认密钥库中的私钥。您可以按如下方式导出其证书
keytool -export -keystore wso2carbon.jks -alias wso2carbon -file wso2carbon.crt
openssl x509 -inform der -in wso2carbon.crt -out wso2carbon.pem
应将此证书提供给 IdP,以便它可以验证签名。
如果您需要自定义密钥进行签名,您可能需要创建一个新的密钥库并将其配置为 wso2 身份服务器中的主密钥库。
【讨论】:
X509v3 Key Usage: Digital Signature,第二个有X509v3 Key Usage: Key Agreement 此提供程序需要使用单独的密钥:第一个用于请求签名,第二个用于断言加密。如何指定应与断言加密一起使用的单独密钥/证书?