X.509 Certificate General-Purpose Extended Key Usage (EKU) for Document Signing
Extracted elements (15)
Document Signing is defined narrowly as digitally signing contents consumed by people in printable or displayable form, explicitly distinguishing it from machine-processed content. This scoping prevents overreach of the KeyPurposeId to automated processing scenarios.
The existing practice of using id-kp-emailProtection or id-kp-codeSigning for Document Signing is problematic because technical or policy changes to those ecosystems can cause unexpected behaviors or decreased cryptographic agility in the Document-Signing ecosystem. A dedicated KeyPurposeId avoids this coupling.
Vendor-defined KeyPurposeIds used outside their originally intended vendor-controlled environment can introduce problems of difficult-to-determine impact. A public, general-purpose Document-Signing KeyPurposeId is therefore preferable for non-vendor-governed document signing.
When a single application handles various data formats (e.g., TEXT and PDF), the software may apply excluded and permitted KeyPurposeId decisions separately in accordance with the specific format being handled.
Document-Signing applications MAY require that the EKU extension be present and that id-kp-documentSigning be indicated in order for the certificate to be acceptable to that Document-Signing application.
If the EKU extension is present in a certificate, then the certificate MUST only be used for one of the purposes indicated, per RFC 5280.
Implementations MAY perform the specified certificate validation steps when validating a digital signature on contents intended to be consumed by people, including processing Excluded and Permitted KeyPurposeId restrictions.
The procedures and practices employed by a certification authority MUST ensure that the correct values for the EKU extension are inserted in each certificate that is issued.
Unless certificates are governed by a vendor-specific PKI, certificates that indicate usage for Document Signing MAY include the id-kp-documentSigning KeyPurposeId, and its inclusion does not preclude the inclusion of other KeyPurposeIds.
The certificate validation procedure processes Excluded KeyPurposeId restrictions first, then Permitted KeyPurposeId restrictions. If a KeyPurposeId meets an Excluded condition, the certificate is rejected; if it meets a Permitted condition, it is accepted.
This document defines the KeyPurposeId id-kp-documentSigning (OID 1.3.6.1.5.5.7.3.36) for use in the Extended Key Usage extension of X.509 certificates. It indicates that the public key has been certified for cryptographic operations on contents consumed by people in printable or displayable form.
IANA registered OID decimal 36 (id-kp-documentSigning) in the 'SMI Security for PKIX Extended Key Purpose' registry (1.3.6.1.5.5.7.3), and OID decimal 104 (id-mod-docsign-eku) in the 'SMI Security for PKIX Module Identifier' registry (1.3.6.1.5.5.7.0).
The id-kp-documentSigning KeyPurposeId reduces existing security risks by separating document signing from extended key purposes used for communication protocols (TLS via id-kp-clientAuth, S/MIME via id-kp-emailProtection), thereby minimizing the risk of cross-protocol attacks. It introduces no new security or privacy concerns.
To reduce the risk of specific cross-protocol attacks, relying parties or their software may additionally prohibit use of specific combinations of KeyPurposeIds rather than evaluating each KeyPurposeId in isolation.
The id-kp-documentSigning OID is encoded as { id-kp 36 }, where id-kp is { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) 3 }. It is included in the ExtKeyUsageSyntax SEQUENCE of KeyPurposeId OBJECT IDENTIFIERs.