我需要关于ECDSA证书的相关信息。据我所知,ECDSA证书应该包含ECDSA签名,但我发现Facebook和Google服务器证书使用了带有RSA签名的ECDSA证书。
是否可能拥有带有RSA签名的ECDSA证书?
我需要关于ECDSA证书的相关信息。据我所知,ECDSA证书应该包含ECDSA签名,但我发现Facebook和Google服务器证书使用了带有RSA签名的ECDSA证书。
是否可能拥有带有RSA签名的ECDSA证书?
Steffen的回答对于X.509标准和许多基于标准SSL库的浏览器是正确的。然而,在这个现实世界中,我发现一些设备在TLS 1.2协商中拒绝具有RSA签名的ECDSA证书。
我认为原因是设备作者遵循了RFC-4492(**为我的注释)。
2.2. ECDHE_ECDSA
In ECDHE_ECDSA, the server's certificate **MUST** contain an ECDSA-
capable public key and **be signed with ECDSA.**
The server sends its ephemeral ECDH public key and a specification of
the corresponding curve in the ServerKeyExchange message. These
parameters MUST be signed with ECDSA using the private key
corresponding to the public key in the server's Certificate.
7.4.4. Certificate Request
...
If the client provided a "signature_algorithms" extension, then all
certificates provided by the server MUST be signed by a
hash/signature algorithm pair that appears in that extension. **Note
that this implies that a certificate containing a key for one
signature algorithm MAY be signed using a different signature
algorithm (for instance, an RSA key signed with a DSA key). This is
a departure from TLS 1.1, which required that the algorithms be the
same.** Note that this also implies that the DH_DSS, DH_RSA,
ECDH_ECDSA, and ECDH_RSA key exchange algorithms do not restrict the
algorithm used to sign the certificate. Fixed DH certificates MAY be
signed with any hash/signature algorithm pair appearing in the
extension. The names DH_DSS, DH_RSA, ECDH_ECDSA, and ECDH_RSA are
historical.