【问题标题】:Keycloak as a Service Provider - setting up a signing certificateKeycloak 作为服务提供者 - 设置签名证书
【发布时间】:2021-03-01 20:26:52
【问题描述】:

当使用 Keycloak 作为应连接到(非 Keycloak)身份提供者 (IdP) 的服务提供者 (SP) 时,如何在 Keycloak 中安装签名证书?

更准确地说,Keycloak 应该用作身份代理(如Keycloak documentation 中所述),并且将通过 SAML 促进 Keycloak SP 和 IdP 之间的通信2.0协议。

Keycloak 文档包含 information on how to install SSL certificates 用于进行“正常”HTTPS 通信,例如在浏览器中,但我找不到有关安装签名证书的任何信息,以用于与 IdP 的后端到后端 SAML 通信。有谁知道怎么做?

(也许 Keycloak 中只安装了一个证书,即该证书同时用于 SAML 通信和其他非 SAML Keycloak HTTPS 通信?)

【问题讨论】:

    标签: keycloak saml idp


    【解决方案1】:

    您如何查看您的 SP 使用哪个证书为外部 IDP 签名/加密 SAML 消息?

    转到身份提供者 -> 您配置的 SAML IDP -> 导出。导出包含用于签名/加密的证书。您的 IDP 中必须至少有一个激活的签名/加密配置,否则您将不会在导出中看到证书

    如何更改我配置的 IDP 使用的证书?

    在创建领域时,keycloak 会生成一个 RSA-SHA256 证书,默认情况下将由您配置的 IDP 代理设置使用。

    转到Realm Settings -> Keys,你会看到这个RS256 (RSA) 和provider (rsa-generated)

    如果您需要其他证书,请切换到提供者选项卡,添加密钥库,例如萨。导入您的私钥和证书(均为 PEM 格式!)

    回到概述,禁用 rsa 生成的提供程序,您的新生成的提供程序应该是唯一一个类型为 RS256 的活动提供程序

    如果您现在再次检查 IDP 的导出,则应在 XML 中使用导入的证书

    【讨论】:

    • 非常感谢!这正是我想要的!
    猜你喜欢
    • 2015-08-26
    • 2014-04-04
    • 2020-08-06
    • 2017-05-01
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多