如何验证 ADFS 加密的 SAML 响应(断言)
How to verify ADFS encrypted SAML Response (Assertion)
我能够通过 HTTP-Redirect 绑定登录和接收 SAMLResponse,而且我能够使用私钥解密并能够检索声明。
我的问题仍然是我们是否需要验证 saml 响应 (ADFS)?如果它如何做到这一点
我需要使用 IP(身份提供商)public 密钥吗?它会在 IP(元数据)中可用吗?
我在以下请求参数中有 SAML 响应
SAML 响应 = base64(deflate(data))
签名 = 哈希值
sigAlg = sha256
如何验证?
是的,您还需要验证 SAML 响应的数字签名。这是因为加密是使用您的 public 完成的,任何有权访问您的元数据的人都可以使用它,但不能保证它是由您的 IdP 生成的。
要验证您的 IdP 是否是生成 SAMLResponse 的人,您可以使用 IdP public 密钥验证 SAMLResponse 的数字签名。这通常在 IdP 元数据中可用。
我能够通过 HTTP-Redirect 绑定登录和接收 SAMLResponse,而且我能够使用私钥解密并能够检索声明。
我的问题仍然是我们是否需要验证 saml 响应 (ADFS)?如果它如何做到这一点
我需要使用 IP(身份提供商)public 密钥吗?它会在 IP(元数据)中可用吗?
我在以下请求参数中有 SAML 响应
SAML 响应 = base64(deflate(data))
签名 = 哈希值
sigAlg = sha256
如何验证?
是的,您还需要验证 SAML 响应的数字签名。这是因为加密是使用您的 public 完成的,任何有权访问您的元数据的人都可以使用它,但不能保证它是由您的 IdP 生成的。
要验证您的 IdP 是否是生成 SAMLResponse 的人,您可以使用 IdP public 密钥验证 SAMLResponse 的数字签名。这通常在 IdP 元数据中可用。