Field Reference

Key Usage Extension Explained

The Key Usage extension restricts what operations a certificate's public key may be used for. Learn about digitalSignature, keyEncipherment, and other Key Usage values.

The Key Usage extension (OID 2.5.29.15) is a critical extension that defines the permitted cryptographic operations for the certificate's public key. If marked critical, a certificate must only be used for the operations listed — using it for other purposes violates PKI policy and most TLS implementations will reject such use.

Key Usage Bit Flags

  • digitalSignature: Key may be used to sign data (required for ECDSA TLS certificates)
  • nonRepudiation / contentCommitment: Key may be used for non-repudiation — the signer cannot later deny signing
  • keyEncipherment: Key may be used to encrypt other keys (required for RSA key exchange in TLS)
  • dataEncipherment: Key may be used to directly encrypt data (rare in TLS)
  • keyAgreement: Key may be used for Diffie-Hellman key agreement (used with DH/ECDH keys)
  • keyCertSign: Key may be used to sign other certificates — this is set on CA certificates
  • cRLSign: Key may be used to sign Certificate Revocation Lists
  • encipherOnly / decipherOnly: Used with keyAgreement to restrict direction

Typical Values for TLS Server Certificates

  • RSA certificate: digitalSignature, keyEncipherment
  • ECDSA certificate: digitalSignature
  • CA certificate: digitalSignature, keyCertSign, cRLSign

Key Usage vs. Extended Key Usage

Key Usage defines low-level cryptographic operations. Extended Key Usage (EKU) defines higher-level application purposes (TLS server, TLS client, email signing, code signing, etc.). Both extensions work together — a TLS server certificate should have both digitalSignature in Key Usage and TLS Web Server Authentication in Extended Key Usage.

Ready to inspect a certificate?

Use the free decoder to decode any PEM certificate and see all fields including key usage extension explained.

Decode a Certificate