gpt4 book ai didi

saml - 如何调试 SAML 响应上的无效签名

转载 作者:行者123 更新时间:2023-12-02 03:40:27 27 4
gpt4 key购买 nike

我们正在使用ruby-saml将我们的应用程序建立为服务提供商,同时使用 Google 作为身份提供商,尽管我不认为这个问题特定于 Ruby 或该项目。

我见过this answer from the point of view of an IdP ,但我希望从 SP 的角度看到这一点,因为我很难相信 Google 的响应签名是错误的。

除此之外,我们还成功地与其他 Google 帐户集成,并且在这个帐户出现故障的同时它们也能正常工作。

作为服务提供商,我们如何找出来自身份提供商的 SAML 响应无效签名的来源?

最佳答案

我们有同样的错误,但解决方案不同。我们的问题是 xml 响应中存在无效字符。解析和验证均失败。我们可以在解析之前替换这些字符,但是由于内容发生了变化,验证仍然会失败。解决方案是对响应进行 Base64 解码,然后在编辑器(或在线 xml 验证器)中打开 xml 响应以查找有问题的数据。在我们的例子中:来自 AD 的属性名称“objectSid”。然后我们更改了 simplesamlphp 配置,以便它只发送我们需要的数据。现在响应验证并解析没有问题。顺便说一句,在“settings.idp_cert”(使用 ruby​​-saml gem)中,我们包含“开始证书和结束证书 header ”。

enter image description here

还有一些浏览器插件可以拦截 saml 对话以进行调试。

另请检查此以进行在线故障排除:

验证响应: https://www.samltool.com/validate_response.php(注意不要将私钥粘贴到网上。响应验证只需要公共(public)证书)

验证 XML: https://www.xmlvalidation.com

在线base64解码: https://www.samltool.com/base64.php

关于saml - 如何调试 SAML 响应上的无效签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48797528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com