当前位置: 首页 > 知识库问答 >
问题:

如何验证ADFS加密的SAML响应(断言)

吕利
2023-03-14

我可以通过HTTP-Redirect绑定登录和接收SAMLResponse,也可以使用privatekey解密和检索声明。

我的问题仍然是,我们需要验证saml响应(ADFS)吗?如果是如何做到这一点

我需要使用IP(身份提供商)公钥吗?它将在IP(元数据)中可用吗?

我在下面的请求参数中有SAML响应

SAMLACK=base 64(缩小(数据))签名=hashvalue sigAlg=sha256

如何验证?

共有1个答案

虞展
2023-03-14

是的,您还需要验证SAML响应的数字签名。这是因为加密是使用您的公共资源完成的。任何人都可以访问您的元数据,并且不能保证它是由您的IdP生成的。

要验证您的IdP是否是产生SAMLResponse的IdP,请使用IdP公钥验证SAMLRespose的数字签名。这通常在IdP元数据中可用。

 类似资料:
  • 我通过HTTP重定向从ADFS获得了SAML响应,并且在重定向时收到了以下请求参数

  • 我试图遵循以下规范来验证SAML响应的签名:https://www.w3.org/tr/xmldsig-core/#sec-pkcs1 下面是我的工作流程:我得到SAML响应。我去掉签名信封,我把它规范化,我检查摘要,然后我检查签名。我能够成功地计算转换的SAML响应的SHA1摘要,并对其进行验证。然而,RSA-SHA1签名检查仍然无法实现。 SAML响应包含签名方法算法:http://www.w

  • OpenAM是否依赖于注册IDP的公钥来使SAML响应多样化 或还取决于来自IDP-like算法的SAML响应中的哈希算法=”http://www.w3.org/2000/09/xmldsig#sha1“” 注意OpenAM版本:13.0.0

  • 我在验证从ADFS服务器获得的SAML响应时遇到了问题。我以url的形式获得响应,例如,而是http://www.w3.org/2001/04/xmldsig-more#rsa-sha256。我设法解码了响应,但无法找到使用给定签名验证响应的方法。 我的主要问题是签名有一个非常意外的格式。由于给定的签名算法,我希望签名的长度为32字节,但是当我base64-decode签名时,我得到的是长度为25

  • 我有一个Java桌面应用程序。我发现了很多关于web应用SSO身份验证的在线资源。我需要一个旧的学校桌面应用程序同样的东西。基本上,我需要该应用程序打开浏览器窗口,让用户根据ADF进行身份验证,然后取回令牌。 如何使用ADFS/SAML添加SSO身份验证?

  • 我在解密收到的验证响应SAML消息时遇到问题。我的应用程序连接了两个不同类型的国内流离失所者。第一是ForgeRocks,OpenAM,第二是微软的ADFS服务器。为两个IDP提供了相同的服务提供商元数据文档,该文档包含用于加密和签名的相同证书公钥。 案例01 IdP : OpenAM,ForgeRock结果:正确处理解密和响应。 案例02 IdP:ADFS 2.0,Microsoft结果:解密失