As per section 5.35.3 of RFC 4492RFC 4492, I'm confused with the following table:
Key Exchange Algorithm Server Certificate Type
---------------------- -----------------------
ECDH_ECDSA Certificate MUST contain an
ECDH-capable public key. It
MUST be signed with ECDSA.
ECDHE_ECDSA Certificate MUST contain an
ECDSA-capable public key. It
MUST be signed with ECDSA.
ECDH_RSA Certificate MUST contain an
ECDH-capable public key. It
MUST be signed with RSA.
ECDHE_RSA Certificate MUST contain an
RSA public key authorized for
use in digital signatures. It
MUST be signed with RSA.
Specifically, I would like to know about the difference between
ECDH-capable public key
and
ECDSA-capable public key
What actually defines an EC*-capable public key and what are the differences between the two?
I am using XCA/OpenSSL and have configured a CA and signed server certificate to use a prime256v1/P-256 EC key. Then, I will have a client/server using the following cipher suites:
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
and
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA