Network Working Group L. Liao Internet-Draft NIO Updates: 7030 (if approved) 4 May 2026 Intended status: Standards Track Expires: 5 November 2026 EST Lightweight Operations draft-liao-lamps-est-lightweight-operations-01 Abstract This document defines eight new operations for the Enrollment over Secure Transport (EST) protocol specified in RFC 7030: ucacaps, ucacert, ucacerts, ucrlinfo, ucrl, usimpleenroll, usimplereenroll, and userverkeygen. These operations deliver PKI objects, including CA certificates, certificate chains, CRLs, and enrolled certificates, as Base64-encoded DER or PEM, without the CMS encapsulation used by the corresponding EST operations in RFC 7030. The ucacaps operation enables EST clients to discover which operations the EST server supports. Eliminating the CMS wrapper for these responses reduces code size and parsing complexity. This document updates RFC 7030. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 5 November 2026. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. Liao Expires 5 November 2026 [Page 1] Internet-Draft EST Lightweight Operations May 2026 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 6 3. EST URL Structure and Path Components . . . . . . . . . . . . 6 3.1. Base64 Transfer . . . . . . . . . . . . . . . . . . . . . 7 4. EST Server Capability Discovery . . . . . . . . . . . . . . . 8 4.1. ucacaps . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.1.1. Request . . . . . . . . . . . . . . . . . . . . . . . 8 4.1.2. Response . . . . . . . . . . . . . . . . . . . . . . 8 4.1.3. Choice of Capability-List Format . . . . . . . . . . 9 4.1.4. Capability Keywords . . . . . . . . . . . . . . . . . 9 5. Distribution of CA Certificates . . . . . . . . . . . . . . . 13 5.1. ucacert . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.1.1. Request . . . . . . . . . . . . . . . . . . . . . . . 13 5.1.2. Response . . . . . . . . . . . . . . . . . . . . . . 13 5.1.3. Relationship to cacerts . . . . . . . . . . . . . . . 14 5.2. ucacerts . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.1. Request . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.2. Response . . . . . . . . . . . . . . . . . . . . . . 14 5.2.3. Comparison to cacerts . . . . . . . . . . . . . . . . 15 6. Distribution of Certificate Revocation Lists . . . . . . . . 15 6.1. ucrlinfo . . . . . . . . . . . . . . . . . . . . . . . . 15 6.1.1. Request . . . . . . . . . . . . . . . . . . . . . . . 15 6.1.2. Response . . . . . . . . . . . . . . . . . . . . . . 16 6.1.3. Choice of CRL-Metadata Format . . . . . . . . . . . . 17 6.2. ucrl . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2.1. Request . . . . . . . . . . . . . . . . . . . . . . . 18 6.2.2. Response . . . . . . . . . . . . . . . . . . . . . . 18 7. Client Certificate Request Functions . . . . . . . . . . . . 18 7.1. Client Authentication . . . . . . . . . . . . . . . . . . 18 7.2. usimpleenroll . . . . . . . . . . . . . . . . . . . . . . 19 7.2.1. Request . . . . . . . . . . . . . . . . . . . . . . . 19 7.2.2. Response . . . . . . . . . . . . . . . . . . . . . . 19 7.2.3. Comparison to simpleenroll . . . . . . . . . . . . . 19 7.3. usimplereenroll . . . . . . . . . . . . . . . . . . . . . 19 7.3.1. Request . . . . . . . . . . . . . . . . . . . . . . . 20 7.3.2. Response . . . . . . . . . . . . . . . . . . . . . . 20 7.3.3. Comparison to simplereenroll . . . . . . . . . . . . 20 Liao Expires 5 November 2026 [Page 2] Internet-Draft EST Lightweight Operations May 2026 7.4. userverkeygen . . . . . . . . . . . . . . . . . . . . . . 20 7.4.1. Request . . . . . . . . . . . . . . . . . . . . . . . 20 7.4.2. Response . . . . . . . . . . . . . . . . . . . . . . 21 7.4.3. Comparison to serverkeygen . . . . . . . . . . . . . 22 8. Security Considerations . . . . . . . . . . . . . . . . . . . 22 8.1. Transport Security . . . . . . . . . . . . . . . . . . . 22 8.2. Client Authentication . . . . . . . . . . . . . . . . . . 22 8.3. Proof of Possession . . . . . . . . . . . . . . . . . . . 23 8.4. Private Key Delivery . . . . . . . . . . . . . . . . . . 23 8.5. Response Integrity and Trust Anchor Bootstrapping . . . . 24 8.6. Subject Name and SAN Validation for Re-enrollment . . . . 24 8.7. Capability Discovery Security . . . . . . . . . . . . . . 25 8.8. Denial-of-Service Considerations . . . . . . . . . . . . 25 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 9.1. Media Types (Informative) . . . . . . . . . . . . . . . . 25 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 10.1. Normative References . . . . . . . . . . . . . . . . . . 26 10.2. Informative References . . . . . . . . . . . . . . . . . 28 Appendix A. Message Flow Diagrams . . . . . . . . . . . . . . . 29 A.1. ucacaps . . . . . . . . . . . . . . . . . . . . . . . . . 29 A.2. ucacert . . . . . . . . . . . . . . . . . . . . . . . . . 29 A.3. ucacerts . . . . . . . . . . . . . . . . . . . . . . . . 30 A.4. ucrlinfo . . . . . . . . . . . . . . . . . . . . . . . . 30 A.5. ucrl . . . . . . . . . . . . . . . . . . . . . . . . . . 31 A.6. usimpleenroll . . . . . . . . . . . . . . . . . . . . . . 31 A.7. usimplereenroll . . . . . . . . . . . . . . . . . . . . . 32 A.8. userverkeygen . . . . . . . . . . . . . . . . . . . . . . 33 Appendix B. Comparison with RFC 7030 Operations . . . . . . . . 33 Appendix C. Comparison with RFC 8295 . . . . . . . . . . . . . . 35 Appendix D. Comparison with RFC 9148 (EST-coaps) . . . . . . . . 36 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 38 Implementation Notes . . . . . . . . . . . . . . . . . . . . . . 38 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 39 1. Introduction Enrollment over Secure Transport (EST) [RFC7030] defines a set of HTTPS-based operations for certificate enrollment and management. An EST server sits between a Certification Authority (CA) and an EST client and performs Registration Authority (RA) functions, as described in [RFC7030], Section 1. [RFC8951] updates RFC 7030 to clarify EST transfer-encoding behavior and ASN.1 details. [RFC9908] further updates RFC 7030 and RFC 9148 to clarify and enhance the csrattrs definition. The responses to the standard EST operations (cacerts, simpleenroll, simplereenroll, and serverkeygen) are encapsulated in Cryptographic Message Syntax (CMS) structures [RFC5652], specifically using the Liao Expires 5 November 2026 [Page 3] Internet-Draft EST Lightweight Operations May 2026 application/pkcs7-mime; smime-type=certs-only content type. While CMS provides a well-established container format, parsing it requires code that may be unnecessary or unavailable in some EST deployments [RFC7228]. EST-coaps [RFC9148] addresses EST over CoAP and DTLS by defining shorter resource paths, using CoAP Block-Wise Transfer for fragmentation, and allowing binary ASN.1 payloads. It also defines Content-Format 287 (application/pkix-cert) as a non-CMS single- certificate response format that can be selected using CoAP content negotiation. However, RFC 9148 primarily specifies EST semantics for CoAP-based networks and does not define the HTTPS operations or the CRL metadata and retrieval operations defined in this document. The relationship with RFC 9148 is discussed in Appendix D. This document also addresses two functional gaps. First, [RFC7030] provides no capability-discovery operation for these new operations, so an EST client would otherwise need to rely on out-of-band configuration or probing. The ucacaps operation enables the client to discover server support explicitly. Second, [RFC7030] does not define in-band CRL metadata or retrieval operations; revocation information is normally obtained from CRL Distribution Point (CDP) URIs carried in certificates. The ucrlinfo operation supports lightweight freshness checks, and the ucrl operation provides an EST- based retrieval path when the full CRL is needed. This document adds eight new operations to [RFC7030], Section 4 (Protocol Exchange Details), as summarized in Table 1: Liao Expires 5 November 2026 [Page 4] Internet-Draft EST Lightweight Operations May 2026 +=================+================+======+=======================+ | New Operation | Based on RFC | Auth | Response Format | | | 7030 Operation | | | +=================+================+======+=======================+ | ucacaps | _(new)_ | No | text/plain keyword | | | | | list | +-----------------+----------------+------+-----------------------+ | ucacert | _(new)_ | No | application/pkix-cert | | | | | (single CA cert) | +-----------------+----------------+------+-----------------------+ | ucacerts | cacerts | No | application/pem- | | | ([RFC7030], | | certificate-chain | | | Section 4.1) | | | +-----------------+----------------+------+-----------------------+ | ucrlinfo | _(new)_ | No | text/plain (CRL | | | | | metadata) | +-----------------+----------------+------+-----------------------+ | ucrl | _(new)_ | No | application/pkix-crl | +-----------------+----------------+------+-----------------------+ | usimpleenroll | simpleenroll | Yes | application/pkix-cert | | | ([RFC7030], | | | | | Section 4.2.1) | | | +-----------------+----------------+------+-----------------------+ | usimplereenroll | simplereenroll | Yes | application/pkix-cert | | | ([RFC7030], | | | | | Section 4.2.2) | | | +-----------------+----------------+------+-----------------------+ | userverkeygen | serverkeygen | Yes | application/x-pem- | | | ([RFC7030], | | file (key + cert) | | | Section 4.4) | | | +-----------------+----------------+------+-----------------------+ Table 1: New Operations Defined in This Document These eight operations fall into four categories: capability discovery (ucacaps), CA certificate retrieval (ucacert, ucacerts), CRL metadata and retrieval (ucrlinfo, ucrl), and certificate enrollment and server-side key generation (usimpleenroll, usimplereenroll, userverkeygen). The "u" prefix is used consistently across all eight new operations. For the six operations whose responses carry DER or PEM payloads (ucacert, ucacerts, ucrl, usimpleenroll, usimplereenroll, userverkeygen), it denotes "unencapsulated": their responses carry DER or PEM payloads without a CMS wrapper. For ucacaps (capability discovery) and ucrlinfo (CRL metadata), there is no CMS equivalent; the "u" prefix is used solely to maintain a consistent naming convention with the other operations in this document. Liao Expires 5 November 2026 [Page 5] Internet-Draft EST Lightweight Operations May 2026 All security requirements imposed by [RFC7030] on the corresponding RFC 7030 operations (cacerts, simpleenroll, simplereenroll, serverkeygen) apply equally to the corresponding operations defined in this document. Refer to Section 8 for security considerations specific to these new operations. 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. The following terms from [RFC7030] are used in this document: EST client: The entity that contacts the EST server to obtain certificates or CA information, as defined in [RFC7030], Section 1. EST server: The entity that processes EST requests, typically acting as an RA between the EST client and the CA, as defined in [RFC7030], Section 1. CA: Certification Authority. The entity that issues X.509 certificates [RFC5280]. CSR: Certificate Signing Request. A PKCS#10 [RFC2986] message used by an EST client to request certificate issuance. PoP: Proof of Possession. Verification that the requester holds the private key corresponding to the public key in the CSR, as described in [RFC7030], Section 3.4. 3. EST URL Structure and Path Components The operations in this document follow the same URI path structure defined in [RFC7030], Section 3.2.2. Retrieval operations (ucacaps, ucacert, ucacerts, ucrlinfo, ucrl) use HTTP GET: GET /.well-known/est/ GET /.well-known/est/