summaryrefslogtreecommitdiff
path: root/src/rust/cryptography-x509/src/common.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rust/cryptography-x509/src/common.rs')
-rw-r--r--src/rust/cryptography-x509/src/common.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/rust/cryptography-x509/src/common.rs b/src/rust/cryptography-x509/src/common.rs
index d09971659..60856b7ef 100644
--- a/src/rust/cryptography-x509/src/common.rs
+++ b/src/rust/cryptography-x509/src/common.rs
@@ -6,7 +6,7 @@ use crate::oid;
use asn1::Asn1DefinedByWritable;
use std::marker::PhantomData;
-#[derive(asn1::Asn1Read, asn1::Asn1Write, PartialEq, Hash, Clone, Eq)]
+#[derive(asn1::Asn1Read, asn1::Asn1Write, PartialEq, Hash, Clone, Eq, Debug)]
pub struct AlgorithmIdentifier<'a> {
pub oid: asn1::DefinedByMarker<asn1::ObjectIdentifier>,
#[defined_by(oid)]
@@ -19,7 +19,7 @@ impl AlgorithmIdentifier<'_> {
}
}
-#[derive(asn1::Asn1DefinedByRead, asn1::Asn1DefinedByWrite, PartialEq, Eq, Hash, Clone)]
+#[derive(asn1::Asn1DefinedByRead, asn1::Asn1DefinedByWrite, PartialEq, Eq, Hash, Clone, Debug)]
pub enum AlgorithmParameters<'a> {
#[defined_by(oid::SHA1_OID)]
Sha1(asn1::Null),
@@ -31,6 +31,14 @@ pub enum AlgorithmParameters<'a> {
Sha384(asn1::Null),
#[defined_by(oid::SHA512_OID)]
Sha512(asn1::Null),
+ #[defined_by(oid::SHA3_224_OID)]
+ Sha3_224(asn1::Null),
+ #[defined_by(oid::SHA3_256_OID)]
+ Sha3_256(asn1::Null),
+ #[defined_by(oid::SHA3_384_OID)]
+ Sha3_384(asn1::Null),
+ #[defined_by(oid::SHA3_512_OID)]
+ Sha3_512(asn1::Null),
#[defined_by(oid::ED25519_OID)]
Ed25519,
@@ -225,7 +233,7 @@ pub const PSS_SHA1_HASH_ALG: AlgorithmIdentifier<'_> = AlgorithmIdentifier {
// This is defined as an AlgorithmIdentifier in RFC 4055,
// but the mask generation algorithm **must** contain an AlgorithmIdentifier
// in its params, so we define it this way.
-#[derive(asn1::Asn1Read, asn1::Asn1Write, Hash, Clone, PartialEq, Eq)]
+#[derive(asn1::Asn1Read, asn1::Asn1Write, Hash, Clone, PartialEq, Eq, Debug)]
pub struct MaskGenAlgorithm<'a> {
pub oid: asn1::ObjectIdentifier,
pub params: AlgorithmIdentifier<'a>,
@@ -245,7 +253,7 @@ pub const PSS_SHA1_MASK_GEN_ALG: MaskGenAlgorithm<'_> = MaskGenAlgorithm {
// mgf1SHA1Identifier,
// saltLength [2] INTEGER DEFAULT 20,
// trailerField [3] INTEGER DEFAULT 1 }
-#[derive(asn1::Asn1Read, asn1::Asn1Write, Hash, Clone, PartialEq, Eq)]
+#[derive(asn1::Asn1Read, asn1::Asn1Write, Hash, Clone, PartialEq, Eq, Debug)]
pub struct RsaPssParameters<'a> {
#[explicit(0)]
#[default(PSS_SHA1_HASH_ALG)]
@@ -258,7 +266,7 @@ pub struct RsaPssParameters<'a> {
pub salt_length: u16,
#[explicit(3)]
#[default(1u8)]
- _trailer_field: u8,
+ pub _trailer_field: u8,
}
/// A VisibleString ASN.1 element whose contents is not validated as meeting the