【问题标题】:How to verify ADFS encrypted SAML Response (Assertion)如何验证 ADFS 加密的 SAML 响应(断言)
【发布时间】:2022-01-01 16:57:16
【问题描述】:

我可以通过 HTTP-Redirect 绑定登录和接收 SAMLResponse,还可以使用私钥解密并检索声明。

我的问题仍然是我们是否需要验证 saml 响应(ADFS)?如果它如何做到这一点

我需要使用 IP(身份提供者)公钥吗?它会在 IP(元数据)中提供吗?

我在以下请求参数中有 SAML 响应

SAMLResponse = base64(deflate(data)) 签名 = 哈希值 sigAlg = sha256

如何验证?

【问题讨论】:

    标签: python saml adfs


    【解决方案1】:

    是的,您还需要验证 SAML 响应的数字签名。这是因为加密是使用您的公开信息完成的,任何有权访问您的元数据的人都可以使用它,并且不保证它是由您的 IdP 生成的。

    要验证您的 IdP 是否是生成 SAMLResponse 的人,您需要使用 IdP 公钥验证 SAMLResponse 的数字签名。这通常在 IdP 元数据中可用。

    【讨论】:

    • 我在以下请求参数中有SAML响应 SAMLResponse = base64(deflate(data)) signature = hashvalue sigAlg = sha256 如何验证?
    • 取决于您使用的软件。但是,您可能会遇到一些问题。不允许使用 HTTP 重定向在 Web SSO 中传递 SAML 响应。这是使用 HTTP post 或 HTTP 工件绑定完成的。
    • 我已经使用 python publickey.verfier(base64(deflate(data)),signature) 进行了验证 -> 但它返回失败。
    猜你喜欢
    • 1970-01-01
    • 2018-01-16
    • 2017-02-28
    • 2018-08-22
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多