首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得带有证书的keycloak作为sp的saml元数据

如何获得带有证书的keycloak作为sp的saml元数据
EN

Stack Overflow用户
提问于 2019-09-18 08:44:08
回答 3查看 4.8K关注 0票数 2

我已经设置了一个密钥披风服务器。然后,我在那个领域中创建了一个领域,一个SAML。因此,我的keycloak服务器是一个SAML,它使用该IDP进行身份验证。IDP需要SAML元数据。我可以在IDP条目的“导出”选项卡中的keycloak管理控制台中导出它。我也可以在这里下载:

代码语言:javascript
复制
http[s]://{host:port}/auth/realms/{realm-name}/broker/{broker-alias}/endpoint/descriptor

但是元数据不包含X509证书:

代码语言:javascript
复制
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://keycloak.sample/auth/realms/nodejs-example">
    <SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false"
            protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol http://schemas.xmlsoap.org/ws/2003/07/secext">
        <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://keycloak.sample/auth/realms/nodejs-example/broker/idp.devel/endpoint"/>
        <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
        </NameIDFormat>
        <AssertionConsumerService
                Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://keycloak.sample/auth/realms/nodejs-example/broker/idp.devel/endpoint"
                index="1" isDefault="true" />
    </SPSSODescriptor>
</EntityDescriptor>

我如何在元数据中加入一个?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-09-20 07:24:22

根据winstonhongs的回答,密钥披风服务器在此配置中不需要证书。我将instantly中的“希望断言加密”设置为ON,并立即将X509Certificate条目显示在Export中。

票数 1
EN

Stack Overflow用户

发布于 2019-09-18 13:30:40

问题:SAML元数据不包含X509证书。

我如何在元数据中加入一个?

答案

如果(I) Keycloak确实需要签署SAML身份验证请求,或者(II) IdP is NOT需要加密密钥披风SAML SP的SAML断言,则可以确定密钥披风的SAML的SAML元数据不包含X509证书。

(1) SAML元数据不一定包含证书,而不一定包含X509证书。也就是说,对于SAML元数据来说,X509证书不是必需的。

例如,Google和ComponentSpace都提供没有X509证书的SAML元数据。

(I) 谷歌G套房的SAML元数据不包含,而不是,包含X509证书。我将Google的SAML元数据上传到Shibboleth SAML IdP服务器,然后通过Shibboleth提供的SAML身份验证登录到Google。

为了便于您参考没有X509证书的SAML元数据,我制作了第十四次将Google元数据和相应的SAML配置上传到GitHub存储库的如何使用Docker容器构建和运行Shibboleth、IdP和SP

(II) ComponentSpace开发提供关于如何生成没有证书的SAML服务提供程序元数据的指南。

没有指定签名或加密证书,因此生成的元数据中没有包含证书。

代码语言:javascript
复制
ExportMetadata.exe
SAML configuration file to export [saml.config]:
X.509 signature certificate file [None]:
X.509 encryption certificate file [None]:
Assertion Consumer Service URL [None]: http://localhost:51901/SAML/AssertionConsumerService.aspx
Single Logout Service URL [None]:
Partner Identity Provider Name [None]:
SAML metadata file [metadata.xml]:

(2)如果SAML SP需要签名SAML身份验证请求或SAML IdP需要加密SAML断言,则SAML SP元数据需要包含SAML证书。

(3)与SAML完全不同的是,SAML IdP元数据至少应该包含一个用于签名SAML响应/断言的X509证书。

后续答案由Galdor提供

如果您需要SAML来加密Keycloak的SAML断言

(I)将instantly中的“要加密的断言”设置为上的,然后X509Certificate条目立即出现在Export中。

(II)下载Keycloak的SAML元数据,该元数据应包含用于加密的X509证书。

票数 2
EN

Stack Overflow用户

发布于 2021-05-27 11:27:53

现在,您可以在KC 13.0.1中使用您的领域键区来唱歌您的元数据。在这里查看更多信息:管理员/#saml-v2-0-标识-提供者

签名服务提供者元数据-如果为真,它将使用领域的键区签署SAML服务提供者元数据描述符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57988599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档