@@ -29,10 +29,45 @@ public class DefaultCMSSignatureAlgorithmNameGenerator
2929
3030 private void addEntries (ASN1ObjectIdentifier alias , String digest , String encryption )
3131 {
32- digestAlgs .put (alias , digest );
33- encryptionAlgs .put (alias , encryption );
32+ if (digestAlgs .containsKey (alias ))
33+ {
34+ throw new IllegalStateException ("object identifier already present in addEntries" );
35+ }
36+
37+ addDigestAlg (alias , digest );
38+ addEncryptionAlg (alias , encryption );
3439 }
3540
41+ private void addSimpleAlg (ASN1ObjectIdentifier alias , String algorithmName )
42+ {
43+ if (simpleAlgs .containsKey (alias ))
44+ {
45+ throw new IllegalStateException ("object identifier already present in addSimpleAlg" );
46+ }
47+
48+ simpleAlgs .put (alias , algorithmName );
49+ }
50+
51+ private void addDigestAlg (ASN1ObjectIdentifier alias , String algorithmName )
52+ {
53+ if (digestAlgs .containsKey (alias ))
54+ {
55+ throw new IllegalStateException ("object identifier already present in addDigestAlg" );
56+ }
57+
58+ digestAlgs .put (alias , algorithmName );
59+ }
60+
61+ private void addEncryptionAlg (ASN1ObjectIdentifier alias , String algorithmName )
62+ {
63+ if (encryptionAlgs .containsKey (alias ))
64+ {
65+ throw new IllegalStateException ("object identifier already present in addEncryptionAlg" );
66+ }
67+
68+ encryptionAlgs .put (alias , algorithmName );
69+ }
70+
3671 public DefaultCMSSignatureAlgorithmNameGenerator ()
3772 {
3873 addEntries (NISTObjectIdentifiers .dsa_with_sha224 , "SHA224" , "DSA" );
@@ -43,10 +78,6 @@ public DefaultCMSSignatureAlgorithmNameGenerator()
4378 addEntries (NISTObjectIdentifiers .id_dsa_with_sha3_256 , "SHA3-256" , "DSA" );
4479 addEntries (NISTObjectIdentifiers .id_dsa_with_sha3_384 , "SHA3-384" , "DSA" );
4580 addEntries (NISTObjectIdentifiers .id_dsa_with_sha3_512 , "SHA3-512" , "DSA" );
46- addEntries (NISTObjectIdentifiers .id_rsassa_pkcs1_v1_5_with_sha3_224 , "SHA3-224" , "RSA" );
47- addEntries (NISTObjectIdentifiers .id_rsassa_pkcs1_v1_5_with_sha3_256 , "SHA3-256" , "RSA" );
48- addEntries (NISTObjectIdentifiers .id_rsassa_pkcs1_v1_5_with_sha3_384 , "SHA3-384" , "RSA" );
49- addEntries (NISTObjectIdentifiers .id_rsassa_pkcs1_v1_5_with_sha3_512 , "SHA3-512" , "RSA" );
5081 addEntries (NISTObjectIdentifiers .id_ecdsa_with_sha3_224 , "SHA3-224" , "ECDSA" );
5182 addEntries (NISTObjectIdentifiers .id_ecdsa_with_sha3_256 , "SHA3-256" , "ECDSA" );
5283 addEntries (NISTObjectIdentifiers .id_ecdsa_with_sha3_384 , "SHA3-384" , "ECDSA" );
@@ -120,90 +151,90 @@ public DefaultCMSSignatureAlgorithmNameGenerator()
120151 addEntries (BCObjectIdentifiers .picnic_with_sha512 , "SHA512" , "Picnic" );
121152 addEntries (BCObjectIdentifiers .picnic_with_sha3_512 , "SHA3-512" , "Picnic" );
122153
123- encryptionAlgs . put (X9ObjectIdentifiers .id_dsa , "DSA" );
124- encryptionAlgs . put (PKCSObjectIdentifiers .rsaEncryption , "RSA" );
125- encryptionAlgs . put (TeleTrusTObjectIdentifiers .teleTrusTRSAsignatureAlgorithm , "RSA" );
126- encryptionAlgs . put (X509ObjectIdentifiers .id_ea_rsa , "RSA" );
127- encryptionAlgs . put (PKCSObjectIdentifiers .id_RSASSA_PSS , "RSAandMGF1" );
128- encryptionAlgs . put (CryptoProObjectIdentifiers .gostR3410_94 , "GOST3410" );
129- encryptionAlgs . put (CryptoProObjectIdentifiers .gostR3410_2001 , "ECGOST3410" );
130- encryptionAlgs . put (new ASN1ObjectIdentifier ("1.3.6.1.4.1.5849.1.6.2" ), "ECGOST3410" );
131- encryptionAlgs . put (new ASN1ObjectIdentifier ("1.3.6.1.4.1.5849.1.1.5" ), "GOST3410" );
132- encryptionAlgs . put (RosstandartObjectIdentifiers .id_tc26_gost_3410_12_256 , "ECGOST3410-2012-256" );
133- encryptionAlgs . put (RosstandartObjectIdentifiers .id_tc26_gost_3410_12_512 , "ECGOST3410-2012-512" );
134- encryptionAlgs . put (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_2001 , "ECGOST3410" );
135- encryptionAlgs . put (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_94 , "GOST3410" );
136- encryptionAlgs . put (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_256 , "ECGOST3410-2012-256" );
137- encryptionAlgs . put (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_512 , "ECGOST3410-2012-512" );
138- encryptionAlgs . put (X9ObjectIdentifiers .id_ecPublicKey , "ECDSA" );
139-
140- digestAlgs . put (PKCSObjectIdentifiers .md2 , "MD2" );
141- digestAlgs . put (PKCSObjectIdentifiers .md4 , "MD4" );
142- digestAlgs . put (PKCSObjectIdentifiers .md5 , "MD5" );
143- digestAlgs . put (OIWObjectIdentifiers .idSHA1 , "SHA1" );
144- digestAlgs . put (NISTObjectIdentifiers .id_sha224 , "SHA224" );
145- digestAlgs . put (NISTObjectIdentifiers .id_sha256 , "SHA256" );
146- digestAlgs . put (NISTObjectIdentifiers .id_sha384 , "SHA384" );
147- digestAlgs . put (NISTObjectIdentifiers .id_sha512 , "SHA512" );
148- digestAlgs . put (NISTObjectIdentifiers .id_sha512_224 , "SHA512(224)" );
149- digestAlgs . put (NISTObjectIdentifiers .id_sha512_256 , "SHA512(256)" );
150- digestAlgs . put (NISTObjectIdentifiers .id_shake128 , "SHAKE128" );
151- digestAlgs . put (NISTObjectIdentifiers .id_shake256 , "SHAKE256" );
152- digestAlgs . put (NISTObjectIdentifiers .id_sha3_224 , "SHA3-224" );
153- digestAlgs . put (NISTObjectIdentifiers .id_sha3_256 , "SHA3-256" );
154- digestAlgs . put (NISTObjectIdentifiers .id_sha3_384 , "SHA3-384" );
155- digestAlgs . put (NISTObjectIdentifiers .id_sha3_512 , "SHA3-512" );
156- digestAlgs . put (TeleTrusTObjectIdentifiers .ripemd128 , "RIPEMD128" );
157- digestAlgs . put (TeleTrusTObjectIdentifiers .ripemd160 , "RIPEMD160" );
158- digestAlgs . put (TeleTrusTObjectIdentifiers .ripemd256 , "RIPEMD256" );
159- digestAlgs . put (CryptoProObjectIdentifiers .gostR3411 , "GOST3411" );
160- digestAlgs . put (new ASN1ObjectIdentifier ("1.3.6.1.4.1.5849.1.2.1" ), "GOST3411" );
161- digestAlgs . put (RosstandartObjectIdentifiers .id_tc26_gost_3411_12_256 , "GOST3411-2012-256" );
162- digestAlgs . put (RosstandartObjectIdentifiers .id_tc26_gost_3411_12_512 , "GOST3411-2012-512" );
163- digestAlgs . put (GMObjectIdentifiers .sm3 , "SM3" );
164-
165- simpleAlgs . put (EdECObjectIdentifiers .id_Ed25519 , "Ed25519" );
166- simpleAlgs . put (EdECObjectIdentifiers .id_Ed448 , "Ed448" );
167- simpleAlgs . put (PKCSObjectIdentifiers .id_alg_hss_lms_hashsig , "LMS" );
168-
169- simpleAlgs . put (MiscObjectIdentifiers .id_alg_composite , "COMPOSITE" );
170- simpleAlgs . put (BCObjectIdentifiers .falcon_512 , "Falcon-512" );
171- simpleAlgs . put (BCObjectIdentifiers .falcon_1024 , "Falcon-1024" );
172- simpleAlgs . put (BCObjectIdentifiers .dilithium2 , "Dilithium2" );
173- simpleAlgs . put (BCObjectIdentifiers .dilithium3 , "Dilithium3" );
174- simpleAlgs . put (BCObjectIdentifiers .dilithium5 , "Dilithium5" );
175- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_sha2_128s , "SPHINCS+-SHA2-128s" );
176- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_sha2_128f , "SPHINCS+-SHA2-128f" );
177- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_sha2_192s , "SPHINCS+-SHA2-192s" );
178- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_sha2_192f , "SPHINCS+-SHA2-192f" );
179- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_sha2_256s , "SPHINCS+-SHA2-256s" );
180- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_sha2_256f , "SPHINCS+-SHA2-256f" );
181- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_shake_128s , "SPHINCS+-SHAKE-128s" );
182- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_shake_128f , "SPHINCS+-SHAKE-128f" );
183- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_shake_192s , "SPHINCS+-SHAKE-192s" );
184- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_shake_192f , "SPHINCS+-SHAKE-192f" );
185- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_shake_256s , "SPHINCS+-SHAKE-256s" );
186- simpleAlgs . put (BCObjectIdentifiers .sphincsPlus_shake_256f , "SPHINCS+-SHAKE-256f" );
187-
188- simpleAlgs . put (NISTObjectIdentifiers .id_ml_dsa_44 , "ML-DSA-44" );
189- simpleAlgs . put (NISTObjectIdentifiers .id_ml_dsa_65 , "ML-DSA-65" );
190- simpleAlgs . put (NISTObjectIdentifiers .id_ml_dsa_87 , "ML-DSA-87" );
191-
192- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_sha2_128s , "SLH-DSA-SHA2-128S" );
193- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_sha2_128f , "SLH-DSA-SHA2-128F" );
194- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_sha2_192s , "SLH-DSA-SHA2-192S" );
195- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_sha2_192f , "SLH-DSA-SHA2-192F" );
196- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_sha2_256s , "SLH-DSA-SHA2-256S" );
197- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_sha2_256f , "SLH-DSA-SHA2-256F" );
198-
199- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_shake_128s , "SLH-DSA-SHAKE-128S" );
200- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_shake_128f , "SLH-DSA-SHAKE-128F" );
201- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_shake_192s , "SLH-DSA-SHAKE-192S" );
202- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_shake_192f , "SLH-DSA-SHAKE-192F" );
203- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_shake_256s , "SLH-DSA-SHAKE-256S" );
204- simpleAlgs . put (NISTObjectIdentifiers .id_slh_dsa_shake_256f , "SLH-DSA-SHAKE-256F" );
205-
206- simpleAlgs . put (BCObjectIdentifiers .picnic_signature , "Picnic" );
154+ addEncryptionAlg (X9ObjectIdentifiers .id_dsa , "DSA" );
155+ addEncryptionAlg (PKCSObjectIdentifiers .rsaEncryption , "RSA" );
156+ addEncryptionAlg (TeleTrusTObjectIdentifiers .teleTrusTRSAsignatureAlgorithm , "RSA" );
157+ addEncryptionAlg (X509ObjectIdentifiers .id_ea_rsa , "RSA" );
158+ addEncryptionAlg (PKCSObjectIdentifiers .id_RSASSA_PSS , "RSAandMGF1" );
159+ addEncryptionAlg (CryptoProObjectIdentifiers .gostR3410_94 , "GOST3410" );
160+ addEncryptionAlg (CryptoProObjectIdentifiers .gostR3410_2001 , "ECGOST3410" );
161+ addEncryptionAlg (new ASN1ObjectIdentifier ("1.3.6.1.4.1.5849.1.6.2" ), "ECGOST3410" );
162+ addEncryptionAlg (new ASN1ObjectIdentifier ("1.3.6.1.4.1.5849.1.1.5" ), "GOST3410" );
163+ addEncryptionAlg (RosstandartObjectIdentifiers .id_tc26_gost_3410_12_256 , "ECGOST3410-2012-256" );
164+ addEncryptionAlg (RosstandartObjectIdentifiers .id_tc26_gost_3410_12_512 , "ECGOST3410-2012-512" );
165+ addEncryptionAlg (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_2001 , "ECGOST3410" );
166+ addEncryptionAlg (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_94 , "GOST3410" );
167+ addEncryptionAlg (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_256 , "ECGOST3410-2012-256" );
168+ addEncryptionAlg (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_512 , "ECGOST3410-2012-512" );
169+ addEncryptionAlg (X9ObjectIdentifiers .id_ecPublicKey , "ECDSA" );
170+
171+ addDigestAlg (PKCSObjectIdentifiers .md2 , "MD2" );
172+ addDigestAlg (PKCSObjectIdentifiers .md4 , "MD4" );
173+ addDigestAlg (PKCSObjectIdentifiers .md5 , "MD5" );
174+ addDigestAlg (OIWObjectIdentifiers .idSHA1 , "SHA1" );
175+ addDigestAlg (NISTObjectIdentifiers .id_sha224 , "SHA224" );
176+ addDigestAlg (NISTObjectIdentifiers .id_sha256 , "SHA256" );
177+ addDigestAlg (NISTObjectIdentifiers .id_sha384 , "SHA384" );
178+ addDigestAlg (NISTObjectIdentifiers .id_sha512 , "SHA512" );
179+ addDigestAlg (NISTObjectIdentifiers .id_sha512_224 , "SHA512(224)" );
180+ addDigestAlg (NISTObjectIdentifiers .id_sha512_256 , "SHA512(256)" );
181+ addDigestAlg (NISTObjectIdentifiers .id_shake128 , "SHAKE128" );
182+ addDigestAlg (NISTObjectIdentifiers .id_shake256 , "SHAKE256" );
183+ addDigestAlg (NISTObjectIdentifiers .id_sha3_224 , "SHA3-224" );
184+ addDigestAlg (NISTObjectIdentifiers .id_sha3_256 , "SHA3-256" );
185+ addDigestAlg (NISTObjectIdentifiers .id_sha3_384 , "SHA3-384" );
186+ addDigestAlg (NISTObjectIdentifiers .id_sha3_512 , "SHA3-512" );
187+ addDigestAlg (TeleTrusTObjectIdentifiers .ripemd128 , "RIPEMD128" );
188+ addDigestAlg (TeleTrusTObjectIdentifiers .ripemd160 , "RIPEMD160" );
189+ addDigestAlg (TeleTrusTObjectIdentifiers .ripemd256 , "RIPEMD256" );
190+ addDigestAlg (CryptoProObjectIdentifiers .gostR3411 , "GOST3411" );
191+ addDigestAlg (new ASN1ObjectIdentifier ("1.3.6.1.4.1.5849.1.2.1" ), "GOST3411" );
192+ addDigestAlg (RosstandartObjectIdentifiers .id_tc26_gost_3411_12_256 , "GOST3411-2012-256" );
193+ addDigestAlg (RosstandartObjectIdentifiers .id_tc26_gost_3411_12_512 , "GOST3411-2012-512" );
194+ addDigestAlg (GMObjectIdentifiers .sm3 , "SM3" );
195+
196+ addSimpleAlg (EdECObjectIdentifiers .id_Ed25519 , "Ed25519" );
197+ addSimpleAlg (EdECObjectIdentifiers .id_Ed448 , "Ed448" );
198+ addSimpleAlg (PKCSObjectIdentifiers .id_alg_hss_lms_hashsig , "LMS" );
199+
200+ addSimpleAlg (MiscObjectIdentifiers .id_alg_composite , "COMPOSITE" );
201+ addSimpleAlg (BCObjectIdentifiers .falcon_512 , "Falcon-512" );
202+ addSimpleAlg (BCObjectIdentifiers .falcon_1024 , "Falcon-1024" );
203+ addSimpleAlg (BCObjectIdentifiers .dilithium2 , "Dilithium2" );
204+ addSimpleAlg (BCObjectIdentifiers .dilithium3 , "Dilithium3" );
205+ addSimpleAlg (BCObjectIdentifiers .dilithium5 , "Dilithium5" );
206+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_sha2_128s , "SPHINCS+-SHA2-128s" );
207+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_sha2_128f , "SPHINCS+-SHA2-128f" );
208+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_sha2_192s , "SPHINCS+-SHA2-192s" );
209+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_sha2_192f , "SPHINCS+-SHA2-192f" );
210+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_sha2_256s , "SPHINCS+-SHA2-256s" );
211+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_sha2_256f , "SPHINCS+-SHA2-256f" );
212+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_shake_128s , "SPHINCS+-SHAKE-128s" );
213+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_shake_128f , "SPHINCS+-SHAKE-128f" );
214+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_shake_192s , "SPHINCS+-SHAKE-192s" );
215+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_shake_192f , "SPHINCS+-SHAKE-192f" );
216+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_shake_256s , "SPHINCS+-SHAKE-256s" );
217+ addSimpleAlg (BCObjectIdentifiers .sphincsPlus_shake_256f , "SPHINCS+-SHAKE-256f" );
218+
219+ addSimpleAlg (NISTObjectIdentifiers .id_ml_dsa_44 , "ML-DSA-44" );
220+ addSimpleAlg (NISTObjectIdentifiers .id_ml_dsa_65 , "ML-DSA-65" );
221+ addSimpleAlg (NISTObjectIdentifiers .id_ml_dsa_87 , "ML-DSA-87" );
222+
223+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_sha2_128s , "SLH-DSA-SHA2-128S" );
224+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_sha2_128f , "SLH-DSA-SHA2-128F" );
225+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_sha2_192s , "SLH-DSA-SHA2-192S" );
226+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_sha2_192f , "SLH-DSA-SHA2-192F" );
227+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_sha2_256s , "SLH-DSA-SHA2-256S" );
228+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_sha2_256f , "SLH-DSA-SHA2-256F" );
229+
230+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_shake_128s , "SLH-DSA-SHAKE-128S" );
231+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_shake_128f , "SLH-DSA-SHAKE-128F" );
232+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_shake_192s , "SLH-DSA-SHAKE-192S" );
233+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_shake_192f , "SLH-DSA-SHAKE-192F" );
234+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_shake_256s , "SLH-DSA-SHAKE-256S" );
235+ addSimpleAlg (NISTObjectIdentifiers .id_slh_dsa_shake_256f , "SLH-DSA-SHAKE-256F" );
236+
237+ addSimpleAlg (BCObjectIdentifiers .picnic_signature , "Picnic" );
207238 }
208239
209240 /**
0 commit comments