Keycloak 客户端设置,SAML 私钥暴露

Posted

技术标签:

【中文标题】Keycloak 客户端设置,SAML 私钥暴露【英文标题】:Keycloak clients setting, SAML private key exposed 【发布时间】:2018-09-28 03:23:45 【问题描述】:

我知道在 SAML 协议中,IDP 和 SP 他们拥有自己的密钥对,并且不会将他们的私钥暴露给对方。

我假设下面的领域密钥是 IDP 密钥对,这是有道理的,因为私钥没有公开。

但是当我在客户端设置中打开“需要客户端签名”时,会生成 SAML 密钥并暴露私钥?这意味着 IDP 知道将在 SP 应用程序中使用的私钥。

这没有意义,一定是我弄错了。有人可以帮忙澄清一下吗?

【问题讨论】:

【参考方案1】:

好吧,我想我应该知道答案了。

我的想法是正确的,客户端SAML密钥用于签署SAML请求,领域密钥用于签署SAML响应。

客户端SAML私钥应该保存在客户端的应用程序端,keycloak之所以保存它,是因为keycloak提供了“安装”功能,方便用户下载适配器配置。

如果私钥没有保存在keycloak中,那么用户必须自己输入密钥值,那可能就不那么方便了。

【讨论】:

以上是关于Keycloak 客户端设置,SAML 私钥暴露的主要内容,如果未能解决你的问题,请参考以下文章

Keycloak SAML 集成

SSO 与 SAML、Keycloak 和 Nextcloud

有没有办法过滤/避免 keycloak SAML 断言中的重复属性名称?

自定义策略中的 ClaimsTransformation 错误

Keycloak IdP SAML2 将 XML 元数据导出到 SP

别名为 mykey 的 SAML-Key 没有私钥