KeyUsage
KeyUsage ::= BIT STRING {
digitalSignature (0), -- sign data/handshakes
contentCommitment (1), -- non-repudiation signing (old: nonRepudiation)
keyEncipherment (2), -- encrypt symmetric keys (RSA key transport — TLS 1.2)
dataEncipherment (3), -- encrypt bulk data directly (rare)
keyAgreement (4), -- ECDH
keyCertSign (5), -- sign certificates (CA cert only)
cRLSign (6), -- sign CRLs
encipherOnly (7), -- combined with keyAgreement
decipherOnly (8) -- combined with keyAgreement
}
CA certificate: must have keyCertSign; usually also cRLSign.
TLS server leaf cert (ECDHE): needs digitalSignature.
Should be critical.