5

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

我假设下面的领域密钥是 IDP 密钥对,这是有道理的,因为私钥没有公开。 在此处输入图像描述

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

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

4

1 回答 1

5

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

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

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

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

在此处输入图像描述

于 2018-06-07T03:56:26.407 回答