RFC 9336: X.509 Certificate General-Purpose Extended Key Usage (EKU) for Document Signing
- T. Ito,
- T. Okubo,
- S. Turner
Abstract
RFC 5280 specifies several extended key purpose identifiers
(KeyPurposeIds) for X.509 certificates. This document defines a
general-purpose Document
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
[RFC5280] specifies several extended key purpose
identifiers (KeyPurposeIds) for X.509 certificates. In addition, the
IANA repository "SMI Security for PKIX Extended Key Purpose" [RFC7299] includes a number of KeyPurposeIds. While usage of
the any
In circumstances where code signing and S/MIME certificates are also
used for Document Signing, technical or policy changes made to the
code signing and S/MIME ecosystem may cause unexpected behaviors or
have an adverse impact such as decreased cryptographic
agility on the Document
Vendor-defined KeyPurposeIds that are used in a PKI governed by the
vendor or a group of vendors pose no interoperabilit
Therefore, it is not favorable to use a vendor-defined KeyPurposeId for signing a document that is not governed by the vendor.¶
This document defines an extended key purpose identifier for Document Signing.¶
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
3. Extended Key Purpose for Document Signing
This specification defines the KeyPurposeId id
As described in [RFC5280], "[i]f the [Extended Key Usage] extension is present, then the certificate MUST only be used for one of the purposes indicated." [RFC5280] also notes that "[i]f multiple [key] purposes are indicated the application need not recognize all purposes indicated, as long as the intended purpose is present."¶
Document-Signing applications MAY require that the EKU extension be present
and that the id
The term "Document Signing" in this document refers to digitally signing contents that are consumed by people. To be more precise, contents are intended to be shown to a person in a printable or displayable form by means of services or software, rather than processed by machines.¶
3.1. Including the Extended Key Purpose for Document Signing in Certificates
[RFC5280] specifies the EKU X.509 certificate extension for use on the Internet. The extension indicates one or more purposes for which the certified public key is valid. The EKU extension can be used in conjunction with the key usage extension, which indicates the set of basic cryptographic operations for which the certified key may be used.¶
The EKU extension syntax is repeated here for convenience:¶
As described in [RFC5280], the EKU extension may, at the option of the certificate issuer, be either critical or non-critical.¶
This specification defines the KeyPurposeId id
4. Using the Extended Key Purpose for Document Signing in a Certificate
Our intended use case is people consuming the contents of signed documents. To be more precise, contents are intended to be shown to a person in a printable or displayable form by means of services or software, rather than processed by machines. The digital signature on the contents is to indicate to the recipient of the contents that the content has not changed since it was signed by the identity indicated as the subject of the certificate. To validate the digital signature that is signed on contents intended to be consumed by people, implementations MAY perform the steps below during certificate validation.¶
The following procedure is used to examine the KeyPurposeId(s) included in the EKU extension. Restrictions on EKU is derived and implemented from (or configured with) the policy to which the implementation conforms.¶
When a single application has the capability to process various data formats, the software may choose to make the excluded and permitted decisions separately in accordance with the format it is handling (e.g., TEXT and PDF).¶
6. Security Considerations
The usage of the id
To reduce the risk of specific cross-protocol attacks, the relying party or the relying party software may additionally prohibit use of specific combinations of KeyPurposeIds.¶
While a specific protocol or signing scheme may choose to come up with
their own KeyPurposeIds, some may not have significant motive or
resources to set up and manage their own KeyPurposeIds. This general-purpose
Document
Introduction of this id
7. IANA Considerations
IANA has registered the following OID in the "SMI Security for PKIX
Extended Key Purpose" registry
IANA has also registered the following ASN.1 [X.680] module OID in the "SMI
Security for PKIX Module Identifier" registry
8. References
8.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC5280]
-
Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, DOI 10
.17487 , , <https:///RFC5280 www >..rfc -editor .org /info /rfc5280 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [X.680]
- ITU-T, "Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation", ITU-T Recommendation X.680, .
8.2. Informative References
- [RFC7299]
-
Housley, R., "Object Identifier Registry for the PKIX Working Group", RFC 7299, DOI 10
.17487 , , <https:///RFC7299 www >..rfc -editor .org /info /rfc7299
Appendix A. ASN.1 Module
The following ASN.1 [X.680] module provides the complete definition of the
Document
Acknowledgments
We would like to thank Russ Housley for verifying the ASN.1 module. Additionally, we would like to thank Corey Bonnell, Wendy Brown, Russ Housley, Prachi Jain, and Stefan Santesson for their comments.¶