首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAML SP:信任IdP的证书

SAML SP:信任IdP的证书
EN

Stack Overflow用户
提问于 2021-09-07 09:09:42
回答 1查看 47关注 0票数 0

我是SP,想要验证来自IdP的签名。IdP告诉我,我们的SP不信任IdP的证书。

根据我的理解,这种情况会发生:

代码语言:javascript
复制
SP-> SAML request digitally signed with private key of SP
IdP-> SAML request gets verified with public key of SP (from metadata)

IdP-> SAML response signed with private key of IdP
SP-> SAML response gets verified with public key of IdP (from metadata)

那么,我需要如何信任IdP的证书呢?当它使用元数据中提供的公钥进行验证时,还不够吗?是否需要将证书中的内容导入到我的IdP文件夹中?

EN

回答 1

Stack Overflow用户

发布于 2021-09-08 14:55:56

考虑这些事情的最好方法可能是,签名应该始终使用私钥完成,验证应该始终使用公钥完成。

在SP启动的标准web流中,以下是使用证书的位置和方式的说明:

  • SP --> IdP SP发送的AuthnRequest是使用SP的私钥签名的,IdP使用SP的公共key
  • IdP --> SP验证AuthnRequest签名,至少IdP发送的SamlResponse的一部分将被签名。如果整个响应都不是,那么里面的断言应该是。如果整个响应都是签名的,那么断言就不一定是签名的。在任何一种情况下,签名都将使用IdP的私钥,SP将使用IdP的公钥对其进行验证。

一些产品(可能是所有的DIY系统/库)可能允许您对响应和断言进行签名,但没有理由这样做-没有理由。除了对响应进行签名之外,它没有提供任何额外的好处。

正如Stefan在他对这个问题的评论中指出的那样,这个“问题”通常在产品中通过使用元数据传输来配置自己来解决,而不仅仅是一些URL和公钥的电子邮件交换。元数据交换的典型流程是SP向IdP提供基准元数据文件,该文件定义SPs ACS URL、用于签名验证的SP公钥以及其应用程序所需的属性。然后IdP加载它,找出它们具有哪些属性来满足SP的属性要求,然后生成它们的元数据,其中包含它们的协议URL(例如应该将身份验证请求发送到何处)和证书等,并将其发送回SP。SP加载它,然后你就可以去赛马了。

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

https://stackoverflow.com/questions/69085382

复制
相关文章

相似问题

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