【问题标题】:SAML Assertion Value XML Signature WrappingSAML 断言值 XML 签名包装
【发布时间】:2017-05-24 13:32:37
【问题描述】:

使用 .NET 3.5

我的一位客户要求我改进检查他们发送给我的 SAML 响应的方式。

他们通过使用共享证书进行数字签名的响应发送。这一切都很好,但他们让我意识到,使用 Burp 等工具,他们能够拦截他们发送给我的响应并更改正在发送的 ID 值。这称为 XML 签名包装。

我的问题是如何检查我收到的值没有被更改?

非常感谢

马特

【问题讨论】:

  • 是断言签名,还是响应签名?您今天如何验证它?

标签: .net xml saml word-wrap assertion


【解决方案1】:

当您根据预共享证书在 .NET 中验证 XML 签名时,您应该做两件事:

  1. 调用SignedXml.CheckSignature()根据签名检查签名所指内容是否有效。
  2. 检查签名的引用(在 SAML2 的情况下应该只有一个),然后使用引用的 ID 调用 SignedXml.GetIdElement()。然后在进一步处理中使用返回的节点。这将确保您正在处理的节点与 SignedXml 验证的节点相同

如需进一步阅读,请参阅我的博文https://coding.abel.nu/2015/12/xml-signatures-and-references/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 2019-08-08
    • 2018-03-16
    • 2016-11-26
    • 1970-01-01
    • 2020-12-30
    相关资源
    最近更新 更多