diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1bff4a20d53a..98aa32e3f34b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -160,7 +160,7 @@ jobs: strategy: matrix: args: - - + - '' - --release features: - --features asan diff --git a/aws-lc-rs/src/aead/quic.rs b/aws-lc-rs/src/aead/quic.rs index 158f7f55283f..28f941bf175a 100644 --- a/aws-lc-rs/src/aead/quic.rs +++ b/aws-lc-rs/src/aead/quic.rs @@ -120,21 +120,21 @@ impl PartialEq for Algorithm { impl Eq for Algorithm {} /// AES-128. -pub static AES_128: Algorithm = Algorithm { +pub const AES_128: Algorithm = Algorithm { key_len: 16, init: SymmetricCipherKey::aes128, id: AlgorithmID::AES_128, }; /// AES-256. -pub static AES_256: Algorithm = Algorithm { +pub const AES_256: Algorithm = Algorithm { key_len: 32, init: SymmetricCipherKey::aes256, id: AlgorithmID::AES_256, }; /// `ChaCha20`. -pub static CHACHA20: Algorithm = Algorithm { +pub const CHACHA20: Algorithm = Algorithm { key_len: 32, init: SymmetricCipherKey::chacha20, id: AlgorithmID::CHACHA20, diff --git a/aws-lc-rs/src/cipher.rs b/aws-lc-rs/src/cipher.rs index de39ffdb6325..102810e03e9d 100644 --- a/aws-lc-rs/src/cipher.rs +++ b/aws-lc-rs/src/cipher.rs @@ -374,21 +374,21 @@ pub struct Algorithm { } /// AES 128-bit cipher -pub static AES_128: Algorithm = Algorithm { +pub const AES_128: Algorithm = Algorithm { id: AlgorithmId::Aes128, key_len: AES_128_KEY_LEN, block_len: AES_BLOCK_LEN, }; /// AES 192-bit cipher -pub static AES_192: Algorithm = Algorithm { +pub const AES_192: Algorithm = Algorithm { id: AlgorithmId::Aes192, key_len: AES_192_KEY_LEN, block_len: AES_BLOCK_LEN, }; /// AES 256-bit cipher -pub static AES_256: Algorithm = Algorithm { +pub const AES_256: Algorithm = Algorithm { id: AlgorithmId::Aes256, key_len: AES_256_KEY_LEN, block_len: AES_BLOCK_LEN, diff --git a/aws-lc-rs/src/digest/sha.rs b/aws-lc-rs/src/digest/sha.rs index 69df723d15aa..2d3e5a532804 100644 --- a/aws-lc-rs/src/digest/sha.rs +++ b/aws-lc-rs/src/digest/sha.rs @@ -60,7 +60,7 @@ const DIGEST_MAX_INPUT_LEN: u64 = u64::MAX; /// /// [FIPS 180-4]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf #[allow(deprecated)] -pub static SHA1_FOR_LEGACY_USE_ONLY: Algorithm = Algorithm { +pub const SHA1_FOR_LEGACY_USE_ONLY: Algorithm = Algorithm { output_len: SHA1_OUTPUT_LEN, chaining_len: SHA1_OUTPUT_LEN, block_len: SHA1_BLOCK_LEN, @@ -75,7 +75,7 @@ pub static SHA1_FOR_LEGACY_USE_ONLY: Algorithm = Algorithm { /// /// [FIPS 180-4]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf #[allow(deprecated)] -pub static SHA224: Algorithm = Algorithm { +pub const SHA224: Algorithm = Algorithm { output_len: SHA224_OUTPUT_LEN, // The chaining length is equivalent to the length before truncation. @@ -93,7 +93,7 @@ pub static SHA224: Algorithm = Algorithm { /// /// [FIPS 180-4]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf #[allow(deprecated)] -pub static SHA256: Algorithm = Algorithm { +pub const SHA256: Algorithm = Algorithm { output_len: SHA256_OUTPUT_LEN, chaining_len: SHA256_OUTPUT_LEN, block_len: SHA256_BLOCK_LEN, @@ -108,7 +108,7 @@ pub static SHA256: Algorithm = Algorithm { /// /// [FIPS 180-4]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf #[allow(deprecated)] -pub static SHA384: Algorithm = Algorithm { +pub const SHA384: Algorithm = Algorithm { output_len: SHA384_OUTPUT_LEN, // The chaining length is equivalent to the length before truncation. @@ -126,7 +126,7 @@ pub static SHA384: Algorithm = Algorithm { /// /// [FIPS 180-4]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf #[allow(deprecated)] -pub static SHA512: Algorithm = Algorithm { +pub const SHA512: Algorithm = Algorithm { output_len: SHA512_OUTPUT_LEN, chaining_len: SHA512_OUTPUT_LEN, block_len: SHA512_BLOCK_LEN, @@ -141,7 +141,7 @@ pub static SHA512: Algorithm = Algorithm { /// /// [FIPS 180-4]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf #[allow(deprecated)] -pub static SHA512_256: Algorithm = Algorithm { +pub const SHA512_256: Algorithm = Algorithm { output_len: SHA512_256_OUTPUT_LEN, chaining_len: SHA512_OUTPUT_LEN, block_len: SHA512_BLOCK_LEN, @@ -156,7 +156,7 @@ pub static SHA512_256: Algorithm = Algorithm { /// /// [FIPS 202]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf #[allow(deprecated)] -pub static SHA3_256: Algorithm = Algorithm { +pub const SHA3_256: Algorithm = Algorithm { output_len: SHA3_256_OUTPUT_LEN, chaining_len: SHA3_256_OUTPUT_LEN, block_len: SHA3_256_BLOCK_LEN, @@ -171,7 +171,7 @@ pub static SHA3_256: Algorithm = Algorithm { /// /// [FIPS 202]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf #[allow(deprecated)] -pub static SHA3_384: Algorithm = Algorithm { +pub const SHA3_384: Algorithm = Algorithm { output_len: SHA3_384_OUTPUT_LEN, chaining_len: SHA3_384_OUTPUT_LEN, block_len: SHA3_384_BLOCK_LEN, @@ -186,7 +186,7 @@ pub static SHA3_384: Algorithm = Algorithm { /// /// [FIPS 202]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf #[allow(deprecated)] -pub static SHA3_512: Algorithm = Algorithm { +pub const SHA3_512: Algorithm = Algorithm { output_len: SHA3_512_OUTPUT_LEN, chaining_len: SHA3_512_OUTPUT_LEN, block_len: SHA3_512_BLOCK_LEN, diff --git a/aws-lc-rs/src/hkdf.rs b/aws-lc-rs/src/hkdf.rs index 6e35250e1e4b..f1993adf434a 100644 --- a/aws-lc-rs/src/hkdf.rs +++ b/aws-lc-rs/src/hkdf.rs @@ -59,17 +59,16 @@ impl Algorithm { } /// HKDF using HMAC-SHA-1. Obsolete. -pub static HKDF_SHA1_FOR_LEGACY_USE_ONLY: Algorithm = - Algorithm(hmac::HMAC_SHA1_FOR_LEGACY_USE_ONLY); +pub const HKDF_SHA1_FOR_LEGACY_USE_ONLY: Algorithm = Algorithm(hmac::HMAC_SHA1_FOR_LEGACY_USE_ONLY); /// HKDF using HMAC-SHA-256. -pub static HKDF_SHA256: Algorithm = Algorithm(hmac::HMAC_SHA256); +pub const HKDF_SHA256: Algorithm = Algorithm(hmac::HMAC_SHA256); /// HKDF using HMAC-SHA-384. -pub static HKDF_SHA384: Algorithm = Algorithm(hmac::HMAC_SHA384); +pub const HKDF_SHA384: Algorithm = Algorithm(hmac::HMAC_SHA384); /// HKDF using HMAC-SHA-512. -pub static HKDF_SHA512: Algorithm = Algorithm(hmac::HMAC_SHA512); +pub const HKDF_SHA512: Algorithm = Algorithm(hmac::HMAC_SHA512); /// General Salt length's for HKDF don't normally exceed 256 bits. /// We set the limit to something tolerable, so that the Salt structure can be stack allocatable. diff --git a/aws-lc-rs/src/hmac.rs b/aws-lc-rs/src/hmac.rs index f464324c36db..98d1e616d274 100644 --- a/aws-lc-rs/src/hmac.rs +++ b/aws-lc-rs/src/hmac.rs @@ -133,19 +133,19 @@ impl Algorithm { } /// HMAC using SHA-1. Obsolete. -pub static HMAC_SHA1_FOR_LEGACY_USE_ONLY: Algorithm = Algorithm(&digest::SHA1_FOR_LEGACY_USE_ONLY); +pub const HMAC_SHA1_FOR_LEGACY_USE_ONLY: Algorithm = Algorithm(&digest::SHA1_FOR_LEGACY_USE_ONLY); /// HMAC using SHA-224. -pub static HMAC_SHA224: Algorithm = Algorithm(&digest::SHA224); +pub const HMAC_SHA224: Algorithm = Algorithm(&digest::SHA224); /// HMAC using SHA-256. -pub static HMAC_SHA256: Algorithm = Algorithm(&digest::SHA256); +pub const HMAC_SHA256: Algorithm = Algorithm(&digest::SHA256); /// HMAC using SHA-384. -pub static HMAC_SHA384: Algorithm = Algorithm(&digest::SHA384); +pub const HMAC_SHA384: Algorithm = Algorithm(&digest::SHA384); /// HMAC using SHA-512. -pub static HMAC_SHA512: Algorithm = Algorithm(&digest::SHA512); +pub const HMAC_SHA512: Algorithm = Algorithm(&digest::SHA512); /// An HMAC tag. /// diff --git a/aws-lc-rs/src/pbkdf2.rs b/aws-lc-rs/src/pbkdf2.rs index e83b45de014a..8bcca64adaab 100644 --- a/aws-lc-rs/src/pbkdf2.rs +++ b/aws-lc-rs/src/pbkdf2.rs @@ -120,25 +120,25 @@ pub struct Algorithm { } /// PBKDF2 using HMAC-SHA1. -pub static PBKDF2_HMAC_SHA1: Algorithm = Algorithm { +pub const PBKDF2_HMAC_SHA1: Algorithm = Algorithm { algorithm: hmac::HMAC_SHA1_FOR_LEGACY_USE_ONLY, max_output_len: MAX_USIZE32 * digest::SHA1_OUTPUT_LEN as u64, }; /// PBKDF2 using HMAC-SHA256. -pub static PBKDF2_HMAC_SHA256: Algorithm = Algorithm { +pub const PBKDF2_HMAC_SHA256: Algorithm = Algorithm { algorithm: hmac::HMAC_SHA256, max_output_len: MAX_USIZE32 * digest::SHA256_OUTPUT_LEN as u64, }; /// PBKDF2 using HMAC-SHA384. -pub static PBKDF2_HMAC_SHA384: Algorithm = Algorithm { +pub const PBKDF2_HMAC_SHA384: Algorithm = Algorithm { algorithm: hmac::HMAC_SHA384, max_output_len: MAX_USIZE32 * digest::SHA384_OUTPUT_LEN as u64, }; /// PBKDF2 using HMAC-SHA512. -pub static PBKDF2_HMAC_SHA512: Algorithm = Algorithm { +pub const PBKDF2_HMAC_SHA512: Algorithm = Algorithm { algorithm: hmac::HMAC_SHA512, max_output_len: MAX_USIZE32 * digest::SHA512_OUTPUT_LEN as u64, }; diff --git a/aws-lc-rs/src/signature.rs b/aws-lc-rs/src/signature.rs index a7479a0f2a75..45f2553c775b 100644 --- a/aws-lc-rs/src/signature.rs +++ b/aws-lc-rs/src/signature.rs @@ -672,7 +672,7 @@ pub(crate) fn parse_public_key( } /// Verification of signatures using RSA keys of 1024-8192 bits, PKCS#1.5 padding, and SHA-1. -pub static RSA_PKCS1_1024_8192_SHA1_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_1024_8192_SHA1_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( &digest::SHA1_FOR_LEGACY_USE_ONLY, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 1024..=8192, @@ -680,7 +680,7 @@ pub static RSA_PKCS1_1024_8192_SHA1_FOR_LEGACY_USE_ONLY: RsaParameters = RsaPara ); /// Verification of signatures using RSA keys of 1024-8192 bits, PKCS#1.5 padding, and SHA-256. -pub static RSA_PKCS1_1024_8192_SHA256_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_1024_8192_SHA256_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( &digest::SHA256, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 1024..=8192, @@ -688,7 +688,7 @@ pub static RSA_PKCS1_1024_8192_SHA256_FOR_LEGACY_USE_ONLY: RsaParameters = RsaPa ); /// Verification of signatures using RSA keys of 1024-8192 bits, PKCS#1.5 padding, and SHA-512. -pub static RSA_PKCS1_1024_8192_SHA512_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_1024_8192_SHA512_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( &digest::SHA512, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 1024..=8192, @@ -696,7 +696,7 @@ pub static RSA_PKCS1_1024_8192_SHA512_FOR_LEGACY_USE_ONLY: RsaParameters = RsaPa ); /// Verification of signatures using RSA keys of 2048-8192 bits, PKCS#1.5 padding, and SHA-1. -pub static RSA_PKCS1_2048_8192_SHA1_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_2048_8192_SHA1_FOR_LEGACY_USE_ONLY: RsaParameters = RsaParameters::new( &digest::SHA1_FOR_LEGACY_USE_ONLY, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 2048..=8192, @@ -704,7 +704,7 @@ pub static RSA_PKCS1_2048_8192_SHA1_FOR_LEGACY_USE_ONLY: RsaParameters = RsaPara ); /// Verification of signatures using RSA keys of 2048-8192 bits, PKCS#1.5 padding, and SHA-256. -pub static RSA_PKCS1_2048_8192_SHA256: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_2048_8192_SHA256: RsaParameters = RsaParameters::new( &digest::SHA256, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 2048..=8192, @@ -712,7 +712,7 @@ pub static RSA_PKCS1_2048_8192_SHA256: RsaParameters = RsaParameters::new( ); /// Verification of signatures using RSA keys of 2048-8192 bits, PKCS#1.5 padding, and SHA-384. -pub static RSA_PKCS1_2048_8192_SHA384: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_2048_8192_SHA384: RsaParameters = RsaParameters::new( &digest::SHA384, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 2048..=8192, @@ -720,7 +720,7 @@ pub static RSA_PKCS1_2048_8192_SHA384: RsaParameters = RsaParameters::new( ); /// Verification of signatures using RSA keys of 2048-8192 bits, PKCS#1.5 padding, and SHA-512. -pub static RSA_PKCS1_2048_8192_SHA512: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_2048_8192_SHA512: RsaParameters = RsaParameters::new( &digest::SHA512, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 2048..=8192, @@ -728,7 +728,7 @@ pub static RSA_PKCS1_2048_8192_SHA512: RsaParameters = RsaParameters::new( ); /// Verification of signatures using RSA keys of 3072-8192 bits, PKCS#1.5 padding, and SHA-384. -pub static RSA_PKCS1_3072_8192_SHA384: RsaParameters = RsaParameters::new( +pub const RSA_PKCS1_3072_8192_SHA384: RsaParameters = RsaParameters::new( &digest::SHA384, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, 3072..=8192, @@ -736,7 +736,7 @@ pub static RSA_PKCS1_3072_8192_SHA384: RsaParameters = RsaParameters::new( ); /// Verification of signatures using RSA keys of 2048-8192 bits, PSS padding, and SHA-256. -pub static RSA_PSS_2048_8192_SHA256: RsaParameters = RsaParameters::new( +pub const RSA_PSS_2048_8192_SHA256: RsaParameters = RsaParameters::new( &digest::SHA256, &rsa::signature::RsaPadding::RSA_PKCS1_PSS_PADDING, 2048..=8192, @@ -744,7 +744,7 @@ pub static RSA_PSS_2048_8192_SHA256: RsaParameters = RsaParameters::new( ); /// Verification of signatures using RSA keys of 2048-8192 bits, PSS padding, and SHA-384. -pub static RSA_PSS_2048_8192_SHA384: RsaParameters = RsaParameters::new( +pub const RSA_PSS_2048_8192_SHA384: RsaParameters = RsaParameters::new( &digest::SHA384, &rsa::signature::RsaPadding::RSA_PKCS1_PSS_PADDING, 2048..=8192, @@ -752,7 +752,7 @@ pub static RSA_PSS_2048_8192_SHA384: RsaParameters = RsaParameters::new( ); /// Verification of signatures using RSA keys of 2048-8192 bits, PSS padding, and SHA-512. -pub static RSA_PSS_2048_8192_SHA512: RsaParameters = RsaParameters::new( +pub const RSA_PSS_2048_8192_SHA512: RsaParameters = RsaParameters::new( &digest::SHA512, &rsa::signature::RsaPadding::RSA_PKCS1_PSS_PADDING, 2048..=8192, @@ -760,329 +760,329 @@ pub static RSA_PSS_2048_8192_SHA512: RsaParameters = RsaParameters::new( ); /// RSA PSS padding using SHA-256 for RSA signatures. -pub static RSA_PSS_SHA256: RsaSignatureEncoding = RsaSignatureEncoding::new( +pub const RSA_PSS_SHA256: RsaSignatureEncoding = RsaSignatureEncoding::new( &digest::SHA256, &rsa::signature::RsaPadding::RSA_PKCS1_PSS_PADDING, &RsaSigningAlgorithmId::RSA_PSS_SHA256, ); /// RSA PSS padding using SHA-384 for RSA signatures. -pub static RSA_PSS_SHA384: RsaSignatureEncoding = RsaSignatureEncoding::new( +pub const RSA_PSS_SHA384: RsaSignatureEncoding = RsaSignatureEncoding::new( &digest::SHA384, &rsa::signature::RsaPadding::RSA_PKCS1_PSS_PADDING, &RsaSigningAlgorithmId::RSA_PSS_SHA384, ); /// RSA PSS padding using SHA-512 for RSA signatures. -pub static RSA_PSS_SHA512: RsaSignatureEncoding = RsaSignatureEncoding::new( +pub const RSA_PSS_SHA512: RsaSignatureEncoding = RsaSignatureEncoding::new( &digest::SHA512, &rsa::signature::RsaPadding::RSA_PKCS1_PSS_PADDING, &RsaSigningAlgorithmId::RSA_PSS_SHA512, ); /// PKCS#1 1.5 padding using SHA-256 for RSA signatures. -pub static RSA_PKCS1_SHA256: RsaSignatureEncoding = RsaSignatureEncoding::new( +pub const RSA_PKCS1_SHA256: RsaSignatureEncoding = RsaSignatureEncoding::new( &digest::SHA256, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, &RsaSigningAlgorithmId::RSA_PKCS1_SHA256, ); /// PKCS#1 1.5 padding using SHA-384 for RSA signatures. -pub static RSA_PKCS1_SHA384: RsaSignatureEncoding = RsaSignatureEncoding::new( +pub const RSA_PKCS1_SHA384: RsaSignatureEncoding = RsaSignatureEncoding::new( &digest::SHA384, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, &RsaSigningAlgorithmId::RSA_PKCS1_SHA384, ); /// PKCS#1 1.5 padding using SHA-512 for RSA signatures. -pub static RSA_PKCS1_SHA512: RsaSignatureEncoding = RsaSignatureEncoding::new( +pub const RSA_PKCS1_SHA512: RsaSignatureEncoding = RsaSignatureEncoding::new( &digest::SHA512, &rsa::signature::RsaPadding::RSA_PKCS1_PADDING, &RsaSigningAlgorithmId::RSA_PKCS1_SHA512, ); /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-256 curve and SHA-256. -pub static ECDSA_P256_SHA256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256_SHA256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256, digest: &digest::SHA256, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-384 curve and SHA-384. -pub static ECDSA_P384_SHA384_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P384_SHA384_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P384, digest: &digest::SHA384, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-384 curve and SHA3-384. -pub static ECDSA_P384_SHA3_384_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P384_SHA3_384_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P384, digest: &digest::SHA3_384, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-1. -pub static ECDSA_P521_SHA1_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA1_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA1_FOR_LEGACY_USE_ONLY, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-224. -pub static ECDSA_P521_SHA224_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA224_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA224, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-256. -pub static ECDSA_P521_SHA256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA256, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-384. -pub static ECDSA_P521_SHA384_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA384_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA384, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-512. -pub static ECDSA_P521_SHA512_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA512_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA512, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA3-512. -pub static ECDSA_P521_SHA3_512_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA3_512_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA3_512, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-256K1 curve and SHA-256. -pub static ECDSA_P256K1_SHA256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256K1_SHA256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256K1, digest: &digest::SHA256, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of fixed-length (PKCS#11 style) ECDSA signatures using the P-256K1 curve and SHA3-256. -pub static ECDSA_P256K1_SHA3_256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256K1_SHA3_256_FIXED: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256K1, digest: &digest::SHA3_256, sig_format: EcdsaSignatureFormat::Fixed, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-256 curve and SHA-256. -pub static ECDSA_P256_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256, digest: &digest::SHA256, sig_format: EcdsaSignatureFormat::ASN1, }; /// *Not recommended.* Verification of ASN.1 DER-encoded ECDSA signatures using the P-256 curve and SHA-384. -pub static ECDSA_P256_SHA384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256_SHA384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256, digest: &digest::SHA384, sig_format: EcdsaSignatureFormat::ASN1, }; /// *Not recommended.* Verification of ASN.1 DER-encoded ECDSA signatures using the P-256 curve and SHA-512. -pub static ECDSA_P256_SHA512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256_SHA512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256, digest: &digest::SHA512, sig_format: EcdsaSignatureFormat::ASN1, }; /// *Not recommended.* Verification of ASN.1 DER-encoded ECDSA signatures using the P-384 curve and SHA-256. -pub static ECDSA_P384_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P384_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P384, digest: &digest::SHA256, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-384 curve and SHA-384. -pub static ECDSA_P384_SHA384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P384_SHA384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P384, digest: &digest::SHA384, sig_format: EcdsaSignatureFormat::ASN1, }; /// *Not recommended.* Verification of ASN.1 DER-encoded ECDSA signatures using the P-384 curve and SHA-512. -pub static ECDSA_P384_SHA512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P384_SHA512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P384, digest: &digest::SHA512, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-384 curve and SHA3-384. -pub static ECDSA_P384_SHA3_384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P384_SHA3_384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P384, digest: &digest::SHA3_384, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-1. -pub static ECDSA_P521_SHA1_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA1_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA1_FOR_LEGACY_USE_ONLY, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-224. -pub static ECDSA_P521_SHA224_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA224_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA224, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-256. -pub static ECDSA_P521_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA256, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-384. -pub static ECDSA_P521_SHA384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA384_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA384, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-512. -pub static ECDSA_P521_SHA512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA512, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA3-512. -pub static ECDSA_P521_SHA3_512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P521_SHA3_512_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P521, digest: &digest::SHA3_512, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-256K1 curve and SHA-256. -pub static ECDSA_P256K1_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256K1_SHA256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256K1, digest: &digest::SHA256, sig_format: EcdsaSignatureFormat::ASN1, }; /// Verification of ASN.1 DER-encoded ECDSA signatures using the P-256K1 curve and SHA3-256. -pub static ECDSA_P256K1_SHA3_256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { +pub const ECDSA_P256K1_SHA3_256_ASN1: EcdsaVerificationAlgorithm = EcdsaVerificationAlgorithm { id: &ec::signature::AlgorithmID::ECDSA_P256K1, digest: &digest::SHA3_256, sig_format: EcdsaSignatureFormat::ASN1, }; /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-256 curve and SHA-256. -pub static ECDSA_P256_SHA256_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P256_SHA256_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P256_SHA256_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-384 curve and SHA-384. -pub static ECDSA_P384_SHA384_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P384_SHA384_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P384_SHA384_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-384 curve and SHA3-384. -pub static ECDSA_P384_SHA3_384_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P384_SHA3_384_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P384_SHA3_384_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-224. /// # ⚠️ Warning /// The security design strength of SHA-224 digests is less then security strength of P-521. /// This scheme should only be used for backwards compatibility purposes. -pub static ECDSA_P521_SHA224_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA224_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA224_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-256. /// # ⚠️ Warning /// The security design strength of SHA-256 digests is less then security strength of P-521. /// This scheme should only be used for backwards compatibility purposes. -pub static ECDSA_P521_SHA256_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA256_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA256_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-384. /// # ⚠️ Warning /// The security design strength of SHA-384 digests is less then security strength of P-521. /// This scheme should only be used for backwards compatibility purposes. -pub static ECDSA_P521_SHA384_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA384_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA384_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA-512. -pub static ECDSA_P521_SHA512_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA512_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA512_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-521 curve and SHA3-512. -pub static ECDSA_P521_SHA3_512_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA3_512_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA3_512_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-256K1 curve and SHA-256. -pub static ECDSA_P256K1_SHA256_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P256K1_SHA256_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P256K1_SHA256_FIXED); /// Signing of fixed-length (PKCS#11 style) ECDSA signatures using the P-256K1 curve and SHA3-256. -pub static ECDSA_P256K1_SHA3_256_FIXED_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P256K1_SHA3_256_FIXED_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P256K1_SHA3_256_FIXED); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-256 curve and SHA-256. -pub static ECDSA_P256_SHA256_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P256_SHA256_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P256_SHA256_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-384 curve and SHA-384. -pub static ECDSA_P384_SHA384_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P384_SHA384_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P384_SHA384_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-384 curve and SHA3-384. -pub static ECDSA_P384_SHA3_384_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P384_SHA3_384_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P384_SHA3_384_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-224. /// # ⚠️ Warning /// The security design strength of SHA-224 digests is less then security strength of P-521. /// This scheme should only be used for backwards compatibility purposes. -pub static ECDSA_P521_SHA224_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA224_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA224_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-256. /// # ⚠️ Warning /// The security design strength of SHA-256 digests is less then security strength of P-521. /// This scheme should only be used for backwards compatibility purposes. -pub static ECDSA_P521_SHA256_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA256_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA256_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-384. /// # ⚠️ Warning /// The security design strength of SHA-384 digests is less then security strength of P-521. /// This scheme should only be used for backwards compatibility purposes. -pub static ECDSA_P521_SHA384_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA384_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA384_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA-512. -pub static ECDSA_P521_SHA512_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA512_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA512_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-521 curve and SHA3-512. -pub static ECDSA_P521_SHA3_512_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P521_SHA3_512_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P521_SHA3_512_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-256K1 curve and SHA-256. -pub static ECDSA_P256K1_SHA256_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P256K1_SHA256_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P256K1_SHA256_ASN1); /// Signing of ASN.1 DER-encoded ECDSA signatures using the P-256K1 curve and SHA3-256. -pub static ECDSA_P256K1_SHA3_256_ASN1_SIGNING: EcdsaSigningAlgorithm = +pub const ECDSA_P256K1_SHA3_256_ASN1_SIGNING: EcdsaSigningAlgorithm = EcdsaSigningAlgorithm(&ECDSA_P256K1_SHA3_256_ASN1); /// Verification of Ed25519 signatures. -pub static ED25519: EdDSAParameters = EdDSAParameters {}; +pub const ED25519: EdDSAParameters = EdDSAParameters {}; #[cfg(test)] mod tests { diff --git a/aws-lc-rs/src/unstable/signature.rs b/aws-lc-rs/src/unstable/signature.rs index cb6639b15085..9ad14e5cad31 100644 --- a/aws-lc-rs/src/unstable/signature.rs +++ b/aws-lc-rs/src/unstable/signature.rs @@ -44,54 +44,54 @@ use crate::pqdsa::AlgorithmID; /// Verification of MLDSA-44 signatures #[deprecated(note = "Use ML_DSA_44")] -pub static MLDSA_44: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { +pub const MLDSA_44: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { id: &AlgorithmID::ML_DSA_44, }; /// Verification of MLDSA-65 signatures #[deprecated(note = "Use ML_DSA_65")] -pub static MLDSA_65: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { +pub const MLDSA_65: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { id: &AlgorithmID::ML_DSA_65, }; /// Verification of MLDSA-87 signatures #[deprecated(note = "Use ML_DSA_87")] -pub static MLDSA_87: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { +pub const MLDSA_87: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { id: &AlgorithmID::ML_DSA_87, }; /// Sign using MLDSA-44 #[deprecated(note = "Use ML_DSA_44_SIGNING")] -pub static MLDSA_44_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_44); +pub const MLDSA_44_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_44); /// Sign using MLDSA-65 #[deprecated(note = "Use ML_DSA_65_SIGNING")] -pub static MLDSA_65_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_65); +pub const MLDSA_65_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_65); /// Sign using MLDSA-87 #[deprecated(note = "Use ML_DSA_87_SIGNING")] -pub static MLDSA_87_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_87); +pub const MLDSA_87_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_87); /// Verification of ML-DSA-44 signatures -pub static ML_DSA_44: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { +pub const ML_DSA_44: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { id: &AlgorithmID::ML_DSA_44, }; /// Verification of ML-DSA-65 signatures -pub static ML_DSA_65: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { +pub const ML_DSA_65: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { id: &AlgorithmID::ML_DSA_65, }; /// Verification of ML-DSA-87 signatures -pub static ML_DSA_87: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { +pub const ML_DSA_87: PqdsaVerificationAlgorithm = PqdsaVerificationAlgorithm { id: &AlgorithmID::ML_DSA_87, }; /// Sign using ML-DSA-44 -pub static ML_DSA_44_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_44); +pub const ML_DSA_44_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_44); /// Sign using ML-DSA-65 -pub static ML_DSA_65_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_65); +pub const ML_DSA_65_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_65); /// Sign using ML-DSA-87 -pub static ML_DSA_87_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_87); +pub const ML_DSA_87_SIGNING: PqdsaSigningAlgorithm = PqdsaSigningAlgorithm(&ML_DSA_87);