RFC 9829
Handling of Resource Public Key Infrastructure (RPKI) Certificate Revocation List (CRL) Number Extensions
RFC 9829: Handling of Resource Public Key Infrastructure (RPKI) Certificate Revocation List (CRL) Number Extensions ๐
Okay bestie, the header is giving: J. Snijders, B. Maddison (Workonline), and T. Buehler (OpenBSD) wrote this one ๐ง. It's a Standards Track doc, so it's a real Internet Standard and not just vibes โจ. It's dated July 2025, it's published under ISSN 2070-1721, and it updates RFC 6487. The header doesn't list anything it obsoletes ๐ .
Abstract โจ
Okay so this doc is all about how the Resource Public Key Infrastructure (RPKI) deals with the Certificate Revocation List (CRL) Number extension ๐ฆ. It revises that handling and updates RFC 6487. Bestie, this is a glow-up for the whole RPKI ecosystem ๐.
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 went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). If you want more info on Internet Standards, check out Section 2 of RFC 7841 ๐.
For the current status of this document, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc9829 ๐.
Copyright Notice
Copyright (c) 2025 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://trustee.ietf.org/license-info) as they're in effect on the date of publication. Please actually read these, bestie, because they explain your rights and restrictions for this document ๐. Code Components pulled out of this document must include Revised BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Revised BSD License โ ๏ธ.
Table of Contents ๐บ๏ธ
1. Introduction
1.1. Requirements Language
1.2. Related Work
1.3. Changes from RFC 6487
2. Summary
3. Updates to RFC 6487
3.1. Updates to Section 5
3.2. Update to Section 7.2
4. Operational Considerations
5. Security Considerations
6. IANA Considerations
7. References
7.1. Normative References
7.2. Informative References
Acknowledgements
Authors' Addresses
1. Introduction ๐
Okay so Section 5.2.3 of [RFC5280] describes the CRL Number extension as a monotonically increasing sequence number, and it says it "allows users to easily determine when a particular CRL supersedes another CRL" ๐ข. Basically, in Public Key Infrastructures (PKIs) where Relying Parties (RPs) might run into multiple usable CRLs, the CRL Number is how an RP figures out which CRL to trust ๐ต๏ธโโ๏ธ.
Now here's the tea โ. In the RPKI, a well-formed manifest fileList has exactly one entry for its associated CRL, plus a collision-resistant message digest of that CRL's contents (see Section 2.2 of [RFC6481] and Section 2 of [RFC9286]). On top of that, the target of the CRL Distribution Points extension in an RPKI Resource Certificate is the same CRL object listed on the issuing Certification Authority's (CA's) current manifest (see Section 4.8.6 of [RFC6487]). Put together, these properties mean RPKI RPs can always pin down exactly one current CRL for each RPKI CA ๐ฏ. So in the RPKI, the ordering that CRL Numbers give you is fully covered by monotonically increasing manifest numbers (Section 4.2.1 of [RFC9286]), which means RPKI RPs don't even need to process CRL Number extensions at all ๐.
So yeah, even though the CRL Number extension is mandatory in RPKI CRLs for compliance with the X.509 v2 CRL Profile (Section 5 of [RFC5280]), any use of it by RPKI RPs just adds complexity and fragility to RPKI Resource Certificate path validation ๐ค. This document says RPKI RPs ignore the CRL Number extension ๐ซ.
This document updates [RFC6487]. Check out Section 3 for the deets ๐.
1.1. Requirements Language
Okay so the BCP 14 key words are "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" ๐. In this document they get read as described in BCP 14 [RFC2119] [RFC8174], but only when they show up in all capitals, exactly like that ๐ .
1.2. Related Work
To keep up, you should already know the terms and concepts from "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile" [RFC5280], "A Profile for Resource Certificate Repository Structure" [RFC6481], and "Manifests for the Resource Public Key Infrastructure (RPKI)" [RFC9286] ๐.
1.3. Changes from RFC 6487
This section is the highlight reel of the big changes between [RFC6487] and this document ๐ฌ.
- Revision of CRL Number handling ๐.
- Adjustment of step 5 of the Resource Certification Path Validation ๐ ๏ธ.
- Integration of Errata 3205 [Err3205] ๐ฉน.
2. Summary ๐
Bestie, this section is the main takeaway. This document makes it clear that in the RPKI there is exactly one CRL that's appropriate and relevant for working out the revocation status of a given resource certificate ๐ฏ. It's the unique CRL object that is at the same time:
- the target of the certificate's CRL Distribution Points extension, and
- listed in the issuing CA's current manifest
fileListand has a matching hash (see Section 4.2.1 of [RFC9286]).
And here's the kicker ๐ญ: a resource certificate can't be validated without checking the current manifest of the certificate's issuer.
3. Updates to RFC 6487 ๐งฉ
Bestie, this is where the actual edits to [RFC6487] live, so pay attention ๐ค.
3.1. Updates to Section 5
This section updates Section 5 of [RFC6487] like this ๐.
- First change:
OLD
| Where two or more CRLs are issued by the same CA, the CRL with
| the highest value of the "CRL Number" field supersedes all
| other CRLs issued by this CA.
NEW
| Per Section 5.2.3 of [RFC5280], CAs issue new CRLs using a
| monotonically increasing sequence number in the "CRL Number"
| extension. It is RECOMMENDED that the "CRL Number" match the
| "manifestNumber" of the manifest that will include this CRL
| (see Section 4.2.1 of [RFC9286]).
- Second change:
OLD
| An RPKI CA MUST include the two extensions, Authority Key
| Identifier and CRL Number, in every CRL that it issues. RPs
| MUST be prepared to process CRLs with these extensions. No
| other CRL extensions are allowed.
NEW
| An RPKI CA MUST include exactly two extensions in every CRL
| that it issues: an Authority Key Identifier (AKI) and a CRL
| Number. No other CRL extensions are allowed.
|
| - RPs MUST process the AKI extension.
|
| - RPs MUST ignore the CRL Number extension except for checking
| that it is marked as non-critical and contains a non-
| negative integer less than or equal to 2^159-1.
3.2. Update to Section 7.2
This section updates Section 7.2 of [RFC6487] like this ๐ง.
OLD
| 5. The issuer has not revoked the certificate. A revoked
| certificate is identified by the certificate's serial number
| being listed on the issuer's current CRL, as identified by the
| CRLDP of the certificate, the CRL is itself valid, and the
| public key used to verify the signature on the CRL is the same
| public key used to verify the certificate itself.
NEW
| 5. The issuer has not revoked the certificate. A revoked
| certificate is identified by the certificate's serial number
| being listed on the issuer's current CRL, as identified by the
| issuer's current manifest and the CRLDP of the certificate.
| The CRL is itself valid and the public key used to verify the
| signature on the CRL is the same public key used to verify the
| certificate itself.
4. Operational Considerations ๐๏ธ
This doc doesn't add any new operational considerations beyond the ones in Section 9 of [RFC6487] ๐.
5. Security Considerations ๐
Bestie, this part is serious, so read it carefully ๐ฑ. The Security Considerations of [RFC3779], [RFC5280], and [RFC6487] all apply to Resource Certificates and CRLs ๐ก๏ธ.
This document spells out that in the RPKI, the CRL listed on the certificate issuer's current manifest is the one that matters for working out the revocation status of a resource certificate ๐ฏ. The hash in the manifest's fileList gives a cryptographic guarantee of the Certification Authority's intent that this is the most recent CRL, and that shuts down possible replay vectors ๐จ. Replay attacks are not it, bestie ๐.
6. IANA Considerations ๐
This document has no IANA actions ๐ซถ.
7. References ๐
7.1. Normative References
- [RFC2119]: Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,
https://www.rfc-editor.org/info/rfc2119. - [RFC6481]: Huston, G., Loomans, R., and G. Michaelson, "A Profile for Resource Certificate Repository Structure", RFC 6481, DOI 10.17487/RFC6481, February 2012,
https://www.rfc-editor.org/info/rfc6481. - [RFC6487]: Huston, G., Michaelson, G., and R. Loomans, "A Profile for X.509 PKIX Resource Certificates", RFC 6487, DOI 10.17487/RFC6487, February 2012,
https://www.rfc-editor.org/info/rfc6487. - [RFC8174]: Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017,
https://www.rfc-editor.org/info/rfc8174. - [RFC9286]: Austein, R., Huston, G., Kent, S., and M. Lepinski, "Manifests for the Resource Public Key Infrastructure (RPKI)", RFC 9286, DOI 10.17487/RFC9286, June 2022,
https://www.rfc-editor.org/info/rfc9286.
7.2. Informative References
- [Err3205]: RFC Errata, Erratum ID 3205, RFC 6487,
https://www.rfc-editor.org/errata/eid3205. - [RFC3779]: Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP Addresses and AS Identifiers", RFC 3779, DOI 10.17487/RFC3779, June 2004,
https://www.rfc-editor.org/info/rfc3779. - [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/RFC5280, May 2008,
https://www.rfc-editor.org/info/rfc5280.
Acknowledgements ๐
The authors thank Tom Harrison, whose observations kicked off this doc ๐. They also thank Alberto Leiva, Tim Bruijnzeels, Mohamed Boucadair, Geoff Huston, and the IESG for their super valuable comments and feedback ๐.
Authors' Addresses ๐ฎ
Job Snijders Amsterdam The Netherlands Email: job@sobornost.net
Ben Maddison Workonline Cape Town South Africa Email: benm@workonline.africa
Theo Buehler OpenBSD Switzerland Email: tb@openbsd.org
๐ฆ where this page comes from
- ietf: rfc9829 2025-07
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms