如何读取加密的断言?

Posted

技术标签:

【中文标题】如何读取加密的断言?【英文标题】:How to read encrypted assertions? 【发布时间】:2021-12-10 19:41:59 【问题描述】:

我正在编写一个 SAML2 服务提供者/依赖方。我的 IdP 以加密形式(EncryptedAssertion 元素)返回断言。 ITfoxtec.Identity.Saml2是否支持这种Assertion解密场景?我遇到了这个异常:

ITfoxtec.Identity.Saml2.Saml2RequestException: There is not exactly one Assertion element.
   at ITfoxtec.Identity.Saml2.Saml2AuthnResponse.GetAssertionElementReference()
   at ITfoxtec.Identity.Saml2.Saml2AuthnResponse.GetAssertionElement()
   at ITfoxtec.Identity.Saml2.Saml2AuthnResponse.Read(String xml, Boolean validateXmlSignature)
   at ITfoxtec.Identity.Saml2.Saml2PostBinding.Read(HttpRequest request, Saml2Request saml2RequestResponse, String messageName, Boolean validateXmlSignature)
   at ITfoxtec.Identity.Saml2.Saml2Binding`1.ReadSamlResponse(HttpRequest request, Saml2Response saml2Response)

谢谢!

【问题讨论】:

【参考方案1】:

终于明白了!我只需要设置Saml2Configuration.DecryptionCertificate

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 您收到“不完全是一个断言元素”。错误,因为断言未成功解密。您设置 DecryptionCertificate 设置来解密断言是正确的。

以上是关于如何读取加密的断言?的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你jmeter+fiddler处理加密 解密 以及断言处理

Spring Security Saml 2.0 是不是支持断言级别加密和 AES-256 作为加密算法?

使用 OpenSAML 在 Java 中使用 SAML 2.0 解密加密断言

Jmeter之Bean shell使用——断言加密的响应信息

java如何读取一个加密后的.xls文件

NetTcpBinding(读取 WindowsStreamSecurityBindingElement)如何加密/签署消息?