Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion base16ct/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion base16ct/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion base32ct/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion base32ct/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
//!
//! Adapted from: <https://github.com/paragonie/constant_time_encoding/blob/master/src/Base32.php>
//!
//! [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).
Expand Down
2 changes: 1 addition & 1 deletion base64ct/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion base64ct/src/decoder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<Self, Error> {
let line_reader = LineReader::new_wrapped(input, line_width)?;
let remaining_len = line_reader.decoded_len::<E>()?;
Expand Down
2 changes: 1 addition & 1 deletion cmpv2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion cmpv2/src/body.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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> {
Expand Down
4 changes: 2 additions & 2 deletions cmpv2/src/header.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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> {
Expand Down Expand Up @@ -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)]
Expand Down
4 changes: 2 additions & 2 deletions cmpv2/src/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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> {
Expand Down Expand Up @@ -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<PkiMessage<'a>>;

/// The `PKIProtection` type is defined in [RFC 4210 Section 5.1.3].
Expand Down
6 changes: 3 additions & 3 deletions cms/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
8 changes: 4 additions & 4 deletions cms/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down Expand Up @@ -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<Attribute> {
let content_type_attribute_value =
AttributeValue::new(Tag::ObjectIdentifier, content_type.as_bytes())?;
Expand All @@ -1352,7 +1352,7 @@ pub fn create_content_type_attribute(content_type: ObjectIdentifier) -> Result<A
}

/// Create a message digest attribute according to
/// [RFC 5652 § 11.2](https://datatracker.ietf.org/doc/html/rfc5652#section-11.2)
/// [RFC 5652 § 11.2](https://www.rfc-editor.org/info/rfc5652#section-11.2)
pub fn create_message_digest_attribute(message_digest: &[u8]) -> Result<Attribute> {
let message_digest_der = OctetStringRef::new(message_digest)?;
let message_digest_attribute_value =
Expand All @@ -1367,7 +1367,7 @@ pub fn create_message_digest_attribute(message_digest: &[u8]) -> Result<Attribut
}

/// Create a signing time attribute according to
/// [RFC 5652 § 11.3](https://datatracker.ietf.org/doc/html/rfc5652#section-11.3)
/// [RFC 5652 § 11.3](https://www.rfc-editor.org/info/rfc5652#section-11.3)
/// Dates between 1 January 1950 and 31 December 2049 (inclusive) MUST be
/// encoded as UTCTime. Any dates with year values before 1950 or after
/// 2049 MUST be encoded as GeneralizedTime.
Expand Down
22 changes: 11 additions & 11 deletions cms/src/builder/kari.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! This module contains the building logic for Key Agreement Recipient Info.
//! It partially implements [RFC 5753].
//!
//! [RFC 5753]: https://datatracker.ietf.org/doc/html/rfc5753
//! [RFC 5753]: https://www.rfc-editor.org/info/rfc5753
//!

// Super imports
Expand Down Expand Up @@ -103,8 +103,8 @@ pub struct EccCmsSharedInfo {
/// - dhSinglePass-stdDH-sha384kdf-scheme
/// - dhSinglePass-stdDH-sha512kdf-scheme
///
/// [RFC 5753 Section 7.1.4]: https://datatracker.ietf.org/doc/html/rfc5753#section-7.1.4
/// [RFC 5753 Section 8]: https://datatracker.ietf.org/doc/html/rfc5753#section-8
/// [RFC 5753 Section 7.1.4]: https://www.rfc-editor.org/info/rfc5753#section-7.1.4
/// [RFC 5753 Section 8]: https://www.rfc-editor.org/info/rfc5753#section-8
pub trait KeyAgreementAlgorithm {
/// Compute a shared key with the provided parameters
fn kdf<C, Enc>(
Expand Down Expand Up @@ -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],
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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].
Expand Down
8 changes: 4 additions & 4 deletions cms/src/builder/utils/kw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion cms/src/cert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
6 changes: 3 additions & 3 deletions cms/src/kemri.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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 {
Expand All @@ -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 {
Expand Down
12 changes: 6 additions & 6 deletions cms/src/signed_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<AlgorithmIdentifierOwned>;

/// CertificateSet structure as defined in [RFC 5652 Section 10.2.3].
Expand All @@ -55,7 +55,7 @@ pub type DigestAlgorithmIdentifiers = SetOfVec<AlgorithmIdentifierOwned>;
/// 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<CertificateChoices>);
impl_newtype!(CertificateSet, SetOfVec<CertificateChoices>);
Expand Down Expand Up @@ -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].
Expand All @@ -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 {
Expand Down Expand Up @@ -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].
Expand All @@ -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;
Loading
Loading