From 32822d823c8e823e1e1abd6633b3d6daf7a1f5bc Mon Sep 17 00:00:00 2001 From: Michael Richardson Date: Tue, 27 Oct 2026 23:34:29 -0400 Subject: [PATCH 1/2] chore: change datatracker to rfc-editor for document references --- README.md | 28 ++++++++++---------- base64ct/src/decoder.rs | 2 +- cmpv2/README.md | 2 +- cmpv2/src/body.rs | 2 +- cmpv2/src/header.rs | 4 +-- cmpv2/src/message.rs | 4 +-- cms/README.md | 6 ++--- cms/src/builder.rs | 8 +++--- cms/src/builder/kari.rs | 22 +++++++-------- cms/src/builder/utils/kw.rs | 8 +++--- cms/src/cert.rs | 2 +- cms/src/kemri.rs | 6 ++--- cms/src/signed_data.rs | 12 ++++----- cms/src/symmetric_key.rs | 28 ++++++++++---------- const-oid/src/db.rs | 2 +- crmf/README.md | 2 +- der/src/asn1/context_specific.rs | 2 +- der/tests/derive.rs | 4 +-- gss-api/README.md | 6 ++--- gss-api/src/lib.rs | 10 +++---- gss-api/src/negotiation.rs | 22 +++++++-------- pem-rfc7468/README.md | 6 ++--- pem-rfc7468/src/decoder.rs | 2 +- pem-rfc7468/src/encoder.rs | 4 +-- pem-rfc7468/src/lib.rs | 2 +- pkcs1/README.md | 2 +- pkcs1/src/params.rs | 6 ++--- pkcs1/src/private_key.rs | 2 +- pkcs1/src/private_key/other_prime_info.rs | 2 +- pkcs1/src/public_key.rs | 2 +- pkcs1/src/version.rs | 2 +- pkcs12/src/kdf.rs | 2 +- pkcs5/src/pbes1.rs | 2 +- pkcs5/src/pbes2/kdf.rs | 8 +++--- pkcs8/src/lib.rs | 6 ++--- pkcs8/src/private_key_info.rs | 4 +-- pkcs8/tests/private_key.rs | 4 +-- sec1/README.md | 2 +- sec1/src/parameters.rs | 2 +- sec1/src/private_key.rs | 4 +-- spki/src/lib.rs | 2 +- spki/src/spki.rs | 4 +-- tls_codec/derive/src/lib.rs | 2 +- tls_codec/src/lib.rs | 2 +- x509-cert/README.md | 2 +- x509-cert/src/anchor.rs | 4 +-- x509-cert/src/attr.rs | 22 +++++++-------- x509-cert/src/builder.rs | 2 +- x509-cert/src/certificate.rs | 10 +++---- x509-cert/src/crl.rs | 6 ++--- x509-cert/src/ext.rs | 6 ++--- x509-cert/src/ext/pkix.rs | 12 ++++----- x509-cert/src/ext/pkix/access.rs | 6 ++--- x509-cert/src/ext/pkix/authkeyid.rs | 2 +- x509-cert/src/ext/pkix/certpolicy.rs | 14 +++++----- x509-cert/src/ext/pkix/constraints/basic.rs | 4 +-- x509-cert/src/ext/pkix/constraints/name.rs | 6 ++--- x509-cert/src/ext/pkix/constraints/policy.rs | 2 +- x509-cert/src/ext/pkix/crl.rs | 10 +++---- x509-cert/src/ext/pkix/crl/dp.rs | 8 +++--- x509-cert/src/ext/pkix/keyusage.rs | 8 +++--- x509-cert/src/ext/pkix/name/dirstr.rs | 2 +- x509-cert/src/ext/pkix/name/dp.rs | 2 +- x509-cert/src/ext/pkix/name/ediparty.rs | 2 +- x509-cert/src/ext/pkix/name/general.rs | 4 +-- x509-cert/src/ext/pkix/name/other.rs | 2 +- x509-cert/src/ext/pkix/policymap.rs | 4 +-- x509-cert/src/ext/pkix/sct.rs | 24 ++++++++--------- x509-cert/src/macros.rs | 2 +- x509-cert/src/name.rs | 22 +++++++-------- x509-cert/src/request.rs | 6 ++--- x509-cert/src/time.rs | 2 +- x509-cert/tests/name.rs | 2 +- x509-ocsp/README.md | 2 +- x509-ocsp/src/basic.rs | 20 +++++++------- x509-ocsp/src/builder/request.rs | 6 ++--- x509-ocsp/src/builder/response.rs | 8 +++--- x509-ocsp/src/cert_id.rs | 6 ++--- x509-ocsp/src/cert_status.rs | 12 ++++----- x509-ocsp/src/ext.rs | 14 +++++----- x509-ocsp/src/lib.rs | 2 +- x509-ocsp/src/request.rs | 14 +++++----- x509-ocsp/src/responder_id.rs | 4 +-- x509-ocsp/src/response.rs | 20 +++++++------- x509-ocsp/tests/builder.rs | 4 +-- x509-tsp/README.md | 2 +- 86 files changed, 284 insertions(+), 284 deletions(-) diff --git a/README.md b/README.md index 2add5fbc8..bf1754ca7 100644 --- a/README.md +++ b/README.md @@ -47,18 +47,18 @@ dual licensed as above, without any additional terms or conditions. [rustcrypto]: https://github.com/rustcrypto [itu x.660]: https://www.itu.int/rec/T-REC-X.660 [itu x.690]: https://www.itu.int/rec/T-REC-X.690 -[rfc 2986]: https://datatracker.ietf.org/doc/html/rfc2986 -[rfc 3274]: https://datatracker.ietf.org/doc/html/rfc3274 -[rfc 4251]: https://datatracker.ietf.org/doc/html/rfc4251 -[rfc 4253]: https://datatracker.ietf.org/doc/html/rfc4253 -[rfc 5208]: https://datatracker.ietf.org/doc/html/rfc5208 -[rfc 5280 section 4.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1 -[rfc 5280]: https://datatracker.ietf.org/doc/html/rfc5280 -[rfc 5652]: https://datatracker.ietf.org/doc/html/rfc5652 -[rfc 5911]: https://datatracker.ietf.org/doc/html/rfc5911 -[rfc 5958]: https://datatracker.ietf.org/doc/html/rfc5958 -[rfc 8017]: https://datatracker.ietf.org/doc/html/rfc8017 -[rfc 8018]: https://datatracker.ietf.org/doc/html/rfc8018 -[rfc 8933]: https://datatracker.ietf.org/doc/html/rfc8933 -[rfc 8446 section 3]: https://datatracker.ietf.org/doc/html/rfc8446#section-3 +[rfc 2986]: https://www.rfc-editor.org/info/rfc2986 +[rfc 3274]: https://www.rfc-editor.org/info/rfc3274 +[rfc 4251]: https://www.rfc-editor.org/info/rfc4251 +[rfc 4253]: https://www.rfc-editor.org/info/rfc4253 +[rfc 5208]: https://www.rfc-editor.org/info/rfc5208 +[rfc 5280 section 4.1]: https://www.rfc-editor.org/info/rfc5280#section-4.1 +[rfc 5280]: https://www.rfc-editor.org/info/rfc5280 +[rfc 5652]: https://www.rfc-editor.org/info/rfc5652 +[rfc 5911]: https://www.rfc-editor.org/info/rfc5911 +[rfc 5958]: https://www.rfc-editor.org/info/rfc5958 +[rfc 8017]: https://www.rfc-editor.org/info/rfc8017 +[rfc 8018]: https://www.rfc-editor.org/info/rfc8018 +[rfc 8933]: https://www.rfc-editor.org/info/rfc8933 +[rfc 8446 section 3]: https://www.rfc-editor.org/info/rfc8446#section-3 [sec1: elliptic curve cryptography]: https://www.secg.org/sec1-v2.pdf diff --git a/base64ct/src/decoder.rs b/base64ct/src/decoder.rs index e9b0b8047..22fcbc179 100644 --- a/base64ct/src/decoder.rs +++ b/base64ct/src/decoder.rs @@ -82,7 +82,7 @@ impl<'i, E: Encoding> Decoder<'i, E> { /// - `Err(Error::InvalidLength)` if the input buffer is empty or the line /// width is zero. /// - /// [RFC7468]: https://datatracker.ietf.org/doc/html/rfc7468 + /// [RFC7468]: https://www.rfc-editor.org/info/rfc7468 pub fn new_wrapped(input: &'i [u8], line_width: usize) -> Result { let line_reader = LineReader::new_wrapped(input, line_width)?; let remaining_len = line_reader.decoded_len::()?; diff --git a/cmpv2/README.md b/cmpv2/README.md index fccc22dae..07103ebe7 100644 --- a/cmpv2/README.md +++ b/cmpv2/README.md @@ -49,4 +49,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 4210]: https://datatracker.ietf.org/doc/html/rfc4210 +[RFC 4210]: https://www.rfc-editor.org/info/rfc4210 diff --git a/cmpv2/src/body.rs b/cmpv2/src/body.rs index ec88aa140..7105856e8 100644 --- a/cmpv2/src/body.rs +++ b/cmpv2/src/body.rs @@ -50,7 +50,7 @@ use crate::status::{CertConfirmContent, ErrorMsgContent}; /// } /// ``` /// -/// [RFC 4210 Section 5.1.2]: https://datatracker.ietf.org/doc/html/rfc4210#section-5.1.2 +/// [RFC 4210 Section 5.1.2]: https://www.rfc-editor.org/info/rfc4210#section-5.1.2 #[derive(Clone, Debug, Eq, PartialEq, Choice)] #[allow(missing_docs)] pub enum PkiBody<'a> { diff --git a/cmpv2/src/header.rs b/cmpv2/src/header.rs index b3b9bec93..904ed5f18 100644 --- a/cmpv2/src/header.rs +++ b/cmpv2/src/header.rs @@ -49,7 +49,7 @@ use crate::gp::InfoTypeAndValue; /// } /// ``` /// -/// [RFC 4210 Section 5.1.1]: https://datatracker.ietf.org/doc/html/rfc4210#section-5.1.1 +/// [RFC 4210 Section 5.1.1]: https://www.rfc-editor.org/info/rfc4210#section-5.1.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct PkiHeader<'a> { @@ -128,7 +128,7 @@ pub struct PkiHeader<'a> { /// pvno INTEGER { cmp1999(1), cmp2000(2) }, /// ``` /// -/// [RFC 4210 Section 5.1.1]: https://datatracker.ietf.org/doc/html/rfc4210#section-5.1.1 +/// [RFC 4210 Section 5.1.1]: https://www.rfc-editor.org/info/rfc4210#section-5.1.1 #[derive(Clone, Debug, Copy, PartialEq, Eq, Enumerated, Ord, PartialOrd)] #[asn1(type = "INTEGER")] #[repr(u8)] diff --git a/cmpv2/src/message.rs b/cmpv2/src/message.rs index 53d0a306c..471e30446 100644 --- a/cmpv2/src/message.rs +++ b/cmpv2/src/message.rs @@ -19,7 +19,7 @@ use crate::header::{CmpCertificate, PkiHeader}; /// /// ``` /// -/// [RFC 4210 Section 5.1]: https://datatracker.ietf.org/doc/html/rfc4210#section-5.1 +/// [RFC 4210 Section 5.1]: https://www.rfc-editor.org/info/rfc4210#section-5.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct PkiMessage<'a> { @@ -47,7 +47,7 @@ pub struct PkiMessage<'a> { /// PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage /// ``` /// -/// [RFC 4210 Section 5.1]: https://datatracker.ietf.org/doc/html/rfc4210#section-5.1 +/// [RFC 4210 Section 5.1]: https://www.rfc-editor.org/info/rfc4210#section-5.1 pub type PkiMessages<'a> = Vec>; /// The `PKIProtection` type is defined in [RFC 4210 Section 5.1.3]. diff --git a/cms/README.md b/cms/README.md index 173350e41..46e100589 100644 --- a/cms/README.md +++ b/cms/README.md @@ -63,6 +63,6 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 3274]: https://datatracker.ietf.org/doc/html/rfc3274 -[RFC 5652]: https://datatracker.ietf.org/doc/html/rfc5652 -[RFC 5911]: https://datatracker.ietf.org/doc/html/rfc5652 +[RFC 3274]: https://www.rfc-editor.org/info/rfc3274 +[RFC 5652]: https://www.rfc-editor.org/info/rfc5652 +[RFC 5911]: https://www.rfc-editor.org/info/rfc5652 diff --git a/cms/src/builder.rs b/cms/src/builder.rs index b06f9b7e9..cafbcbfc7 100644 --- a/cms/src/builder.rs +++ b/cms/src/builder.rs @@ -192,7 +192,7 @@ impl Builder for SignerInfoBuilder<'_> { type Output = SignerInfo; /// Calculate the data to be signed - /// [RFC 5652 § 5.4](https://datatracker.ietf.org/doc/html/rfc5652#section-5.4) + /// [RFC 5652 § 5.4](https://www.rfc-editor.org/info/rfc5652#section-5.4) /// If an `external_message_digest` is passed in, it is assumed, that we are signing external /// content (see RFC 5652 § 5.2). In this case, the `eContent` in `EncapsulatedContentInfo` /// must be `None`. @@ -1338,7 +1338,7 @@ where } /// Create a content-type attribute according to -/// [RFC 5652 § 11.1](https://datatracker.ietf.org/doc/html/rfc5652#section-11.1) +/// [RFC 5652 § 11.1](https://www.rfc-editor.org/info/rfc5652#section-11.1) pub fn create_content_type_attribute(content_type: ObjectIdentifier) -> Result { let content_type_attribute_value = AttributeValue::new(Tag::ObjectIdentifier, content_type.as_bytes())?; @@ -1352,7 +1352,7 @@ pub fn create_content_type_attribute(content_type: ObjectIdentifier) -> Result Result { let message_digest_der = OctetStringRef::new(message_digest)?; let message_digest_attribute_value = @@ -1367,7 +1367,7 @@ pub fn create_message_digest_attribute(message_digest: &[u8]) -> Result( @@ -286,11 +286,11 @@ where /// - Add support for `'Co-factor' ECDH` - see [RFC 5753 Section 3.1.1] /// - Add support for `1-Pass ECMQV` - see [RFC 5753 Section 3.2.1] /// - /// [RFC 5753 Section 3]: https://datatracker.ietf.org/doc/html/rfc5753#section-3 - /// [RFC 5652 Section 6.2.2]: https://datatracker.ietf.org/doc/html/rfc5652#section-6.2.2 - /// [RFC 5753 Section 3.1.1]: https://datatracker.ietf.org/doc/html/rfc5753#section-3.1.1 - /// [RFC 5753 Section 3.1.2]: https://datatracker.ietf.org/doc/html/rfc5753#section-3.1.2 - /// [RFC 5753 Section 3.2.1]: https://datatracker.ietf.org/doc/html/rfc5753#section-3.2.1 + /// [RFC 5753 Section 3]: https://www.rfc-editor.org/info/rfc5753#section-3 + /// [RFC 5652 Section 6.2.2]: https://www.rfc-editor.org/info/rfc5652#section-6.2.2 + /// [RFC 5753 Section 3.1.1]: https://www.rfc-editor.org/info/rfc5753#section-3.1.1 + /// [RFC 5753 Section 3.1.2]: https://www.rfc-editor.org/info/rfc5753#section-3.1.2 + /// [RFC 5753 Section 3.2.1]: https://www.rfc-editor.org/info/rfc5753#section-3.2.1 fn build_with_rng( &mut self, content_encryption_key: &[u8], @@ -314,7 +314,7 @@ where ephemeral_secret.diffie_hellman(&recipient_public_key); // Generate shared info for KDF - // As per https://datatracker.ietf.org/doc/html/rfc5753#section-7.2" + // As per https://www.rfc-editor.org/info/rfc5753#section-7.2" // ``` // keyInfo contains the object identifier of the key-encryption // algorithm (used to wrap the CEK) and associated parameters. In @@ -324,7 +324,7 @@ where let key_wrap_algorithm_identifier = KW::algorithm_identifier(); let key_wrap_algorithm_der = key_wrap_algorithm_identifier.to_der()?; - // As per https://datatracker.ietf.org/doc/html/rfc5753#section-7.2" + // As per https://www.rfc-editor.org/info/rfc5753#section-7.2" // ``` // entityUInfo optionally contains additional keying material // supplied by the sending agent. When used with ECDH and CMS, the @@ -334,7 +334,7 @@ where // ``` let entity_u_info = self.ukm.clone(); - // As per https://datatracker.ietf.org/doc/html/rfc5753#section-7.2" + // As per https://www.rfc-editor.org/info/rfc5753#section-7.2" // ``` // suppPubInfo contains the length of the generated KEK, in bits, // represented as a 32-bit number, as in [CMS-DH] and [CMS-AES]. diff --git a/cms/src/builder/utils/kw.rs b/cms/src/builder/utils/kw.rs index 8332bb2da..be960365c 100644 --- a/cms/src/builder/utils/kw.rs +++ b/cms/src/builder/utils/kw.rs @@ -48,8 +48,8 @@ use aes_kw::AesKw; /// - id-aes192-wrap /// - id-aes256-wrap /// -/// [RFC 5753 Section 8]: https://datatracker.ietf.org/doc/html/rfc5753#section-8 -/// [RFC 5753 Section 7.1.5]: https://datatracker.ietf.org/doc/html/rfc5753#section-7.1.5 +/// [RFC 5753 Section 8]: https://www.rfc-editor.org/info/rfc5753#section-8 +/// [RFC 5753 Section 7.1.5]: https://www.rfc-editor.org/info/rfc5753#section-7.1.5 /// /// Represents key wrap algorithms methods. pub trait KeyWrapAlgorithm: AssociatedOid + KeySizeUser { @@ -70,8 +70,8 @@ pub trait KeyWrapAlgorithm: AssociatedOid + KeySizeUser { /// In all cases the parameters field MUST be absent. /// ``` /// - /// [RFC 3565 Section 2.3.2]: https://datatracker.ietf.org/doc/html/rfc3565#section-2.3.2 - /// [RFC 5753 Section 7.2]: https://datatracker.ietf.org/doc/html/rfc5753#section-7.2 + /// [RFC 3565 Section 2.3.2]: https://www.rfc-editor.org/info/rfc3565#section-2.3.2 + /// [RFC 5753 Section 7.2]: https://www.rfc-editor.org/info/rfc5753#section-7.2 fn algorithm_identifier() -> AlgorithmIdentifierOwned; /// Return an empty wrapping key (KEK) with the adequate size to be used with aes-key-wrap diff --git a/cms/src/cert.rs b/cms/src/cert.rs index efcd76db1..752b6e70e 100644 --- a/cms/src/cert.rs +++ b/cms/src/cert.rs @@ -72,7 +72,7 @@ pub struct OtherCertificateFormat { /// serialNumber CertificateSerialNumber } /// ``` /// -/// [RFC 5652 Section 10.2.4]: https://datatracker.ietf.org/doc/html/rfc5652#section-10.2.4 +/// [RFC 5652 Section 10.2.4]: https://www.rfc-editor.org/info/rfc5652#section-10.2.4 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct IssuerAndSerialNumber { diff --git a/cms/src/kemri.rs b/cms/src/kemri.rs index 91ab67e61..869683204 100644 --- a/cms/src/kemri.rs +++ b/cms/src/kemri.rs @@ -15,7 +15,7 @@ use spki::AlgorithmIdentifierOwned; /// /// id-ori-kem OBJECT IDENTIFIER ::= { id-ori 3 } /// ``` -/// [RFC9629 Section 3]: https://datatracker.ietf.org/doc/html/rfc9629#section-3 +/// [RFC9629 Section 3]: https://www.rfc-editor.org/info/rfc9629#section-3 pub const ID_ORI_KEM: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.1.9.16.13.3"); /// The `KEMRecipientInfo` type is defined in [RFC9629 Section 3] @@ -31,7 +31,7 @@ pub const ID_ORI_KEM: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.1 /// wrap KeyEncryptionAlgorithmIdentifier, /// encryptedKey EncryptedKey } /// ``` -/// [RFC9629 Section 3]: https://datatracker.ietf.org/doc/html/rfc9629#section-3 +/// [RFC9629 Section 3]: https://www.rfc-editor.org/info/rfc9629#section-3 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct KemRecipientInfo { @@ -54,7 +54,7 @@ pub struct KemRecipientInfo { /// kekLength INTEGER (1..65535), /// ukm [0] EXPLICIT UserKeyingMaterial OPTIONAL } /// ``` -/// [RFC9629 Section 5]: https://datatracker.ietf.org/doc/html/rfc9629#section-5 +/// [RFC9629 Section 5]: https://www.rfc-editor.org/info/rfc9629#section-5 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct CmsOriForKemOtherInfo { diff --git a/cms/src/signed_data.rs b/cms/src/signed_data.rs index 0a7f84743..af0763321 100644 --- a/cms/src/signed_data.rs +++ b/cms/src/signed_data.rs @@ -46,7 +46,7 @@ pub struct SignedData { /// DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier /// ``` /// -/// [RFC 5652 Section 5.1]: https://datatracker.ietf.org/doc/html/rfc5652#section-5.1 +/// [RFC 5652 Section 5.1]: https://www.rfc-editor.org/info/rfc5652#section-5.1 pub type DigestAlgorithmIdentifiers = SetOfVec; /// CertificateSet structure as defined in [RFC 5652 Section 10.2.3]. @@ -55,7 +55,7 @@ pub type DigestAlgorithmIdentifiers = SetOfVec; /// CertificateSet ::= SET OF CertificateChoices /// ``` /// -/// [RFC 5652 Section 10.2.3]: https://datatracker.ietf.org/doc/html/rfc5652#section-10.2.3 +/// [RFC 5652 Section 10.2.3]: https://www.rfc-editor.org/info/rfc5652#section-10.2.3 #[derive(Clone, Eq, PartialEq, Debug)] pub struct CertificateSet(pub SetOfVec); impl_newtype!(CertificateSet, SetOfVec); @@ -151,7 +151,7 @@ pub struct SignerInfo { /// SignedAttributes ::= SET SIZE (1..MAX) OF Attribute /// ``` /// -/// [RFC 5652 Section 5.3]: https://datatracker.ietf.org/doc/html/rfc5652#section-5.3 +/// [RFC 5652 Section 5.3]: https://www.rfc-editor.org/info/rfc5652#section-5.3 pub type SignedAttributes = Attributes; /// The `SignerIdentifier` type is defined in [RFC 5652 Section 5.3]. @@ -162,7 +162,7 @@ pub type SignedAttributes = Attributes; /// subjectKeyIdentifier \[0\] SubjectKeyIdentifier } /// ``` /// -/// [RFC 5652 Section 5.3]: https://datatracker.ietf.org/doc/html/rfc5652#section-5.3 +/// [RFC 5652 Section 5.3]: https://www.rfc-editor.org/info/rfc5652#section-5.3 #[derive(Clone, Debug, Eq, PartialEq, Choice)] #[allow(missing_docs)] pub enum SignerIdentifier { @@ -203,7 +203,7 @@ impl From<&Certificate> for SignerIdentifier { /// UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute /// ``` /// -/// [RFC 5652 Section 5.3]: https://datatracker.ietf.org/doc/html/rfc5652#section-5.3 +/// [RFC 5652 Section 5.3]: https://www.rfc-editor.org/info/rfc5652#section-5.3 pub type UnsignedAttributes = Attributes; /// The `SignatureValue` type is defined in [RFC 5652 Section 5.3]. @@ -212,5 +212,5 @@ pub type UnsignedAttributes = Attributes; /// SignatureValue ::= OCTET STRING /// ``` /// -/// [RFC 5652 Section 5.3]: https://datatracker.ietf.org/doc/html/rfc5652#section-5.3 +/// [RFC 5652 Section 5.3]: https://www.rfc-editor.org/info/rfc5652#section-5.3 pub type SignatureValue = OctetString; diff --git a/cms/src/symmetric_key.rs b/cms/src/symmetric_key.rs index 9eaf18696..9fa7214a3 100644 --- a/cms/src/symmetric_key.rs +++ b/cms/src/symmetric_key.rs @@ -73,7 +73,7 @@ macro_rules! impl_str_enum { /// ... } /// ``` /// -/// [RFC 6031 Section 2.0]: https://datatracker.ietf.org/doc/html/rfc6031#section-2 +/// [RFC 6031 Section 2.0]: https://www.rfc-editor.org/info/rfc6031#section-2 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct SymmetricKeyPackage { @@ -90,7 +90,7 @@ pub struct SymmetricKeyPackage { /// SymmetricKeys ::= SEQUENCE SIZE (1..MAX) OF OneSymmetricKey /// ``` /// -/// [RFC 6031 Section 2.0]: https://datatracker.ietf.org/doc/html/rfc6031#section-2 +/// [RFC 6031 Section 2.0]: https://www.rfc-editor.org/info/rfc6031#section-2 pub type SymmetricKeys = Vec; /// The `OneSymmetricKey` type is defined in [RFC 6031 Section 2.0]. @@ -104,7 +104,7 @@ pub type SymmetricKeys = Vec; /// WITH COMPONENTS { ..., sKey PRESENT } ) /// ``` /// -/// [RFC 6031 Section 2.0]: https://datatracker.ietf.org/doc/html/rfc6031#section-2 +/// [RFC 6031 Section 2.0]: https://www.rfc-editor.org/info/rfc6031#section-2 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct OneSymmetricKey { @@ -119,7 +119,7 @@ pub struct OneSymmetricKey { /// ```text /// KeyPkgVersion ::= INTEGER { v1(1) } ( v1, ... ) /// ``` -/// [RFC 6031 Section 2.0]: https://datatracker.ietf.org/doc/html/rfc6031#section-2 +/// [RFC 6031 Section 2.0]: https://www.rfc-editor.org/info/rfc6031#section-2 #[derive(Default, Clone, Debug, Copy, PartialEq, Eq, PartialOrd, Ord, Enumerated)] #[asn1(type = "INTEGER")] #[repr(u8)] @@ -139,7 +139,7 @@ pub enum KeyPkgVersion { /// friendlyNameLangTag UTF8String OPTIONAL } /// ``` /// -/// [RFC 6031 Section 3.2.6]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.2.6 +/// [RFC 6031 Section 3.2.6]: https://www.rfc-editor.org/info/rfc6031#section-3.2.6 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct FriendlyName { @@ -158,7 +158,7 @@ pub struct FriendlyName { /// ... } /// ``` /// -/// [RFC 6031 Section 3.2.7]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.2.7 +/// [RFC 6031 Section 3.2.7]: https://www.rfc-editor.org/info/rfc6031#section-3.2.7 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct PSKCAlgorithmParameters { @@ -178,7 +178,7 @@ pub struct PSKCAlgorithmParameters { /// ... } /// ``` /// -/// [RFC 6031 Section 3.2.7]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.2.7 +/// [RFC 6031 Section 3.2.7]: https://www.rfc-editor.org/info/rfc6031#section-3.2.7 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct ChallengeFormat { @@ -197,7 +197,7 @@ impl_str_enum!( /// "ALPHANUMERIC" |"BASE64" |"BINARY") /// ``` /// - /// [RFC 6031 Section 3.2.7]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.2.7 + /// [RFC 6031 Section 3.2.7]: https://www.rfc-editor.org/info/rfc6031#section-3.2.7 #[derive(Copy, Clone, PartialEq, Eq)] pub enum Encoding { /// "DECIMAL" @@ -223,7 +223,7 @@ impl_str_enum!( /// ... } /// ``` /// -/// [RFC 6031 Section 3.2.7]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.2.7 +/// [RFC 6031 Section 3.2.7]: https://www.rfc-editor.org/info/rfc6031#section-3.2.7 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct ResponseFormat { @@ -241,7 +241,7 @@ pub struct ResponseFormat { /// mac UTF8String } /// ``` /// -/// [RFC 6031 Section 3.2.12]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.2.12 +/// [RFC 6031 Section 3.2.12]: https://www.rfc-editor.org/info/rfc6031#section-3.2.12 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct ValueMac { @@ -255,7 +255,7 @@ pub struct ValueMac { /// PSKCKeyUsages ::= SEQUENCE OF PSKCKeyUsage /// ``` /// -/// [RFC 6031 Section 3.3.4]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.3.4 +/// [RFC 6031 Section 3.3.4]: https://www.rfc-editor.org/info/rfc6031#section-3.3.4 pub type PSKCKeyUsages = Vec; impl_str_enum!( @@ -267,7 +267,7 @@ impl_str_enum!( /// "KeyWrap" | "Unwrap" | "Derive" | "Generate") /// ``` /// - /// [RFC 6031 Section 3.3.4]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.3.4 + /// [RFC 6031 Section 3.3.4]: https://www.rfc-editor.org/info/rfc6031#section-3.3.4 #[derive(Copy, Clone, PartialEq, Eq)] pub enum PSKCKeyUsage { /// "OTP" @@ -307,7 +307,7 @@ impl_str_enum!( /// pinEncoding [5] Encoding OPTIONAL } /// ``` /// -/// [RFC 6031 Section 3.3.5]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.3.5 +/// [RFC 6031 Section 3.3.5]: https://www.rfc-editor.org/info/rfc6031#section-3.3.5 #[derive(Sequence, PartialEq, Eq)] #[allow(missing_docs)] pub struct PINPolicy { @@ -334,7 +334,7 @@ impl_str_enum!( /// "Algorithmic") /// ``` /// - /// [RFC 6031 Section 3.3.5]: https://datatracker.ietf.org/doc/html/rfc6031#section-3.3.5 + /// [RFC 6031 Section 3.3.5]: https://www.rfc-editor.org/info/rfc6031#section-3.3.5 #[derive(Copy, Clone, PartialEq, Eq)] pub enum PINUsageMode { /// "Local" diff --git a/const-oid/src/db.rs b/const-oid/src/db.rs index 451e5fc5a..e3659c5b0 100644 --- a/const-oid/src/db.rs +++ b/const-oid/src/db.rs @@ -6,7 +6,7 @@ //! `oiddbgen` (a subcrate in the source code) to generate the values from //! the relevant standard. //! -//! [RFC 5280]: https://datatracker.ietf.org/doc/html/rfc5280 +//! [RFC 5280]: https://www.rfc-editor.org/info/rfc5280 //! [Object Identifier Descriptors]: https://www.iana.org/assignments/ldap-parameters/ldap-parameters.xhtml#ldap-parameters-3 #![allow(clippy::arithmetic_side_effects, missing_docs)] diff --git a/crmf/README.md b/crmf/README.md index 4997d96b8..dc508fb4e 100644 --- a/crmf/README.md +++ b/crmf/README.md @@ -49,4 +49,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 4211]: https://datatracker.ietf.org/doc/html/rfc4211 +[RFC 4211]: https://www.rfc-editor.org/info/rfc4211 diff --git a/der/src/asn1/context_specific.rs b/der/src/asn1/context_specific.rs index 472e6ef5f..80b60466d 100644 --- a/der/src/asn1/context_specific.rs +++ b/der/src/asn1/context_specific.rs @@ -100,7 +100,7 @@ mod tests { #[test] fn context_specific_with_implicit_field() { // From RFC8410 Section 10.3: - // + // // // 81 33: [1] 00 19 BF 44 09 69 84 CD FE 85 41 BA C1 67 DC 3B // 96 C8 50 86 AA 30 B6 B6 CB 0C 5C 38 AD 70 31 66 diff --git a/der/tests/derive.rs b/der/tests/derive.rs index 74dd2380d..56a741aea 100644 --- a/der/tests/derive.rs +++ b/der/tests/derive.rs @@ -313,7 +313,7 @@ mod sequence { // -- and onlyContainsAttributeCerts may be set to TRUE. // ``` // - // [RFC 5280 Section 5.2.5]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.5 + // [RFC 5280 Section 5.2.5]: https://www.rfc-editor.org/info/rfc5280#section-5.2.5 #[derive(Sequence, Default)] pub struct IssuingDistributionPointExample { // Omit distributionPoint and only_some_reasons because corresponding structs are not @@ -375,7 +375,7 @@ mod sequence { // } // ``` // - // [RFC 5280 Section 4.1.2.9]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.9 + // [RFC 5280 Section 4.1.2.9]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.9 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] pub struct ExtensionExample<'a> { /// extnID OBJECT IDENTIFIER, diff --git a/gss-api/README.md b/gss-api/README.md index 6c65734df..0edc1f06b 100644 --- a/gss-api/README.md +++ b/gss-api/README.md @@ -83,7 +83,7 @@ dual licensed as above, without any additional terms or conditions. [RustCrypto]: https://github.com/rustcrypto [MS-SPNG]: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-spng -[RFC1509]: https://datatracker.ietf.org/doc/html/rfc1509 -[RFC2478]: https://datatracker.ietf.org/doc/html/rfc2478 -[RFC4178]: https://datatracker.ietf.org/doc/html/rfc4178 +[RFC1509]: https://www.rfc-editor.org/info/rfc1509 +[RFC2478]: https://www.rfc-editor.org/info/rfc2478 +[RFC4178]: https://www.rfc-editor.org/info/rfc4178 [Kerberos]: https://en.wikipedia.org/wiki/Kerberos_(protocol) diff --git a/gss-api/src/lib.rs b/gss-api/src/lib.rs index c3dfd7192..e7ab48272 100644 --- a/gss-api/src/lib.rs +++ b/gss-api/src/lib.rs @@ -29,7 +29,7 @@ pub mod negotiation; /// MechType ::= OBJECT IDENTIFIER /// ``` /// -/// [RFC 1508 Appendix B]: https://datatracker.ietf.org/doc/html/rfc1508#appendix-B +/// [RFC 1508 Appendix B]: https://www.rfc-editor.org/info/rfc1508#appendix-B pub type MechType = ObjectIdentifier; /// InitialContextToken as defined in [RFC 1508 Appendix B]. @@ -45,7 +45,7 @@ pub type MechType = ObjectIdentifier; /// } /// ``` /// -/// [RFC 1508 Appendix B]: https://datatracker.ietf.org/doc/html/rfc1508#appendix-B +/// [RFC 1508 Appendix B]: https://www.rfc-editor.org/info/rfc1508#appendix-B #[derive(Clone, Debug, Eq, PartialEq)] pub struct InitialContextToken<'a> { /// mechanism type OID @@ -92,7 +92,7 @@ impl EncodeValue for InitialContextToken<'_> { /// -- interpretation based on predecessor InitialContextToken /// ``` /// -/// [RFC 1508 Appendix B]: https://datatracker.ietf.org/doc/html/rfc1508#appendix-B +/// [RFC 1508 Appendix B]: https://www.rfc-editor.org/info/rfc1508#appendix-B pub type SubsequentContextToken<'a> = AnyRef<'a>; /// The `PerMsgToken` type is defined in [RFC 1508 Appendix B]. @@ -102,7 +102,7 @@ pub type SubsequentContextToken<'a> = AnyRef<'a>; /// innerMsgToken ANY /// ``` /// -/// [RFC 1508 Appendix B]: https://datatracker.ietf.org/doc/html/rfc1508#appendix-B +/// [RFC 1508 Appendix B]: https://www.rfc-editor.org/info/rfc1508#appendix-B pub type PerMsgToken<'a> = AnyRef<'a>; /// The `SealedMessage` type is defined in [RFC 1508 Appendix B]. @@ -115,7 +115,7 @@ pub type PerMsgToken<'a> = AnyRef<'a>; /// sealedUserData ANY /// ``` /// -/// [RFC 1508 Appendix B]: https://datatracker.ietf.org/doc/html/rfc1508#appendix-B +/// [RFC 1508 Appendix B]: https://www.rfc-editor.org/info/rfc1508#appendix-B pub type SealedMessage<'a> = AnyRef<'a>; #[cfg(test)] diff --git a/gss-api/src/negotiation.rs b/gss-api/src/negotiation.rs index 42b321d20..b4f87eba1 100644 --- a/gss-api/src/negotiation.rs +++ b/gss-api/src/negotiation.rs @@ -12,7 +12,7 @@ use crate::MechType; /// MechTypeList ::= SEQUENCE OF MechType /// ``` /// -/// [RFC 4178 Section 4.1]: https://datatracker.ietf.org/doc/html/rfc4178#section-4.1 +/// [RFC 4178 Section 4.1]: https://www.rfc-editor.org/info/rfc4178#section-4.1 pub type MechTypeList = alloc::vec::Vec; /// `NegotiationToken` as defined in [RFC 4178 Section 4.2]. @@ -24,7 +24,7 @@ pub type MechTypeList = alloc::vec::Vec; /// } /// ``` /// -/// [RFC 4178 Section 4.2]: https://datatracker.ietf.org/doc/html/rfc4178#section-4.2 +/// [RFC 4178 Section 4.2]: https://www.rfc-editor.org/info/rfc4178#section-4.2 #[derive(Clone, Debug, PartialEq, Eq, Choice)] pub enum NegotiationToken<'a> { /// This is the inner token of the initial negotiation message. @@ -61,7 +61,7 @@ pub enum NegotiationToken<'a> { /// } /// ``` /// -/// [RFC 4178 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc4178#section-4.2.1 +/// [RFC 4178 Section 4.2.1]: https://www.rfc-editor.org/info/rfc4178#section-4.2.1 #[cfg(feature = "rfc2478")] #[derive(Clone, Debug, Eq, PartialEq, Sequence)] pub struct NegTokenInit<'a> { @@ -112,7 +112,7 @@ pub struct NegTokenInit<'a> { /// } (SIZE (32)) /// ``` /// -/// [RFC 4178 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc4178#section-4.2.1 +/// [RFC 4178 Section 4.2.1]: https://www.rfc-editor.org/info/rfc4178#section-4.2.1 pub type ContextFlags = BitString; /// `NegTokenTarg` as defined in [RFC 2479 Section 3.2.1]. @@ -129,7 +129,7 @@ pub type ContextFlags = BitString; /// } /// ``` /// -/// [RFC 2479 Section 3.2.1]: https://datatracker.ietf.org/doc/html/rfc2478#section-3.2.1 +/// [RFC 2479 Section 3.2.1]: https://www.rfc-editor.org/info/rfc2478#section-3.2.1 #[cfg(feature = "rfc2478")] #[derive(Clone, Copy, Debug, Eq, PartialEq, Sequence)] pub struct NegTokenTarg<'a> { @@ -199,7 +199,7 @@ pub struct NegTokenTarg<'a> { /// } /// ``` /// -/// [RFC 2479 Section 3.2.1]: https://datatracker.ietf.org/doc/html/rfc2478#section-3.2.1 +/// [RFC 2479 Section 3.2.1]: https://www.rfc-editor.org/info/rfc2478#section-3.2.1 #[cfg(feature = "rfc2478")] #[derive(Clone, Debug, Copy, PartialEq, Eq, PartialOrd, Ord, Enumerated)] #[asn1(type = "ENUMERATED")] @@ -233,7 +233,7 @@ pub enum NegResult { /// } /// ``` /// -/// [RFC 4178 Section 4.2.2]: https://datatracker.ietf.org/doc/html/rfc4178#section-4.2.2 +/// [RFC 4178 Section 4.2.2]: https://www.rfc-editor.org/info/rfc4178#section-4.2.2 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] pub struct NegTokenResp<'a> { /// This field is REQUIRED in the first reply from the target, and is @@ -323,19 +323,19 @@ pub struct NegHints<'a> { pub struct NegTokenInit2<'a> { /// The list of authentication mechanisms that are available, by OID, as specified in [RFC4178] section 4.1. /// - /// [RFC4178]: https://datatracker.ietf.org/doc/html/rfc4178 + /// [RFC4178]: https://www.rfc-editor.org/info/rfc4178 #[asn1(context_specific = "0", optional = "true", tag_mode = "EXPLICIT")] pub mech_types: Option, /// As specified in [RFC4178] section 4.2.1 This field SHOULD be omitted by the sender. /// - /// [RFC4178]: https://datatracker.ietf.org/doc/html/rfc4178 + /// [RFC4178]: https://www.rfc-editor.org/info/rfc4178 #[asn1(context_specific = "1", optional = "true", tag_mode = "EXPLICIT")] pub req_flags: Option, /// The optimistic mechanism token ([RFC4178] section 4.2.1). /// - /// [RFC4178]: https://datatracker.ietf.org/doc/html/rfc4178 + /// [RFC4178]: https://www.rfc-editor.org/info/rfc4178 #[asn1(context_specific = "2", optional = "true", tag_mode = "EXPLICIT")] pub mech_token: Option<&'a OctetStringRef>, @@ -345,7 +345,7 @@ pub struct NegTokenInit2<'a> { /// The message integrity code (MIC) token ([RFC4178] section 4.2.1). /// - /// [RFC4178]: https://datatracker.ietf.org/doc/html/rfc4178 + /// [RFC4178]: https://www.rfc-editor.org/info/rfc4178 #[asn1(context_specific = "4", optional = "true", tag_mode = "EXPLICIT")] pub mech_list_mic: Option<&'a OctetStringRef>, } diff --git a/pem-rfc7468/README.md b/pem-rfc7468/README.md index d5a1a2851..1ebff5dfb 100644 --- a/pem-rfc7468/README.md +++ b/pem-rfc7468/README.md @@ -94,8 +94,8 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 1421]: https://datatracker.ietf.org/doc/html/rfc1421 -[RFC 7468]: https://datatracker.ietf.org/doc/html/rfc7468 -[RFC 7468 p6]: https://datatracker.ietf.org/doc/html/rfc7468#page-6 +[RFC 1421]: https://www.rfc-editor.org/info/rfc1421 +[RFC 7468]: https://www.rfc-editor.org/info/rfc7468 +[RFC 7468 p6]: https://www.rfc-editor.org/info/rfc7468#page-6 [`base64ct`]: https://github.com/RustCrypto/formats/tree/master/base64ct [Util::Lookup]: https://arxiv.org/pdf/2108.04600.pdf diff --git a/pem-rfc7468/src/decoder.rs b/pem-rfc7468/src/decoder.rs index f79a34155..2378b9b51 100644 --- a/pem-rfc7468/src/decoder.rs +++ b/pem-rfc7468/src/decoder.rs @@ -8,7 +8,7 @@ //! > boundaries", are base64-encoded data according to Section 4 of //! > [RFC 4648]. //! -//! [RFC 4648]: https://datatracker.ietf.org/doc/html/rfc4648 +//! [RFC 4648]: https://www.rfc-editor.org/info/rfc4648 use crate::{ BASE64_WRAP_WIDTH, Base64Decoder, Error, POST_ENCAPSULATION_BOUNDARY, diff --git a/pem-rfc7468/src/encoder.rs b/pem-rfc7468/src/encoder.rs index 383746184..085e40f3b 100644 --- a/pem-rfc7468/src/encoder.rs +++ b/pem-rfc7468/src/encoder.rs @@ -47,7 +47,7 @@ pub fn encapsulated_len(label: &str, line_ending: LineEnding, input_len: usize) /// > will encode the remainder of the data (within the 64-character line /// > boundary) /// -/// [RFC7468 § 2]: https://datatracker.ietf.org/doc/html/rfc7468#section-2 +/// [RFC7468 § 2]: https://www.rfc-editor.org/info/rfc7468#section-2 pub fn encapsulated_len_wrapped( label: &str, line_width: usize, @@ -202,7 +202,7 @@ impl<'l, 'o> Encoder<'l, 'o> { /// This method is provided with the intended purpose of implementing the /// OpenSSH private key format, which uses a non-standard wrap width of 70. /// - /// [RFC7468 § 2]: https://datatracker.ietf.org/doc/html/rfc7468#section-2 + /// [RFC7468 § 2]: https://www.rfc-editor.org/info/rfc7468#section-2 pub fn new_wrapped( type_label: &'l str, line_width: usize, diff --git a/pem-rfc7468/src/lib.rs b/pem-rfc7468/src/lib.rs index 08a895da5..f9e5b8bd1 100644 --- a/pem-rfc7468/src/lib.rs +++ b/pem-rfc7468/src/lib.rs @@ -95,7 +95,7 @@ const ENCAPSULATION_BOUNDARY_DELIMITER: &[u8] = b"-----"; /// > boundary), and they MUST NOT emit extraneous whitespace. Parsers MAY /// > handle other line sizes. /// -/// [RFC7468 § 2]: https://datatracker.ietf.org/doc/html/rfc7468#section-2 +/// [RFC7468 § 2]: https://www.rfc-editor.org/info/rfc7468#section-2 pub const BASE64_WRAP_WIDTH: usize = 64; /// Buffered Base64 decoder type. diff --git a/pkcs1/README.md b/pkcs1/README.md index 2787c10c1..353b95b6e 100644 --- a/pkcs1/README.md +++ b/pkcs1/README.md @@ -67,4 +67,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 8017]: https://datatracker.ietf.org/doc/html/rfc8017 +[RFC 8017]: https://www.rfc-editor.org/info/rfc8017 diff --git a/pkcs1/src/params.rs b/pkcs1/src/params.rs index c0bab6b40..6b62e9ca6 100644 --- a/pkcs1/src/params.rs +++ b/pkcs1/src/params.rs @@ -24,7 +24,7 @@ const SHA_1_AI: AlgorithmIdentifierRef<'_> = AlgorithmIdentifierRef { /// ```text /// TrailerField ::= INTEGER { trailerFieldBC(1) } /// ``` -/// [RFC 8017 Appendix 2.3]: https://datatracker.ietf.org/doc/html/rfc8017#appendix-A.2.3 +/// [RFC 8017 Appendix 2.3]: https://www.rfc-editor.org/info/rfc8017#appendix-A.2.3 #[derive(Clone, Debug, Copy, PartialEq, Eq)] #[repr(u8)] #[derive(Default)] @@ -80,7 +80,7 @@ pub type RsaPssParamsOwned = RsaPssParams; /// MaskGenAlgorithm ::= AlgorithmIdentifier /// ``` /// -/// [RFC 8017 Appendix 2.3]: https://datatracker.ietf.org/doc/html/rfc8017#appendix-A.2.3 +/// [RFC 8017 Appendix 2.3]: https://www.rfc-editor.org/info/rfc8017#appendix-A.2.3 #[derive(Clone, Debug, Eq, PartialEq)] pub struct RsaPssParams { /// Hash Algorithm @@ -298,7 +298,7 @@ pub type RsaOaepParamsOwned = RsaOaepParams; /// PSourceAlgorithm ::= AlgorithmIdentifier /// ``` /// -/// [RFC 8017 Appendix 2.1]: https://datatracker.ietf.org/doc/html/rfc8017#appendix-A.2.1 +/// [RFC 8017 Appendix 2.1]: https://www.rfc-editor.org/info/rfc8017#appendix-A.2.1 #[derive(Clone, Debug, Eq, PartialEq)] pub struct RsaOaepParams { /// Hash Algorithm diff --git a/pkcs1/src/private_key.rs b/pkcs1/src/private_key.rs index 8ce382993..753f7c08f 100644 --- a/pkcs1/src/private_key.rs +++ b/pkcs1/src/private_key.rs @@ -50,7 +50,7 @@ pub type RsaPrivateKeyOwned = RsaPrivateKey; /// Note: the `version` field is selected automatically based on the absence or /// presence of the `other_prime_infos` field. /// -/// [RFC 8017 Appendix 1.2]: https://datatracker.ietf.org/doc/html/rfc8017#appendix-A.1.2 +/// [RFC 8017 Appendix 1.2]: https://www.rfc-editor.org/info/rfc8017#appendix-A.1.2 #[derive(Clone)] pub struct RsaPrivateKey { /// `n`: RSA modulus. diff --git a/pkcs1/src/private_key/other_prime_info.rs b/pkcs1/src/private_key/other_prime_info.rs index d7a7dcc04..853cd30c7 100644 --- a/pkcs1/src/private_key/other_prime_info.rs +++ b/pkcs1/src/private_key/other_prime_info.rs @@ -14,7 +14,7 @@ use der::{Decode, DecodeValue, Encode, EncodeValue, Header, Length, Reader, Sequ /// } /// ``` /// -/// [RFC 8017 Appendix 1.2]: https://datatracker.ietf.org/doc/html/rfc8017#appendix-A.1.2 +/// [RFC 8017 Appendix 1.2]: https://www.rfc-editor.org/info/rfc8017#appendix-A.1.2 #[derive(Clone)] pub struct OtherPrimeInfo { /// Prime factor `r_i` of `n`, where `i` >= 3. diff --git a/pkcs1/src/public_key.rs b/pkcs1/src/public_key.rs index 3b6e7ee0e..4dabfb3ef 100644 --- a/pkcs1/src/public_key.rs +++ b/pkcs1/src/public_key.rs @@ -30,7 +30,7 @@ pub type RsaPublicKeyOwned = RsaPublicKey; /// } /// ``` /// -/// [RFC 8017 Appendix 1.1]: https://datatracker.ietf.org/doc/html/rfc8017#appendix-A.1.1 +/// [RFC 8017 Appendix 1.1]: https://www.rfc-editor.org/info/rfc8017#appendix-A.1.1 #[derive(Copy, Clone, Debug, Eq, PartialEq)] pub struct RsaPublicKey { /// `n`: RSA modulus diff --git a/pkcs1/src/version.rs b/pkcs1/src/version.rs index 227dcd028..d44e89d8f 100644 --- a/pkcs1/src/version.rs +++ b/pkcs1/src/version.rs @@ -16,7 +16,7 @@ use der::{Decode, Encode, FixedTag, Reader, Tag, Tagged, Writer}; /// {-- version must be multi if otherPrimeInfos present --}) /// ``` /// -/// [RFC 8017 Appendix 1.2]: https://datatracker.ietf.org/doc/html/rfc8017#appendix-A.1.2 +/// [RFC 8017 Appendix 1.2]: https://www.rfc-editor.org/info/rfc8017#appendix-A.1.2 #[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)] #[repr(u8)] pub enum Version { diff --git a/pkcs12/src/kdf.rs b/pkcs12/src/kdf.rs index 8af08833e..f3c86b047 100644 --- a/pkcs12/src/kdf.rs +++ b/pkcs12/src/kdf.rs @@ -1,5 +1,5 @@ //! Implementation of the PKCS#12 key derivation function as described in -//! [RFC 7292 Appendix B](https://datatracker.ietf.org/doc/html/rfc7292#appendix-B). +//! [RFC 7292 Appendix B](https://www.rfc-editor.org/info/rfc7292#appendix-B). //! //! ## ⚠️ Security Warning //! diff --git a/pkcs5/src/pbes1.rs b/pkcs5/src/pbes1.rs index af099a5f9..1df135bc8 100644 --- a/pkcs5/src/pbes1.rs +++ b/pkcs5/src/pbes1.rs @@ -49,7 +49,7 @@ pub const SALT_LENGTH: usize = 8; /// } /// ``` /// -/// [RFC 8018 Appendix A.C]: https://datatracker.ietf.org/doc/html/rfc8018#appendix-C +/// [RFC 8018 Appendix A.C]: https://www.rfc-editor.org/info/rfc8018#appendix-C #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct Algorithm { /// Encryption scheme. diff --git a/pkcs5/src/pbes2/kdf.rs b/pkcs5/src/pbes2/kdf.rs index 59bee4133..074a674bf 100644 --- a/pkcs5/src/pbes2/kdf.rs +++ b/pkcs5/src/pbes2/kdf.rs @@ -35,7 +35,7 @@ pub const HMAC_WITH_SHA512_OID: ObjectIdentifier = /// `id-scrypt` ([RFC 7914]) /// -/// [RFC 7914]: https://datatracker.ietf.org/doc/html/rfc7914#section-7 +/// [RFC 7914]: https://www.rfc-editor.org/info/rfc7914#section-7 pub const SCRYPT_OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.6.1.4.1.11591.4.11"); /// Type used for expressing scrypt cost @@ -209,8 +209,8 @@ impl Pbkdf2Params { /// > performance is not critical, an iteration count of 10,000,000 may /// > be appropriate. /// - /// See [RFC 8018, §4.2](https://datatracker.ietf.org/doc/html/rfc8018#section-4.2) - /// and [RFC 8018, §A.2](https://datatracker.ietf.org/doc/html/rfc8018#appendix-A.2) + /// See [RFC 8018, §4.2](https://www.rfc-editor.org/info/rfc8018#section-4.2) + /// and [RFC 8018, §A.2](https://www.rfc-editor.org/info/rfc8018#appendix-A.2) pub const MAX_ITERATION_COUNT: u32 = 100_000_000; /// OWASP recommended number of iterations for PBKDF2-HMAC-SHA256. @@ -396,7 +396,7 @@ impl Encode for Pbkdf2Prf { /// } /// ``` /// -/// [RFC 7914 Section 7.1]: https://datatracker.ietf.org/doc/html/rfc7914#section-7.1 +/// [RFC 7914 Section 7.1]: https://www.rfc-editor.org/info/rfc7914#section-7.1 #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct ScryptParams { /// scrypt salt diff --git a/pkcs8/src/lib.rs b/pkcs8/src/lib.rs index 88e81a314..a76979e44 100644 --- a/pkcs8/src/lib.rs +++ b/pkcs8/src/lib.rs @@ -35,12 +35,12 @@ //! - [PKCS#5v2 Password Based Encryption Scheme 2 (RFC 8018)] //! - Key derivation functions: //! - [scrypt] ([RFC 7914]) -//! - PBKDF2 ([RFC 8018](https://datatracker.ietf.org/doc/html/rfc8018#section-5.2)) +//! - PBKDF2 ([RFC 8018](https://www.rfc-editor.org/info/rfc8018#section-5.2)) //! - SHA-2 based PRF with HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512 //! - SHA-1 based PRF with HMAC-SHA1, when the `sha1` feature of this crate is enabled. //! - Symmetric encryption: AES-128-CBC, AES-192-CBC, or AES-256-CBC //! (best available options for PKCS#5v2) -//! +//! //! ## Legacy DES-CBC and DES-EDE3-CBC (3DES) support (optional) //! When the `des-insecure` and/or `3des` features are enabled this crate provides support for //! private keys encrypted with DES-CBC and DES-EDE3-CBC (3DES or Triple DES) symmetric @@ -59,7 +59,7 @@ //! //! [RFC 5208]: https://tools.ietf.org/html/rfc5208 //! [RFC 5958]: https://tools.ietf.org/html/rfc5958 -//! [RFC 7914]: https://datatracker.ietf.org/doc/html/rfc7914 +//! [RFC 7914]: https://www.rfc-editor.org/info/rfc7914 //! [PKCS#5v2 Password Based Encryption Scheme 2 (RFC 8018)]: https://tools.ietf.org/html/rfc8018#section-6.2 //! [scrypt]: https://en.wikipedia.org/wiki/Scrypt diff --git a/pkcs8/src/private_key_info.rs b/pkcs8/src/private_key_info.rs index 421aa846b..b43ffdf1e 100644 --- a/pkcs8/src/private_key_info.rs +++ b/pkcs8/src/private_key_info.rs @@ -119,9 +119,9 @@ const PUBLIC_KEY_TAG: TagNumber = TagNumber(1); /// ``` /// /// [RFC 5208]: https://tools.ietf.org/html/rfc5208 -/// [RFC 5958]: https://datatracker.ietf.org/doc/html/rfc5958 +/// [RFC 5958]: https://www.rfc-editor.org/info/rfc5958 /// [RFC 5208 Section 5]: https://tools.ietf.org/html/rfc5208#section-5 -/// [RFC 5958 Section 2]: https://datatracker.ietf.org/doc/html/rfc5958#section-2 +/// [RFC 5958 Section 2]: https://www.rfc-editor.org/info/rfc5958#section-2 #[derive(Clone)] pub struct PrivateKeyInfo { /// X.509 `AlgorithmIdentifier` for the private key type. diff --git a/pkcs8/tests/private_key.rs b/pkcs8/tests/private_key.rs index 10904d56f..81044f6e7 100644 --- a/pkcs8/tests/private_key.rs +++ b/pkcs8/tests/private_key.rs @@ -103,7 +103,7 @@ fn decode_ec_bignp256_der() { } // Test vector from RFC8410 Section 10.3: -// https://datatracker.ietf.org/doc/html/rfc8410#section-10.3 +// https://www.rfc-editor.org/info/rfc8410#section-10.3 #[test] fn decode_ed25519_der_v1() { let pk = PrivateKeyInfoRef::try_from(ED25519_DER_V1_EXAMPLE).unwrap(); @@ -120,7 +120,7 @@ fn decode_ed25519_der_v1() { } // Test vector from RFC8410 Section 10.3: -// https://datatracker.ietf.org/doc/html/rfc8410#section-10.3 +// https://www.rfc-editor.org/info/rfc8410#section-10.3 #[test] fn decode_ed25519_der_v2() { // Extracted with: diff --git a/sec1/README.md b/sec1/README.md index 2634145be..4528fb971 100644 --- a/sec1/README.md +++ b/sec1/README.md @@ -55,4 +55,4 @@ dual licensed as above, without any additional terms or conditions. [RustCrypto]: https://github.com/rustcrypto [SEC1: Elliptic Curve Cryptography]: https://www.secg.org/sec1-v2.pdf -[RFC5915]: https://datatracker.ietf.org/doc/html/rfc5915 +[RFC5915]: https://www.rfc-editor.org/info/rfc5915 diff --git a/sec1/src/parameters.rs b/sec1/src/parameters.rs index 3c5a8a6fe..b47219306 100644 --- a/sec1/src/parameters.rs +++ b/sec1/src/parameters.rs @@ -4,7 +4,7 @@ use der::{ }; /// Elliptic curve parameters as described in -/// [RFC5480 Section 2.1.1](https://datatracker.ietf.org/doc/html/rfc5480#section-2.1.1): +/// [RFC5480 Section 2.1.1](https://www.rfc-editor.org/info/rfc5480#section-2.1.1): /// /// ```text /// ECParameters ::= CHOICE { diff --git a/sec1/src/private_key.rs b/sec1/src/private_key.rs index 7910a91b3..f2435c481 100644 --- a/sec1/src/private_key.rs +++ b/sec1/src/private_key.rs @@ -26,7 +26,7 @@ use der::pem::PemLabel; /// > be set to ecPrivkeyVer1, which is of type INTEGER and whose value /// > is one (1). /// -/// [RFC5915 Section 3]: https://datatracker.ietf.org/doc/html/rfc5915#section-3 +/// [RFC5915 Section 3]: https://www.rfc-editor.org/info/rfc5915#section-3 const VERSION: u8 = 1; /// Context-specific tag number for the elliptic curve parameters. @@ -56,7 +56,7 @@ const PUBLIC_KEY_TAG: TagNumber = TagNumber(1); /// ``` /// /// [SEC1: Elliptic Curve Cryptography (Version 2.0)]: https://www.secg.org/sec1-v2.pdf -/// [RFC5915 Section 3]: https://datatracker.ietf.org/doc/html/rfc5915#section-3 +/// [RFC5915 Section 3]: https://www.rfc-editor.org/info/rfc5915#section-3 #[derive(Clone)] pub struct EcPrivateKey<'a> { /// Private key data. diff --git a/spki/src/lib.rs b/spki/src/lib.rs index c6f376cc8..7f8dcea0c 100644 --- a/spki/src/lib.rs +++ b/spki/src/lib.rs @@ -75,6 +75,6 @@ pub(crate) const SIZE: usize = 32; /// /// See [RFC7469 § 2.1.1] for more information. /// -/// [RFC7469 § 2.1.1]: https://datatracker.ietf.org/doc/html/rfc7469#section-2.1.1 +/// [RFC7469 § 2.1.1]: https://www.rfc-editor.org/info/rfc7469#section-2.1.1 #[cfg(feature = "fingerprint")] pub type FingerprintBytes = [u8; SIZE]; diff --git a/spki/src/spki.rs b/spki/src/spki.rs index f49a2843a..d8e772ea0 100644 --- a/spki/src/spki.rs +++ b/spki/src/spki.rs @@ -72,7 +72,7 @@ where /// # Errors /// Propagates errors that occur during encoding. /// - /// [RFC7469 § 2.1.1]: https://datatracker.ietf.org/doc/html/rfc7469#section-2.1.1 + /// [RFC7469 § 2.1.1]: https://www.rfc-editor.org/info/rfc7469#section-2.1.1 #[cfg(all(feature = "fingerprint", feature = "alloc", feature = "base64"))] pub fn fingerprint_base64(&self) -> Result { use base64ct::{Base64, Encoding}; @@ -87,7 +87,7 @@ where /// # Errors /// Propagates errors that occur during encoding. /// - /// [RFC7469 § 2.1.1]: https://datatracker.ietf.org/doc/html/rfc7469#section-2.1.1 + /// [RFC7469 § 2.1.1]: https://www.rfc-editor.org/info/rfc7469#section-2.1.1 #[cfg(feature = "fingerprint")] pub fn fingerprint_bytes(&self) -> Result { let mut hash = Sha256::new(); diff --git a/tls_codec/derive/src/lib.rs b/tls_codec/derive/src/lib.rs index d9f19ed60..474e146d0 100644 --- a/tls_codec/derive/src/lib.rs +++ b/tls_codec/derive/src/lib.rs @@ -14,7 +14,7 @@ //! //! The derive macros support deriving the `tls_codec` traits for enumerations //! and the resulting serialized format complies with [the "variants" section of -//! the TLS RFC](https://datatracker.ietf.org/doc/html/rfc8446#section-3.8). +//! the TLS RFC](https://www.rfc-editor.org/info/rfc8446#section-3.8). //! However support is limited to enumerations that are serialized with their //! discriminant immediately followed by the variant data. If this is not //! appropriate (e.g. the format requires other fields between the discriminant diff --git a/tls_codec/src/lib.rs b/tls_codec/src/lib.rs index 4c6a90b6a..ae4ca5759 100644 --- a/tls_codec/src/lib.rs +++ b/tls_codec/src/lib.rs @@ -357,7 +357,7 @@ pub trait DeserializeBytes: Size { /// A 3 byte wide unsigned integer type as defined in [RFC 5246]. /// -/// [RFC 5246]: https://datatracker.ietf.org/doc/html/rfc5246#section-4.4 +/// [RFC 5246]: https://www.rfc-editor.org/info/rfc5246#section-4.4 #[derive(Copy, Clone, Debug, Default, PartialEq)] pub struct U24([u8; 3]); diff --git a/x509-cert/README.md b/x509-cert/README.md index d4236a8d4..a1c650b93 100644 --- a/x509-cert/README.md +++ b/x509-cert/README.md @@ -50,4 +50,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 5280]: https://datatracker.ietf.org/doc/html/rfc5280 +[RFC 5280]: https://www.rfc-editor.org/info/rfc5280 diff --git a/x509-cert/src/anchor.rs b/x509-cert/src/anchor.rs index 9b2d60704..63ac0e3f6 100644 --- a/x509-cert/src/anchor.rs +++ b/x509-cert/src/anchor.rs @@ -102,7 +102,7 @@ flags! { /// } /// ``` /// - /// [RFC 5280 Section 4.2.1.13]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.13 + /// [RFC 5280 Section 4.2.1.13]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.13 #[allow(missing_docs)] pub enum CertPolicies: u8 { InhibitPolicyMapping = 1 << 0, @@ -113,7 +113,7 @@ flags! { /// Certificate policy flags as defined in [RFC 5280 Section 4.2.1.13]. /// -/// [RFC 5280 Section 4.2.1.13]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.13 +/// [RFC 5280 Section 4.2.1.13]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.13 pub type CertPolicyFlags = FlagSet; /// TrustAnchorInfo allows for the representation of a single trust anchor. diff --git a/x509-cert/src/attr.rs b/x509-cert/src/attr.rs index 50587f0ee..383b36232 100644 --- a/x509-cert/src/attr.rs +++ b/x509-cert/src/attr.rs @@ -24,7 +24,7 @@ use der::{ /// AttributeType ::= OBJECT IDENTIFIER /// ``` /// -/// [RFC 5280 Appendix A.1]: https://datatracker.ietf.org/doc/html/rfc5280#appendix-A.1 +/// [RFC 5280 Appendix A.1]: https://www.rfc-editor.org/info/rfc5280#appendix-A.1 pub type AttributeType = ObjectIdentifier; /// X.501 `AttributeValue` as defined in [RFC 5280 Appendix A.1]. @@ -33,7 +33,7 @@ pub type AttributeType = ObjectIdentifier; /// AttributeValue ::= ANY /// ``` /// -/// [RFC 5280 Appendix A.1]: https://datatracker.ietf.org/doc/html/rfc5280#appendix-A.1 +/// [RFC 5280 Appendix A.1]: https://www.rfc-editor.org/info/rfc5280#appendix-A.1 pub type AttributeValue = Any; /// X.501 `Attribute` as defined in [RFC 5280 Appendix A.1]. @@ -56,8 +56,8 @@ pub type AttributeValue = Any; /// /// The unconstrained version should be preferred. /// -/// [RFC 2986 Section 4]: https://datatracker.ietf.org/doc/html/rfc2986#section-4 -/// [RFC 5280 Appendix A.1]: https://datatracker.ietf.org/doc/html/rfc5280#appendix-A.1 +/// [RFC 2986 Section 4]: https://www.rfc-editor.org/info/rfc2986#section-4 +/// [RFC 5280 Appendix A.1]: https://www.rfc-editor.org/info/rfc5280#appendix-A.1 #[derive(Clone, Debug, PartialEq, Eq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct Attribute { @@ -71,7 +71,7 @@ pub struct Attribute { /// Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }} /// ``` /// -/// [RFC 2986 Section 4]: https://datatracker.ietf.org/doc/html/rfc2986#section-4 +/// [RFC 2986 Section 4]: https://www.rfc-editor.org/info/rfc2986#section-4 pub type Attributes = SetOfVec; /// X.501 `AttributeTypeAndValue` as defined in [RFC 5280 Appendix A.1]. @@ -83,7 +83,7 @@ pub type Attributes = SetOfVec; /// } /// ``` /// -/// [RFC 5280 Appendix A.1]: https://datatracker.ietf.org/doc/html/rfc5280#appendix-A.1 +/// [RFC 5280 Appendix A.1]: https://www.rfc-editor.org/info/rfc5280#appendix-A.1 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Ord, Sequence, ValueOrd, Hash)] #[allow(missing_docs)] @@ -190,10 +190,10 @@ impl AttributeTypeAndValue { COUNTRY_NAME => Tag::PrintableString, DOMAIN_COMPONENT => Tag::Ia5String, // Serial numbers are formatted as Printable String as per RFC 5280 Appendix A.1: - // https://datatracker.ietf.org/doc/html/rfc5280#appendix-A.1 + // https://www.rfc-editor.org/info/rfc5280#appendix-A.1 SERIAL_NUMBER => Tag::PrintableString, // Email addresses are formatted as Ia5String as per RFC 5280 Appendix A.1: - // https://datatracker.ietf.org/doc/html/rfc5280#appendix-A.1 + // https://www.rfc-editor.org/info/rfc5280#appendix-A.1 EMAIL_ADDRESS => Tag::Ia5String, _ => Tag::Utf8String, }; @@ -208,7 +208,7 @@ impl AttributeTypeAndValue { /// /// This function follows the rules in [RFC 4514]. /// - /// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 + /// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 #[deprecated( since = "0.2.1", note = "use AttributeTypeAndValue::from_str(...)?.to_der()" @@ -222,7 +222,7 @@ impl AttributeTypeAndValue { /// /// This function follows the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl FromStr for AttributeTypeAndValue { type Err = Error; @@ -247,7 +247,7 @@ impl FromStr for AttributeTypeAndValue { /// Serializes the structure according to the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl fmt::Display for AttributeTypeAndValue { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let val = match self.value.tag() { diff --git a/x509-cert/src/builder.rs b/x509-cert/src/builder.rs index bb054eea8..2b7ed55c9 100644 --- a/x509-cert/src/builder.rs +++ b/x509-cert/src/builder.rs @@ -201,7 +201,7 @@ where // CAs conforming to this profile MUST NOT generate // certificates with unique identifiers. // - // https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.8 + // https://www.rfc-editor.org/info/rfc5280#section-4.1.2.8 issuer_unique_id: None, subject_unique_id: None, }; diff --git a/x509-cert/src/certificate.rs b/x509-cert/src/certificate.rs index ae918c842..742db20e9 100644 --- a/x509-cert/src/certificate.rs +++ b/x509-cert/src/certificate.rs @@ -82,7 +82,7 @@ impl Profile for Raw { /// Version ::= INTEGER { v1(0), v2(1), v3(2) } /// ``` /// -/// [RFC 5280 Section 4.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1 +/// [RFC 5280 Section 4.1]: https://www.rfc-editor.org/info/rfc5280#section-4.1 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Copy, PartialEq, Eq, Enumerated)] #[asn1(type = "INTEGER")] @@ -133,7 +133,7 @@ pub type TbsCertificate = TbsCertificateInner; /// } /// ``` /// -/// [RFC 5280 Section 4.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1 +/// [RFC 5280 Section 4.1]: https://www.rfc-editor.org/info/rfc5280#section-4.1 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] @@ -313,7 +313,7 @@ impl TbsCertificateInner

{ /// X.509 certificates are defined in [RFC 5280 Section 4.1]. /// -/// [RFC 5280 Section 4.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1 +/// [RFC 5280 Section 4.1]: https://www.rfc-editor.org/info/rfc5280#section-4.1 pub type Certificate = CertificateInner; /// X.509 certificates are defined in [RFC 5280 Section 4.1]. @@ -326,7 +326,7 @@ pub type Certificate = CertificateInner; /// } /// ``` /// -/// [RFC 5280 Section 4.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1 +/// [RFC 5280 Section 4.1]: https://www.rfc-editor.org/info/rfc5280#section-4.1 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] @@ -369,7 +369,7 @@ impl PemLabel for CertificateInner

{ /// PkiPath ::= SEQUENCE OF Certificate /// ``` /// -/// [RFC 6066]: https://datatracker.ietf.org/doc/html/rfc6066#section-10.1 +/// [RFC 6066]: https://www.rfc-editor.org/info/rfc6066#section-10.1 pub type PkiPath = Vec; #[cfg(feature = "pem")] diff --git a/x509-cert/src/crl.rs b/x509-cert/src/crl.rs index 1f9ecf571..1a64dba8e 100644 --- a/x509-cert/src/crl.rs +++ b/x509-cert/src/crl.rs @@ -27,7 +27,7 @@ use der::pem::PemLabel; /// } /// ``` /// -/// [RFC 5280 Section 5.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.1 +/// [RFC 5280 Section 5.1]: https://www.rfc-editor.org/info/rfc5280#section-5.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct CertificateList { @@ -54,7 +54,7 @@ impl PemLabel for CertificateList

{ /// } /// ``` /// -/// [RFC 5280 Section 5.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.1 +/// [RFC 5280 Section 5.1]: https://www.rfc-editor.org/info/rfc5280#section-5.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct RevokedCert { @@ -81,7 +81,7 @@ pub struct RevokedCert { /// } /// ``` /// -/// [RFC 5280 Section 5.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.1 +/// [RFC 5280 Section 5.1]: https://www.rfc-editor.org/info/rfc5280#section-5.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct TbsCertList { diff --git a/x509-cert/src/ext.rs b/x509-cert/src/ext.rs index da92b237d..27cf0001e 100644 --- a/x509-cert/src/ext.rs +++ b/x509-cert/src/ext.rs @@ -22,7 +22,7 @@ pub mod pkix; /// } /// ``` /// -/// [RFC 5280 Section 4.1.2.9]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.9 +/// [RFC 5280 Section 4.1.2.9]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.9 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] @@ -53,7 +53,7 @@ impl ToExtension for Extension { /// Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension /// ``` /// -/// [RFC 5280 Section 4.1.2.9]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.9 +/// [RFC 5280 Section 4.1.2.9]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.9 pub type Extensions = alloc::vec::Vec; /// Trait for types that define their default criticality as an extension. @@ -92,7 +92,7 @@ pub trait Criticality { /// } /// /// impl AssociatedOid for CaptainAge { -/// # // https://datatracker.ietf.org/doc/html/rfc5612 +/// # // https://www.rfc-editor.org/info/rfc5612 /// # // 32473 is the private OID reserved for documentation. /// const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.6.1.4.1.32473.1"); /// } diff --git a/x509-cert/src/ext/pkix.rs b/x509-cert/src/ext/pkix.rs index d280015c0..c00b81df8 100644 --- a/x509-cert/src/ext/pkix.rs +++ b/x509-cert/src/ext/pkix.rs @@ -47,7 +47,7 @@ use der::asn1::OctetString; /// SubjectKeyIdentifier ::= KeyIdentifier /// ``` /// -/// [RFC 5280 Section 4.2.1.2]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2 +/// [RFC 5280 Section 4.2.1.2]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.2 #[derive(Clone, Debug, PartialEq, Eq)] pub struct SubjectKeyIdentifier(pub OctetString); @@ -68,7 +68,7 @@ impl_key_identifier!( /// SubjectAltName ::= GeneralNames /// ``` /// -/// [RFC 5280 Section 4.2.1.6]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 +/// [RFC 5280 Section 4.2.1.6]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.6 #[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct SubjectAltName(pub name::GeneralNames); @@ -80,7 +80,7 @@ impl_newtype!(SubjectAltName, name::GeneralNames); impl crate::ext::Criticality for SubjectAltName { fn criticality(&self, subject: &crate::name::Name, _extensions: &[super::Extension]) -> bool { - // https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 + // https://www.rfc-editor.org/info/rfc5280#section-4.2.1.6 // Further, if the only subject identity included in the certificate is // an alternative name form (e.g., an electronic mail address), then the // subject distinguished name MUST be empty (an empty sequence), and the @@ -101,7 +101,7 @@ impl crate::ext::Criticality for SubjectAltName { /// IssuerAltName ::= GeneralNames /// ``` /// -/// [RFC 5280 Section 4.2.1.7]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.7 +/// [RFC 5280 Section 4.2.1.7]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.7 #[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct IssuerAltName(pub name::GeneralNames); @@ -118,7 +118,7 @@ impl_extension!(IssuerAltName, critical = false); /// SubjectDirectoryAttributes ::= SEQUENCE SIZE (1..MAX) OF AttributeSet /// ``` /// -/// [RFC 5280 Section 4.2.1.8]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.8 +/// [RFC 5280 Section 4.2.1.8]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.8 #[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct SubjectDirectoryAttributes(pub Vec); @@ -135,7 +135,7 @@ impl_extension!(SubjectDirectoryAttributes, critical = false); /// InhibitAnyPolicy ::= SkipCerts /// ``` /// -/// [RFC 5280 Section 4.2.1.14]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.14 +/// [RFC 5280 Section 4.2.1.14]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.14 #[derive(Copy, Clone, Debug, Default, PartialEq, Eq)] pub struct InhibitAnyPolicy(pub u32); diff --git a/x509-cert/src/ext/pkix/access.rs b/x509-cert/src/ext/pkix/access.rs index b07fc0577..b9de912a7 100644 --- a/x509-cert/src/ext/pkix/access.rs +++ b/x509-cert/src/ext/pkix/access.rs @@ -14,7 +14,7 @@ use der::{Sequence, ValueOrd, asn1::ObjectIdentifier}; /// AuthorityInfoAccessSyntax ::= SEQUENCE SIZE (1..MAX) OF AccessDescription /// ``` /// -/// [RFC 5280 Section 4.2.2.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.2.1 +/// [RFC 5280 Section 4.2.2.1]: https://www.rfc-editor.org/info/rfc5280#section-4.2.2.1 #[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct AuthorityInfoAccessSyntax(pub Vec); @@ -31,7 +31,7 @@ impl_extension!(AuthorityInfoAccessSyntax, critical = false); /// SubjectInfoAccessSyntax ::= SEQUENCE SIZE (1..MAX) OF AccessDescription /// ``` /// -/// [RFC 5280 Section 4.2.2.2]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.2.2 +/// [RFC 5280 Section 4.2.2.2]: https://www.rfc-editor.org/info/rfc5280#section-4.2.2.2 #[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct SubjectInfoAccessSyntax(pub Vec); @@ -51,7 +51,7 @@ impl_extension!(SubjectInfoAccessSyntax, critical = false); /// } /// ``` /// -/// [RFC 5280 Section 4.2.2.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.2.1 +/// [RFC 5280 Section 4.2.2.1]: https://www.rfc-editor.org/info/rfc5280#section-4.2.2.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct AccessDescription { diff --git a/x509-cert/src/ext/pkix/authkeyid.rs b/x509-cert/src/ext/pkix/authkeyid.rs index f1e184310..a014da17a 100644 --- a/x509-cert/src/ext/pkix/authkeyid.rs +++ b/x509-cert/src/ext/pkix/authkeyid.rs @@ -18,7 +18,7 @@ use der::asn1::OctetString; /// KeyIdentifier ::= OCTET STRING /// ``` /// -/// [RFC 5280 Section 4.2.1.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.1 +/// [RFC 5280 Section 4.2.1.1]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence, Default)] #[allow(missing_docs)] pub struct AuthorityKeyIdentifier { diff --git a/x509-cert/src/ext/pkix/certpolicy.rs b/x509-cert/src/ext/pkix/certpolicy.rs index e8fc6c312..34307f99d 100644 --- a/x509-cert/src/ext/pkix/certpolicy.rs +++ b/x509-cert/src/ext/pkix/certpolicy.rs @@ -13,7 +13,7 @@ use der::{Any, Choice, Sequence, ValueOrd}; /// CertificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation /// ``` /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 // If this extension is // critical, the path validation software MUST be able to interpret this // extension (including the optional qualifier), or MUST reject the @@ -39,7 +39,7 @@ impl_extension!(CertificatePolicies); /// CertPolicyId ::= OBJECT IDENTIFIER /// ``` /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct PolicyInformation { @@ -56,7 +56,7 @@ pub struct PolicyInformation { /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct PolicyQualifierInfo { @@ -70,7 +70,7 @@ pub struct PolicyQualifierInfo { /// CPSuri ::= IA5String /// ``` /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 pub type CpsUri = Ia5String; /// UserNotice as defined in [RFC 5280 Section 4.2.1.4]. @@ -82,7 +82,7 @@ pub type CpsUri = Ia5String; /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct UserNotice { @@ -98,7 +98,7 @@ pub struct UserNotice { /// noticeNumbers SEQUENCE OF INTEGER } /// ``` /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct NoticeReference { @@ -119,7 +119,7 @@ pub struct NoticeReference { /// /// Only the ia5String and utf8String options are currently supported. /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 #[derive(Choice, Clone, Debug, Eq, PartialEq)] #[allow(missing_docs)] pub enum DisplayText { diff --git a/x509-cert/src/ext/pkix/constraints/basic.rs b/x509-cert/src/ext/pkix/constraints/basic.rs index ea135e1d9..c27fe118c 100644 --- a/x509-cert/src/ext/pkix/constraints/basic.rs +++ b/x509-cert/src/ext/pkix/constraints/basic.rs @@ -10,7 +10,7 @@ use der::Sequence; /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.9]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.9 +/// [RFC 5280 Section 4.2.1.9]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.9 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct BasicConstraints { @@ -29,7 +29,7 @@ impl crate::ext::Criticality for BasicConstraints { _subject: &crate::name::Name, _extensions: &[crate::ext::Extension], ) -> bool { - // https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.9 + // https://www.rfc-editor.org/info/rfc5280#section-4.2.1.9 // Conforming CAs MUST include this extension in all CA certificates // that contain public keys used to validate digital signatures on // certificates and MUST mark the extension as critical in such diff --git a/x509-cert/src/ext/pkix/constraints/name.rs b/x509-cert/src/ext/pkix/constraints/name.rs index 8b47e5c6e..867bd13a8 100644 --- a/x509-cert/src/ext/pkix/constraints/name.rs +++ b/x509-cert/src/ext/pkix/constraints/name.rs @@ -16,7 +16,7 @@ use super::super::name::GeneralName; /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.10]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 +/// [RFC 5280 Section 4.2.1.10]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.10 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct NameConstraints { @@ -39,7 +39,7 @@ impl_extension!(NameConstraints, critical = true); /// GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree /// ``` /// -/// [RFC 5280 Section 4.2.1.10]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 +/// [RFC 5280 Section 4.2.1.10]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.10 pub type GeneralSubtrees = Vec; /// GeneralSubtree as defined in [RFC 5280 Section 4.2.1.10]. @@ -52,7 +52,7 @@ pub type GeneralSubtrees = Vec; /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.10]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 +/// [RFC 5280 Section 4.2.1.10]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.10 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct GeneralSubtree { diff --git a/x509-cert/src/ext/pkix/constraints/policy.rs b/x509-cert/src/ext/pkix/constraints/policy.rs index 53f788896..6338e9d10 100644 --- a/x509-cert/src/ext/pkix/constraints/policy.rs +++ b/x509-cert/src/ext/pkix/constraints/policy.rs @@ -10,7 +10,7 @@ use der::Sequence; /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.11]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.11 +/// [RFC 5280 Section 4.2.1.11]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.11 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct PolicyConstraints { diff --git a/x509-cert/src/ext/pkix/crl.rs b/x509-cert/src/ext/pkix/crl.rs index 5f9ad05a7..3dd61c5f0 100644 --- a/x509-cert/src/ext/pkix/crl.rs +++ b/x509-cert/src/ext/pkix/crl.rs @@ -19,7 +19,7 @@ use der::{Enumerated, asn1::Uint}; /// CRLNumber ::= INTEGER (0..MAX) /// ``` /// -/// [RFC 5280 Section 5.2.3]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.3 +/// [RFC 5280 Section 5.2.3]: https://www.rfc-editor.org/info/rfc5280#section-5.2.3 #[derive(Clone, Debug, PartialEq, Eq)] pub struct CrlNumber(pub Uint); @@ -52,7 +52,7 @@ impl_from_traits!(u8, u16, u32, u64, u128); /// BaseCRLNumber ::= CRLNumber /// ``` /// -/// [RFC 5280 Section 5.2.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.4 +/// [RFC 5280 Section 5.2.4]: https://www.rfc-editor.org/info/rfc5280#section-5.2.4 #[derive(Clone, Debug, PartialEq, Eq)] pub struct BaseCrlNumber(pub Uint); @@ -69,7 +69,7 @@ impl_extension!(BaseCrlNumber, critical = true); /// CRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint /// ``` /// -/// [RFC 5280 Section 4.2.1.13]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.13 +/// [RFC 5280 Section 4.2.1.13]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.13 #[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct CrlDistributionPoints(pub Vec); @@ -86,7 +86,7 @@ impl_extension!(CrlDistributionPoints, critical = false); /// FreshestCRL ::= CRLDistributionPoints /// ``` /// -/// [RFC 5280 Section 5.2.6]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.6 +/// [RFC 5280 Section 5.2.6]: https://www.rfc-editor.org/info/rfc5280#section-5.2.6 #[derive(Clone, Debug, Default, PartialEq, Eq)] pub struct FreshestCrl(pub Vec); @@ -114,7 +114,7 @@ impl_extension!(FreshestCrl, critical = false); /// } /// ``` /// -/// [RFC 5280 Section 5.3.1]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.3.1 +/// [RFC 5280 Section 5.3.1]: https://www.rfc-editor.org/info/rfc5280#section-5.3.1 #[derive(Copy, Clone, Debug, Eq, PartialEq, Enumerated, Ord, PartialOrd)] #[allow(missing_docs)] #[repr(u32)] diff --git a/x509-cert/src/ext/pkix/crl/dp.rs b/x509-cert/src/ext/pkix/crl/dp.rs index 7bb96b157..e09180b39 100644 --- a/x509-cert/src/ext/pkix/crl/dp.rs +++ b/x509-cert/src/ext/pkix/crl/dp.rs @@ -21,7 +21,7 @@ use crate::ext::pkix::name::{DistributionPointName, GeneralNames}; /// } /// ``` /// -/// [RFC 5280 Section 5.2.5]: https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.5 +/// [RFC 5280 Section 5.2.5]: https://www.rfc-editor.org/info/rfc5280#section-5.2.5 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct IssuingDistributionPoint { @@ -75,7 +75,7 @@ impl_extension!(IssuingDistributionPoint, critical = true); /// cRLIssuer [2] GeneralNames OPTIONAL } /// ``` /// -/// [RFC 5280 Section 4.2.1.13]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.13 +/// [RFC 5280 Section 4.2.1.13]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.13 #[derive(Clone, Debug, PartialEq, Eq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct DistributionPoint { @@ -91,7 +91,7 @@ pub struct DistributionPoint { /// ReasonFlags as defined in [RFC 5280 Section 4.2.1.13]. /// -/// [RFC 5280 Section 4.2.1.13]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.13 +/// [RFC 5280 Section 4.2.1.13]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.13 pub type ReasonFlags = FlagSet; flags! { @@ -111,7 +111,7 @@ flags! { /// } /// ``` /// - /// [RFC 5280 Section 4.2.1.13]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.13 + /// [RFC 5280 Section 4.2.1.13]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.13 #[allow(missing_docs)] pub enum Reasons: u16 { Unused = 1 << 0, diff --git a/x509-cert/src/ext/pkix/keyusage.rs b/x509-cert/src/ext/pkix/keyusage.rs index 9845a223e..e567030e6 100644 --- a/x509-cert/src/ext/pkix/keyusage.rs +++ b/x509-cert/src/ext/pkix/keyusage.rs @@ -26,7 +26,7 @@ flags! { /// } /// ``` /// - /// [RFC 5280 Section 4.2.1.3]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3 + /// [RFC 5280 Section 4.2.1.3]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.3 #[allow(missing_docs)] pub enum KeyUsages: u16 { DigitalSignature = 1 << 0, @@ -43,7 +43,7 @@ flags! { /// KeyUsage as defined in [RFC 5280 Section 4.2.1.3]. /// -/// [RFC 5280 Section 4.2.1.3]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.3 +/// [RFC 5280 Section 4.2.1.3]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.3 #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub struct KeyUsage(pub FlagSet); @@ -128,7 +128,7 @@ impl KeyUsage { /// KeyPurposeId ::= OBJECT IDENTIFIER /// ``` /// -/// [RFC 5280 Section 4.2.1.12]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.12 +/// [RFC 5280 Section 4.2.1.12]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.12 #[derive(Clone, Debug, PartialEq, Eq)] pub struct ExtendedKeyUsage(pub Vec); @@ -151,7 +151,7 @@ impl_extension!(ExtendedKeyUsage, critical = false); /// -- either notBefore or notAfter MUST be present /// ``` /// -/// [RFC 3280 Section 4.2.1.12]: https://datatracker.ietf.org/doc/html/rfc3280#section-4.2.1.4 +/// [RFC 3280 Section 4.2.1.12]: https://www.rfc-editor.org/info/rfc3280#section-4.2.1.4 #[derive(Clone, Debug, PartialEq, Eq, Sequence)] #[allow(missing_docs)] pub struct PrivateKeyUsagePeriod { diff --git a/x509-cert/src/ext/pkix/name/dirstr.rs b/x509-cert/src/ext/pkix/name/dirstr.rs index 188df5a00..fa209cae2 100644 --- a/x509-cert/src/ext/pkix/name/dirstr.rs +++ b/x509-cert/src/ext/pkix/name/dirstr.rs @@ -42,7 +42,7 @@ use der::{ /// `UTF8String` are the new types and the other types are legacy. Until /// the need arises, we only support `PrintableString` and `UTF8String`. /// -/// [RFC 5280 Section 4.2.1.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.4 +/// [RFC 5280 Section 4.2.1.4]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.4 #[derive(Clone, Debug, Eq, PartialEq, Choice, ValueOrd)] #[allow(missing_docs)] pub enum DirectoryString { diff --git a/x509-cert/src/ext/pkix/name/dp.rs b/x509-cert/src/ext/pkix/name/dp.rs index 0965564c2..a13e4e917 100644 --- a/x509-cert/src/ext/pkix/name/dp.rs +++ b/x509-cert/src/ext/pkix/name/dp.rs @@ -12,7 +12,7 @@ use der::{Choice, ValueOrd}; /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.13]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.13 +/// [RFC 5280 Section 4.2.1.13]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.13 #[derive(Clone, Debug, Eq, PartialEq, Choice, ValueOrd)] #[allow(missing_docs)] pub enum DistributionPointName { diff --git a/x509-cert/src/ext/pkix/name/ediparty.rs b/x509-cert/src/ext/pkix/name/ediparty.rs index 9d10040f6..9892dc14c 100644 --- a/x509-cert/src/ext/pkix/name/ediparty.rs +++ b/x509-cert/src/ext/pkix/name/ediparty.rs @@ -24,7 +24,7 @@ use super::DirectoryString; /// See [this OpenSSL bug] for more details. /// /// [this OpenSSL bug]: https://github.com/openssl/openssl/issues/6859 -/// [RFC 5280 Section 4.2.1.6]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 +/// [RFC 5280 Section 4.2.1.6]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.6 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct EdiPartyName { diff --git a/x509-cert/src/ext/pkix/name/general.rs b/x509-cert/src/ext/pkix/name/general.rs index 0c2f057a9..1e68084bf 100644 --- a/x509-cert/src/ext/pkix/name/general.rs +++ b/x509-cert/src/ext/pkix/name/general.rs @@ -12,7 +12,7 @@ use der::{Choice, ValueOrd}; /// GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName /// ``` /// -/// [RFC 5280 Section 4.2.1.6]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 +/// [RFC 5280 Section 4.2.1.6]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.6 pub type GeneralNames = alloc::vec::Vec; /// GeneralName as defined in [RFC 5280 Section 4.2.1.6]. @@ -33,7 +33,7 @@ pub type GeneralNames = alloc::vec::Vec; /// /// This implementation does not currently support the `x400Address` choice. /// -/// [RFC 5280 Section 4.2.1.6]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 +/// [RFC 5280 Section 4.2.1.6]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.6 #[derive(Clone, Debug, Eq, PartialEq, Choice, ValueOrd)] #[allow(missing_docs)] pub enum GeneralName { diff --git a/x509-cert/src/ext/pkix/name/other.rs b/x509-cert/src/ext/pkix/name/other.rs index 24eee0e93..2c4e4e946 100644 --- a/x509-cert/src/ext/pkix/name/other.rs +++ b/x509-cert/src/ext/pkix/name/other.rs @@ -9,7 +9,7 @@ use der::{Any, Sequence, ValueOrd, asn1::ObjectIdentifier}; /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.6]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 +/// [RFC 5280 Section 4.2.1.6]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.6 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct OtherName { diff --git a/x509-cert/src/ext/pkix/policymap.rs b/x509-cert/src/ext/pkix/policymap.rs index ed2e0609b..7d2ab1392 100644 --- a/x509-cert/src/ext/pkix/policymap.rs +++ b/x509-cert/src/ext/pkix/policymap.rs @@ -11,7 +11,7 @@ use der::{Sequence, ValueOrd}; /// PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { /// ``` /// -/// [RFC 5280 Section 4.2.1.5]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.5 +/// [RFC 5280 Section 4.2.1.5]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.5 #[derive(Clone, Debug, PartialEq, Eq)] pub struct PolicyMappings(pub Vec); @@ -31,7 +31,7 @@ impl_extension!(PolicyMappings, critical = true); /// } /// ``` /// -/// [RFC 5280 Section 4.2.1.5]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.5 +/// [RFC 5280 Section 4.2.1.5]: https://www.rfc-editor.org/info/rfc5280#section-4.2.1.5 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct PolicyMapping { diff --git a/x509-cert/src/ext/pkix/sct.rs b/x509-cert/src/ext/pkix/sct.rs index c8f6c50f3..c36580102 100644 --- a/x509-cert/src/ext/pkix/sct.rs +++ b/x509-cert/src/ext/pkix/sct.rs @@ -1,7 +1,7 @@ //! Signed Certificate Timestamp list extension as defined in the //! [Certificate Transparency RFC 6962]. //! -//! [Certificate Transparency RFC 6962]: https://datatracker.ietf.org/doc/html/rfc6962 +//! [Certificate Transparency RFC 6962]: https://www.rfc-editor.org/info/rfc6962 use alloc::{format, vec::Vec}; use const_oid::{AssociatedOid, ObjectIdentifier, db::rfc6962::CT_PRECERT_SCTS}; @@ -17,7 +17,7 @@ use tls_codec::{ /// SignedCertificateTimestampList ::= OCTET STRING /// ``` /// -/// [RFC 6962 Section 3.3]: https://datatracker.ietf.org/doc/html/rfc6962#section-3.3 +/// [RFC 6962 Section 3.3]: https://www.rfc-editor.org/info/rfc6962#section-3.3 #[derive(Debug, PartialEq)] pub struct SignedCertificateTimestampList(OctetString); @@ -86,7 +86,7 @@ impl SignedCertificateTimestampList { /// A byte string that contains a serialized [SignedCertificateTimestamp] as /// defined in [RFC 6962 section 3.3]. /// -/// [RFC 6962 section 3.3]: https://datatracker.ietf.org/doc/html/rfc6962#section-3.3 +/// [RFC 6962 section 3.3]: https://www.rfc-editor.org/info/rfc6962#section-3.3 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] pub struct SerializedSct { data: TlsByteVecU16, @@ -120,7 +120,7 @@ impl SerializedSct { /// A signed certificate timestamp (SCT) as defined in [RFC 6962 section 3.2]. /// -/// [RFC 6962 section 3.2]: https://datatracker.ietf.org/doc/html/rfc6962#section-3.2 +/// [RFC 6962 section 3.2]: https://www.rfc-editor.org/info/rfc6962#section-3.2 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] pub struct SignedCertificateTimestamp { /// The version of the protocol to which the SCT conforms. @@ -139,7 +139,7 @@ pub struct SignedCertificateTimestamp { /// version, timestamp, extensions and others. See [RFC 6962 section 3.2] /// for a complete list. /// - /// [RFC 6962 section 3.2]:https://datatracker.ietf.org/doc/html/rfc6962#section-3.2 + /// [RFC 6962 section 3.2]:https://www.rfc-editor.org/info/rfc6962#section-3.2 pub signature: DigitallySigned, } @@ -155,7 +155,7 @@ impl SignedCertificateTimestamp { /// The version of the protocol to which the SCT conforms /// as defined in [RFC 6962 section 3.2]. Currently, it is always v1. /// -/// [RFC 6962 section 3.2]: https://datatracker.ietf.org/doc/html/rfc6962#section-3.2 +/// [RFC 6962 section 3.2]: https://www.rfc-editor.org/info/rfc6962#section-3.2 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] #[repr(u8)] pub enum Version { @@ -167,7 +167,7 @@ pub enum Version { /// the DER encoding of the key represented as [SubjectPublicKeyInfo][spki::SubjectPublicKeyInfo] /// as defined in [RFC 6962 section 3.2]. /// -/// [RFC 6962 section 3.2]: https://datatracker.ietf.org/doc/html/rfc6962#section-3.2 +/// [RFC 6962 section 3.2]: https://www.rfc-editor.org/info/rfc6962#section-3.2 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] pub struct LogId { /// Hash of the log's public key. @@ -176,12 +176,12 @@ pub struct LogId { /// Digital signature as defined in [RFC 5246 section 4.7]. /// -/// [RFC 5246 section 4.7]: https://datatracker.ietf.org/doc/html/rfc5246#section-4.7 +/// [RFC 5246 section 4.7]: https://www.rfc-editor.org/info/rfc5246#section-4.7 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] pub struct DigitallySigned { /// [SignatureAndHashAlgorithm] as defined in [RFC 5246 section 7.4.1.4.1]. /// - /// [RFC 5246 section 7.4.1.4.1]: https://datatracker.ietf.org/doc/html/rfc5246#section-7.4.1.4.1 + /// [RFC 5246 section 7.4.1.4.1]: https://www.rfc-editor.org/info/rfc5246#section-7.4.1.4.1 pub algorithm: SignatureAndHashAlgorithm, /// Digital signature over some contents using the [SignatureAndHashAlgorithm]. pub signature: TlsByteVecU16, @@ -189,7 +189,7 @@ pub struct DigitallySigned { /// A combination of signature and hashing algorithms as defined in [RFC 5246 section 7.4.1.4.1]. /// -/// [RFC 5246 section 7.4.1.4.1]: https://datatracker.ietf.org/doc/html/rfc5246#section-7.4.1.4.1 +/// [RFC 5246 section 7.4.1.4.1]: https://www.rfc-editor.org/info/rfc5246#section-7.4.1.4.1 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] pub struct SignatureAndHashAlgorithm { /// The hashing algorithm. @@ -200,7 +200,7 @@ pub struct SignatureAndHashAlgorithm { /// Signature algorithm as defined in [RFC 5246 section 7.4.1.4.1]. /// -/// [RFC 5246 section 7.4.1.4.1]: https://datatracker.ietf.org/doc/html/rfc5246#section-7.4.1.4.1 +/// [RFC 5246 section 7.4.1.4.1]: https://www.rfc-editor.org/info/rfc5246#section-7.4.1.4.1 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] #[repr(u8)] pub enum SignatureAlgorithm { @@ -220,7 +220,7 @@ pub enum SignatureAlgorithm { /// Hashing algorithm as defined in [RFC 5246 section 7.4.1.4.1]. /// -/// [RFC 5246 section 7.4.1.4.1]: https://datatracker.ietf.org/doc/html/rfc5246#section-7.4.1.4.1 +/// [RFC 5246 section 7.4.1.4.1]: https://www.rfc-editor.org/info/rfc5246#section-7.4.1.4.1 #[derive(PartialEq, Debug, TlsDeserializeBytes, TlsSerializeBytes, TlsSize)] #[repr(u8)] pub enum HashAlgorithm { diff --git a/x509-cert/src/macros.rs b/x509-cert/src/macros.rs index d397db79f..2b0067e79 100644 --- a/x509-cert/src/macros.rs +++ b/x509-cert/src/macros.rs @@ -113,7 +113,7 @@ macro_rules! impl_key_identifier { type Error = der::Error; fn try_from(issuer: SubjectPublicKeyInfoRef<'a>) -> Result { - // https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.2 + // https://www.rfc-editor.org/info/rfc5280#section-4.2.1.2 // // For CA certificates, subject key identifiers SHOULD be derived from // the public key or a method that generates unique values. Two common diff --git a/x509-cert/src/name.rs b/x509-cert/src/name.rs index 194199cec..42038da90 100644 --- a/x509-cert/src/name.rs +++ b/x509-cert/src/name.rs @@ -55,7 +55,7 @@ use der::{ /// ``` /// /// [RFC 4514 Section 3]: https://www.rfc-editor.org/rfc/rfc4514#section-3 -/// [RFC 5280 Section 4.1.2.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.4 +/// [RFC 5280 Section 4.1.2.4]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.4 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct Name(pub(crate) RdnSequence); @@ -78,7 +78,7 @@ impl Name { /// As the name implies, this is a dangerous helper. You are responsible for ensuring the /// [`RdnSequence`] complies with the RFC. /// - /// [RFC 5280 Section 4.1.2.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.4 + /// [RFC 5280 Section 4.1.2.4]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.4 #[cfg(feature = "hazmat")] pub fn hazmat_from_rdn_sequence(value: RdnSequence) -> Self { Self(value) @@ -281,7 +281,7 @@ impl Name { /// /// Follows the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl FromStr for Name { type Err = der::Error; @@ -292,7 +292,7 @@ impl FromStr for Name { /// Serializes the name according to the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl fmt::Display for Name { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { self.0.fmt(f) @@ -305,7 +305,7 @@ impl fmt::Display for Name { /// RDNSequence ::= SEQUENCE OF RelativeDistinguishedName /// ``` /// -/// [RFC 5280 Section 4.1.2.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.4 +/// [RFC 5280 Section 4.1.2.4]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.4 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct RdnSequence(Vec); @@ -342,7 +342,7 @@ impl RdnSequence { /// /// Follows the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl FromStr for RdnSequence { type Err = der::Error; @@ -357,7 +357,7 @@ impl FromStr for RdnSequence { /// Serializes the structure according to the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl fmt::Display for RdnSequence { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { // As per RFC 4514 Section 2.1, the elements are reversed @@ -409,7 +409,7 @@ fn split(s: &str, b: u8) -> impl '_ + Iterator { /// DistinguishedName ::= RDNSequence /// ``` /// -/// [RFC 5280 Section 4.1.2.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.4 +/// [RFC 5280 Section 4.1.2.4]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.4 pub type DistinguishedName = RdnSequence; /// RelativeDistinguishedName as defined in [RFC 5280 Section 4.1.2.4]. @@ -435,7 +435,7 @@ pub type DistinguishedName = RdnSequence; /// } /// ``` /// -/// [RFC 5280 Section 4.1.2.4]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.4 +/// [RFC 5280 Section 4.1.2.4]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.4 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Default, PartialEq, Eq, Hash)] pub struct RelativeDistinguishedName(pub(crate) SetOfVec); @@ -466,7 +466,7 @@ impl RelativeDistinguishedName { /// /// This function follows the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl FromStr for RelativeDistinguishedName { type Err = der::Error; @@ -489,7 +489,7 @@ impl TryFrom> for RelativeDistinguishedName { /// Serializes the structure according to the rules in [RFC 4514]. /// -/// [RFC 4514]: https://datatracker.ietf.org/doc/html/rfc4514 +/// [RFC 4514]: https://www.rfc-editor.org/info/rfc4514 impl fmt::Display for RelativeDistinguishedName { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { for (i, atv) in self.0.iter().enumerate() { diff --git a/x509-cert/src/request.rs b/x509-cert/src/request.rs index f239829f5..13f660a04 100644 --- a/x509-cert/src/request.rs +++ b/x509-cert/src/request.rs @@ -48,7 +48,7 @@ pub enum Version { /// } /// ``` /// -/// [RFC 2986 Section 4]: https://datatracker.ietf.org/doc/html/rfc2986#section-4 +/// [RFC 2986 Section 4]: https://www.rfc-editor.org/info/rfc2986#section-4 #[derive(Clone, Debug, PartialEq, Eq, Sequence)] pub struct CertReqInfo { /// Certification request version. @@ -75,7 +75,7 @@ pub struct CertReqInfo { /// } /// ``` /// -/// [RFC 2986 Section 4]: https://datatracker.ietf.org/doc/html/rfc2986#section-4 +/// [RFC 2986 Section 4]: https://www.rfc-editor.org/info/rfc2986#section-4 #[derive(Clone, Debug, PartialEq, Eq, Sequence)] pub struct CertReq { /// Certification request information. @@ -107,7 +107,7 @@ impl<'a> TryFrom<&'a [u8]> for CertReq { /// ExtensionReq ::= SEQUENCE SIZE (1..MAX) OF Extension /// ``` /// -/// [RFC 5272 Section 3.1]: https://datatracker.ietf.org/doc/html/rfc5272#section-3.1 +/// [RFC 5272 Section 3.1]: https://www.rfc-editor.org/info/rfc5272#section-3.1 #[derive(Clone, Debug, PartialEq, Eq, Default)] pub struct ExtensionReq(pub Vec); diff --git a/x509-cert/src/time.rs b/x509-cert/src/time.rs index fde40bcd0..2ca72f474 100644 --- a/x509-cert/src/time.rs +++ b/x509-cert/src/time.rs @@ -156,7 +156,7 @@ impl TryFrom for Time { /// notAfter Time /// } /// ``` -/// [RFC 5280 Section 4.1.2.5]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5 +/// [RFC 5280 Section 4.1.2.5]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.5 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Copy, Clone, Debug, Eq, PartialEq, ValueOrd)] pub struct Validity { diff --git a/x509-cert/tests/name.rs b/x509-cert/tests/name.rs index 3ed5797b2..0c3ec1dfd 100644 --- a/x509-cert/tests/name.rs +++ b/x509-cert/tests/name.rs @@ -70,7 +70,7 @@ fn decode_name() { #[cfg(feature = "std")] { - // https://datatracker.ietf.org/doc/html/rfc4514.html#section-2.1 + // https://www.rfc-editor.org/info/rfc4514.html#section-2.1 // If the RDNSequence is an empty sequence, the result is the empty or // zero-length string. // Otherwise, the output consists of the string encodings of each diff --git a/x509-ocsp/README.md b/x509-ocsp/README.md index 7efd01385..6637b522a 100644 --- a/x509-ocsp/README.md +++ b/x509-ocsp/README.md @@ -50,4 +50,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 6960]: https://datatracker.ietf.org/doc/html/rfc6960 +[RFC 6960]: https://www.rfc-editor.org/info/rfc6960 diff --git a/x509-ocsp/src/basic.rs b/x509-ocsp/src/basic.rs index 3c3cf2d43..f0320e354 100644 --- a/x509-ocsp/src/basic.rs +++ b/x509-ocsp/src/basic.rs @@ -26,7 +26,7 @@ use x509_cert::{certificate::Certificate, ext::Extensions}; /// certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct BasicOcspResponse { @@ -63,7 +63,7 @@ impl AsResponseBytes for BasicOcspResponse {} /// responseExtensions [1] EXPLICIT Extensions OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct ResponseData { @@ -109,7 +109,7 @@ impl ResponseData { /// singleExtensions [1] EXPLICIT Extensions OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct SingleResponse { @@ -153,7 +153,7 @@ mod builder { /// Sets `thisUpdate` in the `singleResponse` as defined in [RFC 6960 Section 4.2.1]. /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn with_this_update(mut self, this_update: OcspGeneralizedTime) -> Self { self.this_update = this_update; self @@ -161,7 +161,7 @@ mod builder { /// Sets `nextUpdate` in the `singleResponse` as defined in [RFC 6960 Section 4.2.1]. /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn with_next_update(mut self, next_update: OcspGeneralizedTime) -> Self { self.next_update = Some(next_update); self @@ -170,7 +170,7 @@ mod builder { /// Adds a single response extension as specified in [RFC 6960 Section 4.4]. Errors when the /// extension encoding fails. /// - /// [RFC 6960 Section 4.4]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4 + /// [RFC 6960 Section 4.4]: https://www.rfc-editor.org/info/rfc6960#section-4.4 pub fn with_extension(mut self, ext: E) -> Result { let ext = ext.to_extension(&Name::default(), &[])?; match self.single_extensions { @@ -191,10 +191,10 @@ mod builder { /// [RFC 6960] limits the `good` status to only issued certificates. [RFC 2560] only asserts /// the serial was not revoked and makes no assertion the serial was ever issued. /// - /// [RFC 2560]: https://datatracker.ietf.org/doc/html/rfc2560 - /// [RFC 2560 Section 2.2]: https://datatracker.ietf.org/doc/html/rfc2560#section-2.2 - /// [RFC 6960]: https://datatracker.ietf.org/doc/html/rfc6960 - /// [RFC 6960 Section 2.2]: https://datatracker.ietf.org/doc/html/rfc6960#section-2.2 + /// [RFC 2560]: https://www.rfc-editor.org/info/rfc2560 + /// [RFC 2560 Section 2.2]: https://www.rfc-editor.org/info/rfc2560#section-2.2 + /// [RFC 6960]: https://www.rfc-editor.org/info/rfc6960 + /// [RFC 6960 Section 2.2]: https://www.rfc-editor.org/info/rfc6960#section-2.2 pub fn from_crl( issuer: &Certificate, crl: &CertificateList, diff --git a/x509-ocsp/src/builder/request.rs b/x509-ocsp/src/builder/request.rs index 09dfff255..dd393aa76 100644 --- a/x509-ocsp/src/builder/request.rs +++ b/x509-ocsp/src/builder/request.rs @@ -78,7 +78,7 @@ impl OcspRequestBuilder { /// Sets the requestor name as specified in [RFC 6960 Section 4.1.1] /// - /// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 + /// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 pub fn with_requestor_name(mut self, requestor_name: GeneralName) -> Self { self.tbs.requestor_name = Some(requestor_name); self @@ -86,7 +86,7 @@ impl OcspRequestBuilder { /// Adds a [`Request`] to the builder as defined in [RFC 6960 Section 4.1.1]. /// - /// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 + /// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 pub fn with_request(mut self, request: Request) -> Self { self.tbs.request_list.push(request); self @@ -95,7 +95,7 @@ impl OcspRequestBuilder { /// Adds a request extension as specified in [RFC 6960 Section 4.4]. Errors when the /// extension encoding fails. /// - /// [RFC 6960 Section 4.4]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4 + /// [RFC 6960 Section 4.4]: https://www.rfc-editor.org/info/rfc6960#section-4.4 pub fn with_extension(mut self, ext: E) -> Result { let ext = ext.to_extension(&Name::default(), &[])?; match self.tbs.request_extensions { diff --git a/x509-ocsp/src/builder/response.rs b/x509-ocsp/src/builder/response.rs index 7152418b0..813f1a0dd 100644 --- a/x509-ocsp/src/builder/response.rs +++ b/x509-ocsp/src/builder/response.rs @@ -91,7 +91,7 @@ impl OcspResponseBuilder { /// Adds a [`SingleResponse`] to the builder as defined in [RFC 6960 Section 4.2.1]. /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn with_single_response(mut self, single_response: SingleResponse) -> Self { self.responses.push(single_response); self @@ -100,7 +100,7 @@ impl OcspResponseBuilder { /// Adds a response extension as specified in [RFC 6960 Section 4.4]. Errors when the /// extension encoding fails. /// - /// [RFC 6960 Section 4.4]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4 + /// [RFC 6960 Section 4.4]: https://www.rfc-editor.org/info/rfc6960#section-4.4 pub fn with_extension(mut self, ext: E) -> Result { let ext = ext.to_extension(&Name::default(), &[])?; match self.response_extensions { @@ -127,7 +127,7 @@ impl OcspResponseBuilder { /// Per [RFC 6960 Section 2.4], the `producedAt` value must be the time the request was /// signed. /// - /// [RFC 6960 Section 2.4]: https://datatracker.ietf.org/doc/html/rfc6960#section-2.4 + /// [RFC 6960 Section 2.4]: https://www.rfc-editor.org/info/rfc6960#section-2.4 pub fn sign( self, signer: &mut S, @@ -157,7 +157,7 @@ impl OcspResponseBuilder { /// Per [RFC 6960 Section 2.4], the `producedAt` value must be the time the request was /// signed. /// - /// [RFC 6960 Section 2.4]: https://datatracker.ietf.org/doc/html/rfc6960#section-2.4 + /// [RFC 6960 Section 2.4]: https://www.rfc-editor.org/info/rfc6960#section-2.4 pub fn sign_with_rng( self, signer: &mut S, diff --git a/x509-ocsp/src/cert_id.rs b/x509-ocsp/src/cert_id.rs index fc7250c9f..89d1b664c 100644 --- a/x509-ocsp/src/cert_id.rs +++ b/x509-ocsp/src/cert_id.rs @@ -17,7 +17,7 @@ use x509_cert::{ /// serialNumber CertificateSerialNumber } /// ``` /// -/// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 +/// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct CertId { @@ -52,7 +52,7 @@ mod builder { /// /// [RFC 6960 Section 4.1.1] /// - /// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 + /// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 pub fn from_issuer( issuer: &Certificate, serial_number: SerialNumber, @@ -88,7 +88,7 @@ mod builder { /// /// [RFC 6960 Section 4.1.1] /// - /// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 + /// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 pub fn from_cert(issuer: &Certificate, cert: &Certificate) -> Result where D: Digest + AssociatedOid, diff --git a/x509-ocsp/src/cert_status.rs b/x509-ocsp/src/cert_status.rs index 35b1675cf..9dc18f0e8 100644 --- a/x509-ocsp/src/cert_status.rs +++ b/x509-ocsp/src/cert_status.rs @@ -15,7 +15,7 @@ use x509_cert::{crl::RevokedCert, ext::pkix::CrlReason}; /// unknown [2] IMPLICIT UnknownInfo } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Copy, Clone, Debug, Eq, PartialEq, Choice)] #[allow(missing_docs)] pub enum CertStatus { @@ -32,21 +32,21 @@ pub enum CertStatus { impl CertStatus { /// Returns `CertStatus` set to `good` as defined in [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn good() -> Self { Self::Good(Null) } /// Returns `CertStatus` set to `revoked` as defined in [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn revoked(info: impl Into) -> Self { Self::Revoked(info.into()) } /// Returns `CertStatus` set to `unknown` as defined in [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn unknown() -> Self { Self::Unknown(Null) } @@ -60,7 +60,7 @@ impl CertStatus { /// revocationReason [0] EXPLICIT CRLReason OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Copy, Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct RevokedInfo { @@ -76,7 +76,7 @@ pub struct RevokedInfo { /// UnknownInfo ::= NULL /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub type UnknownInfo = Null; impl From<&RevokedInfo> for RevokedInfo { diff --git a/x509-ocsp/src/ext.rs b/x509-ocsp/src/ext.rs index 457a8f4a5..095ed79dc 100644 --- a/x509-ocsp/src/ext.rs +++ b/x509-ocsp/src/ext.rs @@ -76,7 +76,7 @@ impl Nonce { /// /// This does not seem to be its own type and just another name for CrlID /// -/// [RFC 6960 Section 4.4.2]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4.2 +/// [RFC 6960 Section 4.4.2]: https://www.rfc-editor.org/info/rfc6960#section-4.4.2 pub type CrlReferences = CrlId; /// CrlID structure as defined in [RFC 6960 Section 4.4.2]. @@ -88,7 +88,7 @@ pub type CrlReferences = CrlId; /// crlTime [2] EXPLICIT GeneralizedTime OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.4.2]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4.2 +/// [RFC 6960 Section 4.4.2]: https://www.rfc-editor.org/info/rfc6960#section-4.4.2 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct CrlId { @@ -122,7 +122,7 @@ impl AssociatedOid for CrlId { /// AcceptableResponses ::= SEQUENCE OF OBJECT IDENTIFIER /// ``` /// -/// [RFC 6960 Section 4.4.3]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4.3 +/// [RFC 6960 Section 4.4.3]: https://www.rfc-editor.org/info/rfc6960#section-4.4.3 #[derive(Clone, Debug, Eq, PartialEq)] pub struct AcceptableResponses(pub Vec); @@ -144,7 +144,7 @@ impl AssociatedOid for AcceptableResponses { /// ArchiveCutoff ::= GeneralizedTime /// ``` /// -/// [RFC 6960 Section 4.4.4]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4.4 +/// [RFC 6960 Section 4.4.4]: https://www.rfc-editor.org/info/rfc6960#section-4.4.4 pub struct ArchiveCutoff(pub OcspGeneralizedTime); impl_newtype!(ArchiveCutoff, OcspGeneralizedTime); @@ -162,7 +162,7 @@ impl AssociatedOid for ArchiveCutoff { /// locator AuthorityInfoAccessSyntax } /// ``` /// -/// [RFC 6960 Section 4.4.6]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4.6 +/// [RFC 6960 Section 4.4.6]: https://www.rfc-editor.org/info/rfc6960#section-4.4.6 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct ServiceLocator { @@ -182,7 +182,7 @@ impl_extension!(ServiceLocator, critical = false); /// PreferredSignatureAlgorithms ::= SEQUENCE OF PreferredSignatureAlgorithm /// ``` /// -/// [RFC 6960 Section 4.4.7.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4.7.1 +/// [RFC 6960 Section 4.4.7.1]: https://www.rfc-editor.org/info/rfc6960#section-4.4.7.1 #[derive(Clone, Debug, Eq, PartialEq)] pub struct PreferredSignatureAlgorithms(pub Vec); @@ -204,7 +204,7 @@ impl AssociatedOid for PreferredSignatureAlgorithms { /// certIdentifier AlgorithmIdentifier OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.4.7.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4.7.1 +/// [RFC 6960 Section 4.4.7.1]: https://www.rfc-editor.org/info/rfc6960#section-4.4.7.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence, ValueOrd)] #[allow(missing_docs)] pub struct PreferredSignatureAlgorithm { diff --git a/x509-ocsp/src/lib.rs b/x509-ocsp/src/lib.rs index 1ea4e314b..18b09f221 100644 --- a/x509-ocsp/src/lib.rs +++ b/x509-ocsp/src/lib.rs @@ -45,7 +45,7 @@ use der::Enumerated; /// Version ::= INTEGER { v1(0) } /// ``` /// -/// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 +/// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 #[derive(Clone, Debug, Default, Copy, PartialEq, Eq, Enumerated)] #[asn1(type = "INTEGER")] #[repr(u8)] diff --git a/x509-ocsp/src/request.rs b/x509-ocsp/src/request.rs index f6a3f71f3..4c352aef4 100644 --- a/x509-ocsp/src/request.rs +++ b/x509-ocsp/src/request.rs @@ -19,7 +19,7 @@ use x509_cert::{ /// optionalSignature [0] EXPLICIT Signature OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 +/// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct OcspRequest { @@ -47,7 +47,7 @@ impl OcspRequest { /// requestExtensions [2] EXPLICIT Extensions OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 +/// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 #[derive(Clone, Debug, Default, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct TbsRequest { @@ -93,7 +93,7 @@ impl TbsRequest { /// certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 +/// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct Signature { @@ -112,7 +112,7 @@ pub struct Signature { /// singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 +/// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct Request { @@ -143,7 +143,7 @@ mod builder { /// /// [RFC 6960 Section 4.1.1] /// - /// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 + /// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 pub fn from_issuer( issuer: &Certificate, serial_number: SerialNumber, @@ -160,7 +160,7 @@ mod builder { /// /// [RFC 6960 Section 4.1.1] /// - /// [RFC 6960 Section 4.1.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1 + /// [RFC 6960 Section 4.1.1]: https://www.rfc-editor.org/info/rfc6960#section-4.1.1 pub fn from_cert(issuer: &Certificate, cert: &Certificate) -> Result where D: Digest + AssociatedOid, @@ -171,7 +171,7 @@ mod builder { /// Adds a single request extension as specified in [RFC 6960 Section 4.4]. Errors when the /// extension encoding fails. /// - /// [RFC 6960 Section 4.4]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.4 + /// [RFC 6960 Section 4.4]: https://www.rfc-editor.org/info/rfc6960#section-4.4 pub fn with_extension(mut self, ext: E) -> Result { let ext = ext.to_extension(&Name::default(), &[])?; match self.single_request_extensions { diff --git a/x509-ocsp/src/responder_id.rs b/x509-ocsp/src/responder_id.rs index 211e3735e..a618db9bf 100644 --- a/x509-ocsp/src/responder_id.rs +++ b/x509-ocsp/src/responder_id.rs @@ -11,7 +11,7 @@ use x509_cert::name::Name; /// byKey [2] KeyHash } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Clone, Debug, Eq, PartialEq, Choice)] #[allow(missing_docs)] pub enum ResponderId { @@ -44,5 +44,5 @@ impl From for ResponderId { /// -- bits] in the responder's certificate) /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub type KeyHash = OctetString; diff --git a/x509-ocsp/src/response.rs b/x509-ocsp/src/response.rs index 3ed09991c..4715636a4 100644 --- a/x509-ocsp/src/response.rs +++ b/x509-ocsp/src/response.rs @@ -15,7 +15,7 @@ use der::{ /// OcspNoCheck ::= NULL /// ``` /// -/// [RFC 6960 Section 4.2.2.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.2.2.1 +/// [RFC 6960 Section 4.2.2.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.2.2.1 pub type OcspNoCheck = Null; /// OCSPResponse structure as defined in [RFC 6960 Section 4.2.1]. @@ -26,7 +26,7 @@ pub type OcspNoCheck = Null; /// responseBytes [0] EXPLICIT ResponseBytes OPTIONAL } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct OcspResponse { @@ -41,7 +41,7 @@ impl OcspResponse { /// /// [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn successful(res: impl AsResponseBytes) -> Result { Ok(OcspResponse { response_status: OcspResponseStatus::Successful, @@ -53,7 +53,7 @@ impl OcspResponse { /// /// [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn malformed_request() -> Self { OcspResponse { response_status: OcspResponseStatus::MalformedRequest, @@ -65,7 +65,7 @@ impl OcspResponse { /// /// [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn internal_error() -> Self { OcspResponse { response_status: OcspResponseStatus::InternalError, @@ -77,7 +77,7 @@ impl OcspResponse { /// /// [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn try_later() -> Self { OcspResponse { response_status: OcspResponseStatus::TryLater, @@ -89,7 +89,7 @@ impl OcspResponse { /// /// [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn sig_required() -> Self { OcspResponse { response_status: OcspResponseStatus::SigRequired, @@ -101,7 +101,7 @@ impl OcspResponse { /// /// [RFC 6960 Section 4.2.1] /// - /// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 + /// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 pub fn unauthorized() -> Self { OcspResponse { response_status: OcspResponseStatus::Unauthorized, @@ -124,7 +124,7 @@ impl OcspResponse { /// } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Enumerated, Copy, Clone, Debug, Eq, PartialEq)] #[repr(u32)] #[allow(missing_docs)] @@ -145,7 +145,7 @@ pub enum OcspResponseStatus { /// response OCTET STRING } /// ``` /// -/// [RFC 6960 Section 4.2.1]: https://datatracker.ietf.org/doc/html/rfc6960#section-4.2.1 +/// [RFC 6960 Section 4.2.1]: https://www.rfc-editor.org/info/rfc6960#section-4.2.1 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] #[allow(missing_docs)] pub struct ResponseBytes { diff --git a/x509-ocsp/tests/builder.rs b/x509-ocsp/tests/builder.rs index 0164ee4f4..f7c305f91 100644 --- a/x509-ocsp/tests/builder.rs +++ b/x509-ocsp/tests/builder.rs @@ -523,8 +523,8 @@ mod from_crl { /// issued and has not revoked. The method's own documentation says so; this pins the behavior /// that documentation describes. /// - /// [RFC 2560]: https://datatracker.ietf.org/doc/html/rfc2560#section-2.2 - /// [RFC 6960]: https://datatracker.ietf.org/doc/html/rfc6960#section-2.2 + /// [RFC 2560]: https://www.rfc-editor.org/info/rfc2560#section-2.2 + /// [RFC 6960]: https://www.rfc-editor.org/info/rfc6960#section-2.2 #[test] fn a_serial_the_crl_does_not_list_is_good() { let (ca, crl) = actalis(); diff --git a/x509-tsp/README.md b/x509-tsp/README.md index 4e9e30c4d..a268be47d 100644 --- a/x509-tsp/README.md +++ b/x509-tsp/README.md @@ -47,4 +47,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 3161]: https://datatracker.ietf.org/doc/html/rfc3161 +[RFC 3161]: https://www.rfc-editor.org/info/rfc3161 From 30e775c4210a560917e21f96861560748ace5966 Mon Sep 17 00:00:00 2001 From: Michael Richardson Date: Tue, 27 Oct 2026 23:39:10 -0400 Subject: [PATCH 2/2] chore: change tools.ietf to rfc-editor for document references --- base16ct/README.md | 2 +- base16ct/src/lib.rs | 2 +- base32ct/README.md | 2 +- base32ct/src/lib.rs | 2 +- base64ct/README.md | 2 +- der/src/asn1/generalized_time.rs | 2 +- der/src/asn1/utc_time.rs | 2 +- der/src/lib.rs | 2 +- der/tests/derive.rs | 2 +- der_derive/src/choice.rs | 2 +- pkcs12/src/pbe_params.rs | 2 +- pkcs5/README.md | 2 +- pkcs5/src/lib.rs | 6 +++--- pkcs5/src/pbes1.rs | 6 +++--- pkcs5/src/pbes2.rs | 6 +++--- pkcs5/src/pbes2/kdf.rs | 2 +- pkcs8/README.md | 2 +- pkcs8/src/encrypted_private_key_info.rs | 2 +- pkcs8/src/lib.rs | 6 +++--- pkcs8/src/private_key_info.rs | 4 ++-- spki/README.md | 2 +- spki/src/algorithm.rs | 2 +- spki/src/spki.rs | 2 +- tls_codec/README.md | 2 +- x509-cert/src/time.rs | 4 ++-- 25 files changed, 35 insertions(+), 35 deletions(-) diff --git a/base16ct/README.md b/base16ct/README.md index 3a11dd96f..62746b504 100644 --- a/base16ct/README.md +++ b/base16ct/README.md @@ -56,5 +56,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 4648]: https://tools.ietf.org/html/rfc4648 +[RFC 4648]: https://www.rfc-editor.org/info/rfc4648 [Util::Lookup]: https://arxiv.org/pdf/2108.04600.pdf diff --git a/base16ct/src/lib.rs b/base16ct/src/lib.rs index 970966e94..55b2b3fab 100644 --- a/base16ct/src/lib.rs +++ b/base16ct/src/lib.rs @@ -57,7 +57,7 @@ //! assert_eq!(res, raw); //! ``` //! -//! [RFC 4648]: https://tools.ietf.org/html/rfc4648 +//! [RFC 4648]: https://www.rfc-editor.org/info/rfc4648 #[cfg(feature = "alloc")] #[macro_use] diff --git a/base32ct/README.md b/base32ct/README.md index 68a274831..57df9f9f9 100644 --- a/base32ct/README.md +++ b/base32ct/README.md @@ -56,5 +56,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 4648]: https://tools.ietf.org/html/rfc4648 +[RFC 4648]: https://www.rfc-editor.org/info/rfc4648 [Util::Lookup]: https://arxiv.org/pdf/2108.04600.pdf diff --git a/base32ct/src/lib.rs b/base32ct/src/lib.rs index 183232b99..a0791655f 100644 --- a/base32ct/src/lib.rs +++ b/base32ct/src/lib.rs @@ -9,7 +9,7 @@ //! //! Adapted from: //! -//! [RFC 4648]: https://tools.ietf.org/html/rfc4648 +//! [RFC 4648]: https://www.rfc-editor.org/info/rfc4648 // Copyright (c) 2016 - 2018 Paragon Initiative Enterprises. // Copyright (c) 2014 Steve "Sc00bz" Thomas (steve at tobtu dot com). diff --git a/base64ct/README.md b/base64ct/README.md index c6b00541f..405dee5d9 100644 --- a/base64ct/README.md +++ b/base64ct/README.md @@ -80,7 +80,7 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 4648]: https://tools.ietf.org/html/rfc4648 +[RFC 4648]: https://www.rfc-editor.org/info/rfc4648 [`pem-rfc7468`]: https://github.com/RustCrypto/formats/tree/master/pem-rfc7468 [Util::Lookup]: https://arxiv.org/pdf/2108.04600.pdf [`Decoder::new_wrapped`]: https://docs.rs/base64ct/latest/base64ct/struct.Decoder.html#method.new_wrapped diff --git a/der/src/asn1/generalized_time.rs b/der/src/asn1/generalized_time.rs index 322cd5a5e..f5c6845bd 100644 --- a/der/src/asn1/generalized_time.rs +++ b/der/src/asn1/generalized_time.rs @@ -25,7 +25,7 @@ use time::PrimitiveDateTime; /// > (i.e., times are `YYYYMMDDHHMMSSZ`), even where the number of seconds /// > is zero. GeneralizedTime values MUST NOT include fractional seconds. /// -/// [1]: https://tools.ietf.org/html/rfc5280#section-4.1.2.5.2 +/// [1]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.5.2 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)] pub struct GeneralizedTime(DateTime); diff --git a/der/src/asn1/utc_time.rs b/der/src/asn1/utc_time.rs index ab6295bc8..07cbad1b5 100644 --- a/der/src/asn1/utc_time.rs +++ b/der/src/asn1/utc_time.rs @@ -27,7 +27,7 @@ use std::time::SystemTime; /// Note: Due to common operations working on `UNIX_EPOCH` [`UtcTime`]s are /// only supported for the years 1970-2049. /// -/// [1]: https://tools.ietf.org/html/rfc5280#section-4.1.2.5.1 +/// [1]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.5.1 #[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)] pub struct UtcTime(DateTime); diff --git a/der/src/lib.rs b/der/src/lib.rs index 134531960..1c6c51830 100644 --- a/der/src/lib.rs +++ b/der/src/lib.rs @@ -276,7 +276,7 @@ //! - [A Layman's Guide to a Subset of ASN.1, BER, and DER] (RSA Laboratories) //! - [A Warm Welcome to ASN.1 and DER] (Let's Encrypt) //! -//! [RFC 5280 Section 4.1.1.2]: https://tools.ietf.org/html/rfc5280#section-4.1.1.2 +//! [RFC 5280 Section 4.1.1.2]: https://www.rfc-editor.org/info/rfc5280#section-4.1.1.2 //! [A Layman's Guide to a Subset of ASN.1, BER, and DER]: https://luca.ntop.org/Teaching/Appunti/asn1.html //! [A Warm Welcome to ASN.1 and DER]: https://letsencrypt.org/docs/a-warm-welcome-to-asn1-and-der/ //! diff --git a/der/tests/derive.rs b/der/tests/derive.rs index 56a741aea..56628f00f 100644 --- a/der/tests/derive.rs +++ b/der/tests/derive.rs @@ -56,7 +56,7 @@ mod choice { /// Custom derive test case for the `Choice` macro. /// /// Based on `Time` as defined in RFC 5280: - /// + /// /// /// ```text /// Time ::= CHOICE { diff --git a/der_derive/src/choice.rs b/der_derive/src/choice.rs index 3f42f2c1b..ec791dd07 100644 --- a/der_derive/src/choice.rs +++ b/der_derive/src/choice.rs @@ -173,7 +173,7 @@ mod tests { use syn::parse_quote; /// Based on `Time` as defined in RFC 5280: - /// + /// /// /// ```text /// Time ::= CHOICE { diff --git a/pkcs12/src/pbe_params.rs b/pkcs12/src/pbe_params.rs index 6f0b04ecd..6ffa636a9 100644 --- a/pkcs12/src/pbe_params.rs +++ b/pkcs12/src/pbe_params.rs @@ -37,7 +37,7 @@ pub struct Pkcs12PbeParams { /// algid-hmacWithSHA1 } /// ``` /// -/// [RFC 8018 Appendix A.2]: https://tools.ietf.org/html/rfc8018#appendix-A.2 +/// [RFC 8018 Appendix A.2]: https://www.rfc-editor.org/info/rfc8018#appendix-A.2 #[derive(Clone, Debug, Eq, PartialEq, Sequence)] pub struct Pbkdf2Params { /// PBKDF2 salt diff --git a/pkcs5/README.md b/pkcs5/README.md index 2267e4d95..4ac3258b1 100644 --- a/pkcs5/README.md +++ b/pkcs5/README.md @@ -57,4 +57,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 8018]: https://tools.ietf.org/html/rfc8018 +[RFC 8018]: https://www.rfc-editor.org/info/rfc8018 diff --git a/pkcs5/src/lib.rs b/pkcs5/src/lib.rs index 59aaac373..2774b52ee 100644 --- a/pkcs5/src/lib.rs +++ b/pkcs5/src/lib.rs @@ -16,7 +16,7 @@ //! The [`pbes2::Parameters`] struct can be used to generate new encryption //! parameters when encrypting new keys. //! -//! [RFC 8018]: https://tools.ietf.org/html/rfc8018 +//! [RFC 8018]: https://www.rfc-editor.org/info/rfc8018 #[cfg(all(feature = "alloc", feature = "pbes2"))] extern crate alloc; @@ -55,12 +55,12 @@ use alloc::vec::Vec; pub enum EncryptionScheme { /// Password-Based Encryption Scheme 1 as defined in [RFC 8018 Section 6.1]. /// - /// [RFC 8018 Section 6.1]: https://tools.ietf.org/html/rfc8018#section-6.1 + /// [RFC 8018 Section 6.1]: https://www.rfc-editor.org/info/rfc8018#section-6.1 Pbes1(pbes1::Algorithm), /// Password-Based Encryption Scheme 2 as defined in [RFC 8018 Section 6.2]. /// - /// [RFC 8018 Section 6.2]: https://tools.ietf.org/html/rfc8018#section-6.2 + /// [RFC 8018 Section 6.2]: https://www.rfc-editor.org/info/rfc8018#section-6.2 Pbes2(pbes2::Parameters), } diff --git a/pkcs5/src/pbes1.rs b/pkcs5/src/pbes1.rs index 1df135bc8..f3bd0144e 100644 --- a/pkcs5/src/pbes1.rs +++ b/pkcs5/src/pbes1.rs @@ -1,6 +1,6 @@ //! Password-Based Encryption Scheme 1 as defined in [RFC 8018 Section 6.1]. //! -//! [RFC 8018 Section 6.1]: https://tools.ietf.org/html/rfc8018#section-6.1 +//! [RFC 8018 Section 6.1]: https://www.rfc-editor.org/info/rfc8018#section-6.1 use crate::AlgorithmIdentifierRef; use der::{ @@ -117,7 +117,7 @@ impl<'a> TryFrom> for Algorithm { /// iterationCount INTEGER } /// ``` /// -/// [RFC 8018 Appendix A.3]: https://tools.ietf.org/html/rfc8018#appendix-A.3 +/// [RFC 8018 Appendix A.3]: https://www.rfc-editor.org/info/rfc8018#appendix-A.3 #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct Parameters { /// Salt value @@ -167,7 +167,7 @@ impl TryFrom> for Parameters { /// Password-Based Encryption Scheme 1 ciphersuites as defined in [RFC 8018 Appendix A.3]. /// -/// [RFC 8018 Appendix A.3]: https://tools.ietf.org/html/rfc8018#appendix-A.3 +/// [RFC 8018 Appendix A.3]: https://www.rfc-editor.org/info/rfc8018#appendix-A.3 #[derive(Copy, Clone, Debug, Eq, PartialEq)] pub enum EncryptionScheme { /// `pbeWithMD2AndDES-CBC` diff --git a/pkcs5/src/pbes2.rs b/pkcs5/src/pbes2.rs index f896be4a6..2c664e4cb 100644 --- a/pkcs5/src/pbes2.rs +++ b/pkcs5/src/pbes2.rs @@ -1,6 +1,6 @@ //! Password-Based Encryption Scheme 2 as defined in [RFC 8018 Section 6.2]. //! -//! [RFC 8018 Section 6.2]: https://tools.ietf.org/html/rfc8018#section-6.2 +//! [RFC 8018 Section 6.2]: https://www.rfc-editor.org/info/rfc8018#section-6.2 mod kdf; @@ -57,7 +57,7 @@ pub const DES_EDE3_CBC_OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2 /// Password-Based Encryption Scheme 2 (PBES2) OID. /// -/// +/// pub const PBES2_OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.1.5.13"); /// AES cipher block size @@ -90,7 +90,7 @@ const DES_BLOCK_SIZE: usize = 8; /// Instead, new values should be randomly generated for every usage. /// /// -/// [RFC 8018 Appendix A.4]: https://tools.ietf.org/html/rfc8018#appendix-A.4 +/// [RFC 8018 Appendix A.4]: https://www.rfc-editor.org/info/rfc8018#appendix-A.4 #[derive(Clone, Debug, Eq, PartialEq)] pub struct Parameters { /// Key derivation function diff --git a/pkcs5/src/pbes2/kdf.rs b/pkcs5/src/pbes2/kdf.rs index 074a674bf..cf7d5695d 100644 --- a/pkcs5/src/pbes2/kdf.rs +++ b/pkcs5/src/pbes2/kdf.rs @@ -184,7 +184,7 @@ impl TryFrom> for Kdf { /// algid-hmacWithSHA1 } /// ``` /// -/// [RFC 8018 Appendix A.2]: https://tools.ietf.org/html/rfc8018#appendix-A.2 +/// [RFC 8018 Appendix A.2]: https://www.rfc-editor.org/info/rfc8018#appendix-A.2 #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub struct Pbkdf2Params { /// PBKDF2 salt diff --git a/pkcs8/README.md b/pkcs8/README.md index 819f9fc81..012bf944a 100644 --- a/pkcs8/README.md +++ b/pkcs8/README.md @@ -90,5 +90,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[RFC 5208]: https://tools.ietf.org/html/rfc5208 +[RFC 5208]: https://www.rfc-editor.org/info/rfc5208 [scrypt]: https://en.wikipedia.org/wiki/Scrypt diff --git a/pkcs8/src/encrypted_private_key_info.rs b/pkcs8/src/encrypted_private_key_info.rs index 6cf79ee20..205723b34 100644 --- a/pkcs8/src/encrypted_private_key_info.rs +++ b/pkcs8/src/encrypted_private_key_info.rs @@ -35,7 +35,7 @@ use der::pem::PemLabel; /// EncryptedData ::= OCTET STRING /// ``` /// -/// [RFC 5208 Section 6]: https://tools.ietf.org/html/rfc5208#section-6 +/// [RFC 5208 Section 6]: https://www.rfc-editor.org/info/rfc5208#section-6 #[derive(Clone, Eq, PartialEq)] pub struct EncryptedPrivateKeyInfo { /// Algorithm identifier describing a password-based symmetric encryption diff --git a/pkcs8/src/lib.rs b/pkcs8/src/lib.rs index a76979e44..f4a2ddc51 100644 --- a/pkcs8/src/lib.rs +++ b/pkcs8/src/lib.rs @@ -57,10 +57,10 @@ //! New keys should use AES instead. //! //! -//! [RFC 5208]: https://tools.ietf.org/html/rfc5208 -//! [RFC 5958]: https://tools.ietf.org/html/rfc5958 +//! [RFC 5208]: https://www.rfc-editor.org/info/rfc5208 +//! [RFC 5958]: https://www.rfc-editor.org/info/rfc5958 //! [RFC 7914]: https://www.rfc-editor.org/info/rfc7914 -//! [PKCS#5v2 Password Based Encryption Scheme 2 (RFC 8018)]: https://tools.ietf.org/html/rfc8018#section-6.2 +//! [PKCS#5v2 Password Based Encryption Scheme 2 (RFC 8018)]: https://www.rfc-editor.org/info/rfc8018#section-6.2 //! [scrypt]: https://en.wikipedia.org/wiki/Scrypt #[cfg(feature = "alloc")] diff --git a/pkcs8/src/private_key_info.rs b/pkcs8/src/private_key_info.rs index b43ffdf1e..989637c08 100644 --- a/pkcs8/src/private_key_info.rs +++ b/pkcs8/src/private_key_info.rs @@ -118,9 +118,9 @@ const PUBLIC_KEY_TAG: TagNumber = TagNumber(1); /// assert_eq!(key.public_key, None); /// ``` /// -/// [RFC 5208]: https://tools.ietf.org/html/rfc5208 +/// [RFC 5208]: https://www.rfc-editor.org/info/rfc5208 /// [RFC 5958]: https://www.rfc-editor.org/info/rfc5958 -/// [RFC 5208 Section 5]: https://tools.ietf.org/html/rfc5208#section-5 +/// [RFC 5208 Section 5]: https://www.rfc-editor.org/info/rfc5208#section-5 /// [RFC 5958 Section 2]: https://www.rfc-editor.org/info/rfc5958#section-2 #[derive(Clone)] pub struct PrivateKeyInfo { diff --git a/spki/README.md b/spki/README.md index 97977fc49..33a703ae3 100644 --- a/spki/README.md +++ b/spki/README.md @@ -54,4 +54,4 @@ dual licensed as above, without any additional terms or conditions. [RustCrypto]: https://github.com/rustcrypto [X.509]: https://en.wikipedia.org/wiki/X.509 -[RFC 5280 § 4.1]: https://tools.ietf.org/html/rfc5280#section-4.1 +[RFC 5280 § 4.1]: https://www.rfc-editor.org/info/rfc5280#section-4.1 diff --git a/spki/src/algorithm.rs b/spki/src/algorithm.rs index d74a501a6..6bdafb48e 100644 --- a/spki/src/algorithm.rs +++ b/spki/src/algorithm.rs @@ -19,7 +19,7 @@ use der::asn1::Any; /// parameters ANY DEFINED BY algorithm OPTIONAL } /// ``` /// -/// [RFC 5280 Section 4.1.1.2]: https://tools.ietf.org/html/rfc5280#section-4.1.1.2 +/// [RFC 5280 Section 4.1.1.2]: https://www.rfc-editor.org/info/rfc5280#section-4.1.1.2 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, PartialOrd, Ord)] pub struct AlgorithmIdentifier { diff --git a/spki/src/spki.rs b/spki/src/spki.rs index d8e772ea0..8eeb04116 100644 --- a/spki/src/spki.rs +++ b/spki/src/spki.rs @@ -46,7 +46,7 @@ pub type SubjectPublicKeyInfoOwned = SubjectPublicKeyInfo; /// subjectPublicKey BIT STRING } /// ``` /// -/// [RFC 5280 § 4.1.2.7]: https://tools.ietf.org/html/rfc5280#section-4.1.2.7 +/// [RFC 5280 § 4.1.2.7]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.7 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Clone, Debug, Eq, PartialEq)] pub struct SubjectPublicKeyInfo { diff --git a/tls_codec/README.md b/tls_codec/README.md index 20b9ecfdd..f69e4d79a 100644 --- a/tls_codec/README.md +++ b/tls_codec/README.md @@ -67,7 +67,7 @@ dual licensed as above, without any additional terms or conditions. [//]: # (links) [RustCrypto]: https://github.com/rustcrypto -[rfc 8446]: https://tools.ietf.org/html/rfc8446 +[rfc 8446]: https://www.rfc-editor.org/info/rfc8446 [mls]: https://www.rfc-editor.org/rfc/rfc9420.html [tls_codec-ci]: https://img.shields.io/github/actions/workflow/status/RustCrypto/formats/tls_codec.yml?branch=master&style=for-the-badge [tls_codec-ci-link]: https://github.com/RustCrypto/formats/actions/workflows/tls_codec.yml diff --git a/x509-cert/src/time.rs b/x509-cert/src/time.rs index 2ca72f474..3901b68d1 100644 --- a/x509-cert/src/time.rs +++ b/x509-cert/src/time.rs @@ -20,8 +20,8 @@ use crate::certificate::{Profile, Rfc5280}; /// } /// ``` /// -/// [RFC 5280 Section 4.1.2.5]: https://tools.ietf.org/html/rfc5280#section-4.1.2.5 -/// [RFC 5280 Appendix A]: https://tools.ietf.org/html/rfc5280#page-117 +/// [RFC 5280 Section 4.1.2.5]: https://www.rfc-editor.org/info/rfc5280#section-4.1.2.5 +/// [RFC 5280 Appendix A]: https://www.rfc-editor.org/info/rfc5280#page-117 #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Choice, Copy, Clone, Debug, Eq, PartialEq, ValueOrd)] pub enum Time {