synta-certificate 0.2.6

X.509 certificate structures for synta ASN.1 library
Documentation
//! Human-readable algorithm name strings.
//!
//! Each constant is the canonical display name returned by
//! [`identify_signature_algorithm`](crate::identify_signature_algorithm) and
//! [`identify_public_key_algorithm`](crate::identify_public_key_algorithm).
//! Use them instead of raw string literals when matching or comparing
//! algorithm names:
//!
//! ```rust,ignore
//! use synta_certificate::{names, identify_signature_algorithm};
//!
//! match identify_signature_algorithm(oid) {
//!     names::SHA256_WITH_RSA => { /* common RSA path */ }
//!     names::ECDSA_WITH_SHA256 | names::ECDSA_WITH_SHA384 => { /* EC path */ }
//!     names::ML_DSA_65 => { /* post-quantum path */ }
//!     _ => {}
//! }
//! ```

// ── ML-DSA (FIPS 204) ─────────────────────────────────────────────────────────

/// Display name for ML-DSA-44.
pub const ML_DSA_44: &str = "ML-DSA-44";

/// Display name for ML-DSA-65.
pub const ML_DSA_65: &str = "ML-DSA-65";

/// Display name for ML-DSA-87.
pub const ML_DSA_87: &str = "ML-DSA-87";

// ── ML-KEM (FIPS 203) ─────────────────────────────────────────────────────────

/// Display name for ML-KEM-512.
pub const ML_KEM_512: &str = "ML-KEM-512";

/// Display name for ML-KEM-768.
pub const ML_KEM_768: &str = "ML-KEM-768";

/// Display name for ML-KEM-1024.
pub const ML_KEM_1024: &str = "ML-KEM-1024";

// ── EdDSA (RFC 8410) ──────────────────────────────────────────────────────────

/// Display name for Ed25519.
pub const ED25519: &str = "Ed25519";

/// Display name for Ed448.
pub const ED448: &str = "Ed448";

// ── RSA signature variants (PKCS #1 / RFC 4055) ───────────────────────────────

/// Display name for MD5 with RSA Encryption (`md5WithRSAEncryption`).
pub const MD5_WITH_RSA: &str = "MD5WithRSA";

/// Display name for SHA-1 with RSA Encryption (`sha1WithRSAEncryption`).
pub const SHA1_WITH_RSA: &str = "SHA1WithRSA";

/// Display name for SHA-256 with RSA Encryption (`sha256WithRSAEncryption`).
pub const SHA256_WITH_RSA: &str = "SHA256WithRSA";

/// Display name for SHA-384 with RSA Encryption (`sha384WithRSAEncryption`).
pub const SHA384_WITH_RSA: &str = "SHA384WithRSA";

/// Display name for SHA-512 with RSA Encryption (`sha512WithRSAEncryption`).
pub const SHA512_WITH_RSA: &str = "SHA512WithRSA";

/// Fallback display name for unrecognized PKCS #1 RSA OIDs.
pub const RSA: &str = "RSA";

// ── ECDSA signature variants (ANSI X9.62 / RFC 5758) ─────────────────────────

/// Display name for ECDSA with SHA-1 (`ecdsa-with-SHA1`).
pub const ECDSA_WITH_SHA1: &str = "ECDSAWithSHA1";

/// Display name for ECDSA with SHA-256 (`ecdsa-with-SHA256`).
pub const ECDSA_WITH_SHA256: &str = "ECDSAWithSHA256";

/// Display name for ECDSA with SHA-384 (`ecdsa-with-SHA384`).
pub const ECDSA_WITH_SHA384: &str = "ECDSAWithSHA384";

/// Display name for ECDSA with SHA-512 (`ecdsa-with-SHA512`).
pub const ECDSA_WITH_SHA512: &str = "ECDSAWithSHA512";

/// Fallback display name for unrecognized ECDSA / EC public-key OIDs.
pub const ECDSA: &str = "ECDSA";

// ── DSA (FIPS 186) ────────────────────────────────────────────────────────────

/// Display name for DSA.
pub const DSA: &str = "DSA";

// ── DSA (FIPS 186) — already above; no change needed ─────────────────────────

// ── Composite ML-DSA (draft-ietf-lamps-pq-composite-sigs) ────────────────────

/// Display name for ML-DSA-44 + RSA-2048 + PSS + SHA-256 composite.
pub const MLDSA44_RSA2048_PSS_SHA256: &str = "MLDSA44-RSA2048-PSS-SHA256";

/// Display name for ML-DSA-44 + RSA-2048 + PKCS#1v1.5 + SHA-256 composite.
pub const MLDSA44_RSA2048_PKCS15_SHA256: &str = "MLDSA44-RSA2048-PKCS15-SHA256";

/// Display name for ML-DSA-44 + Ed25519 + SHA-512 composite.
pub const MLDSA44_ED25519_SHA512: &str = "MLDSA44-Ed25519-SHA512";

/// Display name for ML-DSA-44 + ECDSA-P256 + SHA-256 composite.
pub const MLDSA44_ECDSA_P256_SHA256: &str = "MLDSA44-ECDSA-P256-SHA256";

/// Display name for ML-DSA-65 + RSA-3072 + PSS + SHA-512 composite.
pub const MLDSA65_RSA3072_PSS_SHA512: &str = "MLDSA65-RSA3072-PSS-SHA512";

/// Display name for ML-DSA-65 + RSA-3072 + PKCS#1v1.5 + SHA-512 composite.
pub const MLDSA65_RSA3072_PKCS15_SHA512: &str = "MLDSA65-RSA3072-PKCS15-SHA512";

/// Display name for ML-DSA-65 + RSA-4096 + PSS + SHA-512 composite.
pub const MLDSA65_RSA4096_PSS_SHA512: &str = "MLDSA65-RSA4096-PSS-SHA512";

/// Display name for ML-DSA-65 + RSA-4096 + PKCS#1v1.5 + SHA-512 composite.
pub const MLDSA65_RSA4096_PKCS15_SHA512: &str = "MLDSA65-RSA4096-PKCS15-SHA512";

/// Display name for ML-DSA-65 + ECDSA-P256 + SHA-512 composite.
pub const MLDSA65_ECDSA_P256_SHA512: &str = "MLDSA65-ECDSA-P256-SHA512";

/// Display name for ML-DSA-65 + ECDSA-P384 + SHA-512 composite.
pub const MLDSA65_ECDSA_P384_SHA512: &str = "MLDSA65-ECDSA-P384-SHA512";

/// Display name for ML-DSA-65 + ECDSA-brainpoolP256r1 + SHA-512 composite.
pub const MLDSA65_ECDSA_BRAINPOOL_P256R1_SHA512: &str = "MLDSA65-ECDSA-brainpoolP256r1-SHA512";

/// Display name for ML-DSA-65 + Ed25519 + SHA-512 composite.
pub const MLDSA65_ED25519_SHA512: &str = "MLDSA65-Ed25519-SHA512";

/// Display name for ML-DSA-87 + ECDSA-P384 + SHA-512 composite.
pub const MLDSA87_ECDSA_P384_SHA512: &str = "MLDSA87-ECDSA-P384-SHA512";

/// Display name for ML-DSA-87 + ECDSA-brainpoolP384r1 + SHA-512 composite.
pub const MLDSA87_ECDSA_BRAINPOOL_P384R1_SHA512: &str = "MLDSA87-ECDSA-brainpoolP384r1-SHA512";

/// Display name for ML-DSA-87 + Ed448 + SHAKE256 composite.
pub const MLDSA87_ED448_SHAKE256: &str = "MLDSA87-Ed448-SHAKE256";

/// Display name for ML-DSA-87 + RSA-3072 + PSS + SHA-512 composite.
pub const MLDSA87_RSA3072_PSS_SHA512: &str = "MLDSA87-RSA3072-PSS-SHA512";

/// Display name for ML-DSA-87 + RSA-4096 + PSS + SHA-512 composite.
pub const MLDSA87_RSA4096_PSS_SHA512: &str = "MLDSA87-RSA4096-PSS-SHA512";

/// Display name for ML-DSA-87 + ECDSA-P521 + SHA-512 composite.
pub const MLDSA87_ECDSA_P521_SHA512: &str = "MLDSA87-ECDSA-P521-SHA512";

// ── RFC 9925 Unsigned ─────────────────────────────────────────────────────────

/// Display name for the unsigned signature algorithm (`id-alg-unsigned`, RFC 9925).
pub const UNSIGNED: &str = "Unsigned";

// ── Fallback ──────────────────────────────────────────────────────────────────

/// Fallback name returned for unrecognized OIDs.
pub const OTHER: &str = "Other";