diff --git a/rcgen/src/certificate.rs b/rcgen/src/certificate.rs index fcb16b80..dbf87df6 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 459bd6c8..feda408f 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, @@ -296,7 +296,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, @@ -339,7 +339,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 760aaecb..b6fcf95c 100644 --- a/rcgen/src/lib.rs +++ b/rcgen/src/lib.rs @@ -86,6 +86,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, @@ -131,6 +132,7 @@ pub fn generate_simple_self_signed( Ok(CertifiedKey { cert, signing_key }) } +#[derive(PartialEq, Eq)] struct Issuer<'a, S> { distinguished_name: &'a DistinguishedName, key_identifier_method: &'a KeyIdMethod,