From bd53e913b2a67cfd9e66eabc586b1538847dfa6e Mon Sep 17 00:00:00 2001 From: Ryan van Polen Date: Fri, 16 May 2025 19:27:27 +0200 Subject: [PATCH] Eagerly implemented `PartialEq` and `Eq` traits --- rcgen/src/certificate.rs | 2 +- rcgen/src/crl.rs | 8 ++++---- rcgen/src/csr.rs | 4 ++-- rcgen/src/lib.rs | 2 ++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/rcgen/src/certificate.rs b/rcgen/src/certificate.rs index 66942cfc..6c9a31b0 100644 --- a/rcgen/src/certificate.rs +++ b/rcgen/src/certificate.rs @@ -22,7 +22,7 @@ use crate::{ }; /// An issued certificate -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct Certificate { pub(crate) der: CertificateDer<'static>, } diff --git a/rcgen/src/crl.rs b/rcgen/src/crl.rs index fce008ef..e6b72eb6 100644 --- a/rcgen/src/crl.rs +++ b/rcgen/src/crl.rs @@ -64,7 +64,7 @@ use crate::{ /// key_identifier_method: KeyIdMethod::PreSpecified(vec![]), /// }.signed_by(&issuer_params, &key_pair).unwrap(); ///# } -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct CertificateRevocationList { der: CertificateRevocationListDer<'static>, } @@ -159,7 +159,7 @@ pub enum RevocationReason { } /// Parameters used for certificate revocation list (CRL) generation -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct CertificateRevocationListParams { /// Issue date of the CRL. pub this_update: OffsetDateTime, @@ -293,7 +293,7 @@ impl CertificateRevocationListParams { /// A certificate revocation list (CRL) issuing distribution point, to be included in a CRL's /// [issuing distribution point extension](https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.5). -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct CrlIssuingDistributionPoint { /// The CRL's distribution point, containing a sequence of URIs the CRL can be retrieved from. pub distribution_point: CrlDistributionPoint, @@ -336,7 +336,7 @@ pub enum CrlScope { } /// Parameters used for describing a revoked certificate included in a [`CertificateRevocationList`]. -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct RevokedCertParams { /// Serial number identifying the revoked certificate. pub serial_number: SerialNumber, diff --git a/rcgen/src/csr.rs b/rcgen/src/csr.rs index d0fdcbc7..0cb3f2b5 100644 --- a/rcgen/src/csr.rs +++ b/rcgen/src/csr.rs @@ -37,7 +37,7 @@ impl PublicKeyData for PublicKey { } /// A certificate signing request (CSR) that can be encoded to PEM or DER. -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct CertificateSigningRequest { pub(crate) der: CertificateSigningRequestDer<'static>, } @@ -66,7 +66,7 @@ impl From for CertificateSigningRequestDer<'static> { } /// Parameters for a certificate signing request -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct CertificateSigningRequestParams { /// Parameters for the certificate to be signed. pub params: CertificateParams, diff --git a/rcgen/src/lib.rs b/rcgen/src/lib.rs index adc01740..cb17b84d 100644 --- a/rcgen/src/lib.rs +++ b/rcgen/src/lib.rs @@ -87,6 +87,7 @@ pub mod string; pub type RcgenError = Error; /// An issued certificate, together with the subject keypair. +#[derive(PartialEq, Eq)] pub struct CertifiedKey { /// An issued certificate. pub cert: Certificate, @@ -132,6 +133,7 @@ pub fn generate_simple_self_signed( Ok(CertifiedKey { cert, key_pair }) } +#[derive(PartialEq, Eq)] struct Issuer<'a, S> { distinguished_name: &'a DistinguishedName, key_identifier_method: &'a KeyIdMethod,