我是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] 删除。
我来说两句