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

SAML Signing Certificate - Which SSL Certificate Type?

我们目前正在使用 SAML 2.0 开发 SSL 解决方案,直到现在,我们一直在使用自签名证书来签署 XML 请求。

但是,随着我们转向生产环境,我们希望使用来自证书颁发机构的证书。但我不太确定要购买哪种类型的证书,因为它们都是以网站为中心的。比如单域、通配符域等

例如,一直在看这些: https://www.123-reg.co.uk/ssl-certificates/

在为网站购买 SSL 证书方面,我相当了解。但是,由于证书仅用于签署 SAML 请求,购买哪种类型的证书有关系吗?肯定是支持单域还是通配域无关紧要吧?

SAML 中的证书仅用作处理签名和加密密钥的便捷方式。密钥通常通过元数据进行交换,或者通过将证书安全传输给参与 SAML 交换的各方来进行交换。因此,不需要能够使用 public 权限验证证书。

SAML metadata specification (line 697)

中也有说明

This specification takes no position on the allowable or suggested content of this element, nor on its meaning to a relying partyAs a concrete example, no implications of including an X.509 certificate by value or reference are to be assumed. Its validity period, extensions, revocation status, and other relevant content may or may not be enforced, at the discretion of the relying party

所以我会继续使用自签名证书。

但是,如果您想购买证书,它应该有 "digital signature" 和 "key encipherment" 用法。普通 SSL 证书(至少我检查过的证书)确实包含这些用法。

"digital signature" 用法应该是不言自明的。 "key encipherment"是因为证书中的密钥没有直接加密数据。数据由适合较大数据大小的对称密钥算法加密。然后使用 RSA 密钥对该密钥进行加密(RSA 适用于较小的数据,例如加密密钥)。因此,RSA密钥用于encrypt/encipher一个密钥。