如何验证SAML证书?

保罗·德雷珀

我是SAML的新手,并对预期的签名和信任过程感到困惑。

我正在对SP进行编程,并samlp:Response从IDP接收到包含以下内容的签名KeyInfo

<KeyInfo>
    <ds:X509Data>
        <ds:X509Certificate>
            MIIC4DCCAcigAwIBAgIQRzFzcQiEKpFD2C+gNZ8cFDANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDEyFBREZTIFNpZ25pbmcgLSB0ZXN0Lmx1Y2lkYXV0aC5jb20wHhcNMTYwNTA2MDcyODM5WhcNMTcwNTA2MDcyODM5WjAsMSowKAYDVQQDEyFBREZTIFNpZ25pbmcgLSB0ZXN0Lmx1Y2lkYXV0aC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqng7wxIkT7VpVJhQYgwWMngST4EhxWha+vI9/5V+D0nWZXp6MIMiFO7rv0n4+og7fdVXHjK9wL4cG9MVUMFpV8cxl7lmwKC/EomPbdsHZfCQ4QE/M+jHUDRoyeqSZgUO1oMigz65FzSdtRoM6A3TKasU5+ISttvGx66gkP5wuQUllBfDJxuVA+5qPVLas5/0s/CCyVbKPDqYwn/GMKsTc1ECy8oEeBOrfRzEsQrqlkLcoriMXYIRW92j4MWUTnz3Ce4zTGPldPl2ix/dVk02MoJEgK7NTDru+2yvo0QDIvzWWs0rltF26UdABqsiq+uuwYiKkGQpBldyjfqVvmwChAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAKeywqRnNuBGaNB6k6wuDAK6Aknx28RXbJAMe9SkSAo6L16qbdRdL8JCGZCDRF7OI8GLMEZj+yStRPikEstBQYeOi+1OSDf6iqOr7LM/OURG3pNq/LUOdNJJcYUSuK3FPP4HSMOo6dOX5IHS+7OOh70CMg5dfdtjvHqb8ZsRUk30JX9nVcXXRO8Vqzgb7WjuVjGvz/zSR6Dy+f+N6UDerIauQxHPu81SasxEUE4R6pr/Tm80E6uoicp7VBtE8YGHBhag9c+rp/xLANJ+Oc0poKDvLr8odnlUvEgy5RQhqbPefQ9n8E5Pba2IA0w/tfsk0w/z2jNwgLzNCfJGyrGHiH4=
        </ds:X509Certificate>
    </ds:X509Data>
</KeyInfo>

我假定已包含证书,因此我不必猜测是哪个证书在响应中签名。

但这现在似乎不是很有用。似乎没有包含证书链。所以我真的不能相信这个回应。

我想可以通过第二个受信任的带外协议为我提供证书,但这似乎不是正确的解决方案,因为每次证书到期时都必须重复该证书。

如果给出了X509链(例如SSL),这是一个很容易解决的问题。

考虑到证书可能过期,推荐的验证X509证书信任的方法是什么?

亚伯是不同的

我想可以通过第二个受信任的带外协议将证书授予我。

这就是SAML实现通常要做的事情。SAML将证书基础结构用作“传达关键材料的高度通用且可扩展的手段。此规范对此元素的允许或建议内容或对依赖方的含义不持任何立场。作为具体示例,包括X.509证书(按值或引用)。其有效期,扩展名,吊销状态和其他相关内容可以由依赖方决定是否执行。”

因为每次证书过期都必须重复该步骤。

由于通常不强制执行到期,因此没有关系。重要的是何时更改密钥(密钥翻转)。为了处理证书,通常是从Idp发布的元数据中加载证书。这意味着最终,信任的基础是Idp上元数据终结点的TLS证书。

在某些情况下,TLS的信任度不够(我在医疗保健领域经历过),并且仅通过安全的带外通信渠道(例如在个人会议中)交换证书。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何验证SAML证书?

来自分类Dev

如何验证ADFS SAML令牌

来自分类Dev

SSL证书的验证方式如何?

来自分类Dev

如何验证 SSL Java 证书

来自分类Dev

如何将证书传递给WSTrust以获取Saml令牌

来自分类Dev

如何使用Capybara跳过SSL证书验证

来自分类Dev

如何验证Pem证书的密码短语

来自分类Dev

如何使用openssl验证证书链

来自分类Dev

如何完全验证X509证书?

来自分类Dev

如何使用jmeter启用证书验证

来自分类Dev

如何使用openssl验证DER证书?

来自分类Dev

如何验证私钥是否与证书匹配?

来自分类Dev

如何验证sks-keyservers HKPS证书?

来自分类Dev

如何实际处理吊销证书的验证?

来自分类Dev

如何在树莓派上验证 openssl 证书?

来自分类Dev

如何修复“SSL 错误:证书验证失败”

来自分类Dev

如何验证 x509 证书的签名?

来自分类Dev

根据PHP中的证书验证SAML响应中的数字签名

来自分类Dev

如何使用mbedtls验证证书是否验证了密钥?

来自分类Dev

如何为基于证书的身份验证使用httr指定证书,密钥和根证书?

来自分类Dev

SAML签名证书-哪种SSL证书类型?

来自分类Dev

使用Okta的证书的SAML问题

来自分类Dev

如何支持SAML进行用户身份验证

来自分类Dev

如何使用opensaml验证(azure)saml xml响应?

来自分类Dev

验证SAML响应的签名

来自分类Dev

SAML签名验证失败

来自分类Dev

仅SAML令牌验证

来自分类Dev

SAML签名验证失败

来自分类Dev

如何使用R连接到远程PostgreSQL,需要证书验证