- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定以下 SAML 响应,我如何手动验证签名是否有效?我假设我应该依赖元数据中提供的 IDP 证书,而不是响应本身中的证书(尽管它们应该是相同的)。
有什么方法可以用 openssl 或 xmlsec1 命令做到这一点吗?
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="s2a79da8e2cd2eda272fd5d2d474858f1919430a96" Version="2.0" IssueInstant="2016-08-25T00:24:45Z" Destination="http://10.88.111.163:8080/zport/dmd">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://idp.ssocircle.com</saml:Issuer>
<samlp:Status xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<samlp:StatusCode xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Value="urn:oasis:names:tc:SAML:2.0:status:Success">
</samlp:StatusCode>
</samlp:Status>
<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="s22b55a88e8022a4d198715d5b3f21c3fbd699dac4" IssueInstant="2016-08-25T00:24:45Z" Version="2.0">
<saml:Issuer>https://idp.ssocircle.com</saml:Issuer><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#s22b55a88e8022a4d198715d5b3f21c3fbd699dac4">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>abEMP7cxDW8LwnvcUzr2dHmQesk=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
#SIGNATURE#
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
#CERTIFICATE#
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature><saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" NameQualifier="https://idp.ssocircle.com" SPNameQualifier="instance">ben</saml:NameID><saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2016-08-25T00:34:45Z" Recipient="http://10.88.111.163:8080/zport/dmd"/></saml:SubjectConfirmation>
</saml:Subject><saml:Conditions NotBefore="2016-08-25T00:14:45Z" NotOnOrAfter="2016-08-25T00:34:45Z">
<saml:AudienceRestriction>
<saml:Audience>instance</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2016-08-25T00:16:14Z" SessionIndex="s2e2b6d389c12dd386a118286d1228e159faee1901"><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml:AuthnStatement><saml:AttributeStatement><saml:Attribute Name="EmailAddress"><saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">me@email.com</saml:AttributeValue></saml:Attribute><saml:Attribute Name="FirstName"><saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Ben</saml:AttributeValue></saml:Attribute></saml:AttributeStatement></saml:Assertion>
</samlp:Response>
最佳答案
假设验证证书在一个名为 cert.pem
的文件中并且(未修改的,逐字的)SAML 响应在 response.xml
中,xmlsec1
可用于验证响应上的签名,如下所示:
xmlsec1 verify --id-attr:ID "urn:oasis:names:tc:SAML:2.0:protocol:Response" --pubkey-cert-pem cert.pem response.xml
关于xml - 如何手动验证 SAMLResponse 签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157593/
给定以下 SAML 响应,我如何手动验证签名是否有效?我假设我应该依赖元数据中提供的 IDP 证书,而不是响应本身中的证书(尽管它们应该是相同的)。 有什么方法可以用 openssl 或 xmlsec
我已将我的网站与 TFIM 集成以实现 SSO。SSO 工作正常,但我无法在 SAMLResponse 中获得签名。它变得空了。但它已经存在于 SAMLResponse 中。当我试图从 samlres
基于 SAML sp 的身份验证具有以下简短的工作流程。 用户想在 sp 访问应用程序。 sp 将 SAMLRequest token 发送给 idp。 idp 使用它并生成 SAMLResponse
我有一个 IDP,它生成带有签名断言的 SAMLResponse。我不打算添加生成的 XML 文件的示例,因为它会使问题太长。但如果这真的有帮助,请告诉我,我会添加它。 SP 要求对断言进行加密并对响
我正在运行 Shibboleth SSO 登录页面,当我成功验证自己时,它会使用 SAMLResponse 字符串执行 POST,该字符串包含对我的 .NET MVC 应用程序的 base-64 编码
我是一名大学生,试图在 Java 中为 WebSSO 实现一个服务提供商插件。我使用 Shibboleth IdP 作为身份提供者。我已经能够将身份验证请求发送到 IdP,并通过 servlet 成功
我有SSO login setup with Azure与上面的类似: 在我的应用程序 (RP) 端的 ACS 发出的 POST 请求 (6&7) 中,我得到: ~~~~~~~~~ 发布 wa:wsi
我正在使用Onelogin 2.0 toolkit 。我没有将登录和 ACS 作为 jsp 文件添加,而是将它们添加为休息服务。当我的 IdP 重定向到 ACS 服务 URL 时,我收到此错误。 SA
我正在尝试将我的 SAML 2.0 服务集成到 Azure B2C 中。我们已成功实现单点登录,但无法使单点退出完全正常工作。 我们已将问题范围缩小到我们的服务未正确处理注销响应,特别是 B2C 调用
阅读SAML core documentation我不知道在 SP 启动的 SAML2.0 后重定向流中哪里需要 InResponseTo(如果有的话)。 文档规定 InResponseTo 在 Su
我正在尝试将我的 SAML 2.0 服务集成到 Azure B2C 中。我们已成功实现单点登录,但无法使单点退出完全正常工作。 我们已将问题范围缩小到我们的服务未正确处理注销响应,特别是 B2C 调用
阅读SAML core documentation我不知道在 SP 启动的 SAML2.0 后重定向流中哪里需要 InResponseTo(如果有的话)。 文档规定 InResponseTo 在 Su
请告诉我使用 Azure AD SAML2.0 在 ASP.net MVC 中实现 SAML 2.0 的代码。我们已经在 SSO 中使用了以下 SAML 协议(protocol)方法,但它并未与 Az
请告诉我使用 Azure AD SAML2.0 在 ASP.net MVC 中实现 SAML 2.0 的代码。我们已经在 SSO 中使用了以下 SAML 协议(protocol)方法,但它并未与 Az
我是一名优秀的程序员,十分优秀!