1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
//! 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";