我不确定如何陈述这个问题,因为我不知道到底是什么问题。
有一家第三方公司充当 SSO 结构的 SP。
他们几乎没有关于设置 IdP 以使 SSO 与他们合作的文档,而且我以前从未做过这样的事情。
我设置了一个证书,用于为 SAML 生成数字签名,并将相同的密钥上传到该公司的网站,以便他们了解我的 IdP 的响应。
但是,当我向他们发送 SAML 响应时,我收到一个通用错误,指出 SSO 响应无效。查看他们的文档,此错误的描述是:
我们无法验证 SAML 响应。这可能是由无效的数字签名引起的,可能是由于 IdP 和 SP 之间的公钥/私钥不匹配。它也可能由响应中指定的无效受众或有效时间窗口(NotBefore 和 NotOnOrAfter)引起。
我更关心的是“无效的数字签名”,因为看我发送的 SAML 响应,观众是他们要求的,时间窗口很好,我确定我是使用相同的密钥生成 SAML 以及我发送给他们的那个。
我可能在很多事情上都错了,但我的问题是,我如何确保我的数字签名有效并且格式和格式正确?
如果您是 SAML 专家,请查看我的 SAML 是否合理:
Tried to post SAML here, didn't work, but if you think that looking at it would be useful let me know.
我正在使用 WIF 生成 SAML,我想知道摘要和签名算法是否会影响此错误。
好吧,欢迎任何帮助和想法!