@@ -30,65 +30,113 @@ public class DefaultSignatureNameFinder
3030 private static final Map oids = new HashMap ();
3131 private static final Map digests = new HashMap ();
3232
33+ private static void addSignatureName (ASN1ObjectIdentifier sigOid , String sigName )
34+ {
35+ if (oids .containsKey (sigOid ))
36+ {
37+ throw new IllegalStateException ("object identifier already present in addSignatureName" );
38+ }
39+
40+ oids .put (sigOid , sigName );
41+ }
42+
3343 static
3444 {
3545 //
3646 // reverse mappings
3747 //
38- oids .put (PKCSObjectIdentifiers .id_RSASSA_PSS , "RSASSA-PSS" );
39- oids .put (EdECObjectIdentifiers .id_Ed25519 , "ED25519" );
40- oids .put (EdECObjectIdentifiers .id_Ed448 , "ED448" );
41- oids .put (new ASN1ObjectIdentifier ("1.2.840.113549.1.1.5" ), "SHA1WITHRSA" );
42- oids .put (PKCSObjectIdentifiers .sha224WithRSAEncryption , "SHA224WITHRSA" );
43- oids .put (PKCSObjectIdentifiers .sha256WithRSAEncryption , "SHA256WITHRSA" );
44- oids .put (PKCSObjectIdentifiers .sha384WithRSAEncryption , "SHA384WITHRSA" );
45- oids .put (PKCSObjectIdentifiers .sha512WithRSAEncryption , "SHA512WITHRSA" );
46- oids .put (X509ObjectIdentifiers .id_rsassa_pss_shake128 , "SHAKE128WITHRSAPSS" );
47- oids .put (X509ObjectIdentifiers .id_rsassa_pss_shake256 , "SHAKE256WITHRSAPSS" );
48- oids .put (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_94 , "GOST3411WITHGOST3410" );
49- oids .put (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_2001 , "GOST3411WITHECGOST3410" );
50- oids .put (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_256 , "GOST3411-2012-256WITHECGOST3410-2012-256" );
51- oids .put (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_512 , "GOST3411-2012-512WITHECGOST3410-2012-512" );
52- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA1 , "SHA1WITHPLAIN-ECDSA" );
53- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA224 , "SHA224WITHPLAIN-ECDSA" );
54- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA256 , "SHA256WITHPLAIN-ECDSA" );
55- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA384 , "SHA384WITHPLAIN-ECDSA" );
56- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA512 , "SHA512WITHPLAIN-ECDSA" );
57- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA3_224 , "SHA3-224WITHPLAIN-ECDSA" );
58- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA3_256 , "SHA3-256WITHPLAIN-ECDSA" );
59- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA3_384 , "SHA3-384WITHPLAIN-ECDSA" );
60- oids .put (BSIObjectIdentifiers .ecdsa_plain_SHA3_512 , "SHA3-512WITHPLAIN-ECDSA" );
61- oids .put (BSIObjectIdentifiers .ecdsa_plain_RIPEMD160 , "RIPEMD160WITHPLAIN-ECDSA" );
62- oids .put (EACObjectIdentifiers .id_TA_ECDSA_SHA_1 , "SHA1WITHCVC-ECDSA" );
63- oids .put (EACObjectIdentifiers .id_TA_ECDSA_SHA_224 , "SHA224WITHCVC-ECDSA" );
64- oids .put (EACObjectIdentifiers .id_TA_ECDSA_SHA_256 , "SHA256WITHCVC-ECDSA" );
65- oids .put (EACObjectIdentifiers .id_TA_ECDSA_SHA_384 , "SHA384WITHCVC-ECDSA" );
66- oids .put (EACObjectIdentifiers .id_TA_ECDSA_SHA_512 , "SHA512WITHCVC-ECDSA" );
67- oids .put (IsaraObjectIdentifiers .id_alg_xmss , "XMSS" );
68- oids .put (IsaraObjectIdentifiers .id_alg_xmssmt , "XMSSMT" );
69- oids .put (TeleTrusTObjectIdentifiers .rsaSignatureWithripemd128 , "RIPEMD128WITHRSA" );
70- oids .put (TeleTrusTObjectIdentifiers .rsaSignatureWithripemd160 , "RIPEMD160WITHRSA" );
71- oids .put (TeleTrusTObjectIdentifiers .rsaSignatureWithripemd256 , "RIPEMD256WITHRSA" );
72- oids .put (new ASN1ObjectIdentifier ("1.2.840.113549.1.1.4" ), "MD5WITHRSA" );
73- oids .put (new ASN1ObjectIdentifier ("1.2.840.113549.1.1.2" ), "MD2WITHRSA" );
74- oids .put (new ASN1ObjectIdentifier ("1.2.840.10040.4.3" ), "SHA1WITHDSA" );
75- oids .put (X9ObjectIdentifiers .ecdsa_with_SHA1 , "SHA1WITHECDSA" );
76- oids .put (X9ObjectIdentifiers .ecdsa_with_SHA224 , "SHA224WITHECDSA" );
77- oids .put (X9ObjectIdentifiers .ecdsa_with_SHA256 , "SHA256WITHECDSA" );
78- oids .put (X9ObjectIdentifiers .ecdsa_with_SHA384 , "SHA384WITHECDSA" );
79- oids .put (X9ObjectIdentifiers .ecdsa_with_SHA512 , "SHA512WITHECDSA" );
80- oids .put (X509ObjectIdentifiers .id_ecdsa_with_shake128 , "SHAKE128WITHECDSA" );
81- oids .put (X509ObjectIdentifiers .id_ecdsa_with_shake256 , "SHAKE256WITHECDSA" );
82- oids .put (OIWObjectIdentifiers .sha1WithRSA , "SHA1WITHRSA" );
83- oids .put (OIWObjectIdentifiers .dsaWithSHA1 , "SHA1WITHDSA" );
84- oids .put (NISTObjectIdentifiers .dsa_with_sha224 , "SHA224WITHDSA" );
85- oids .put (NISTObjectIdentifiers .dsa_with_sha256 , "SHA256WITHDSA" );
48+ addSignatureName (PKCSObjectIdentifiers .id_RSASSA_PSS , "RSASSA-PSS" );
49+ addSignatureName (EdECObjectIdentifiers .id_Ed25519 , "ED25519" );
50+ addSignatureName (EdECObjectIdentifiers .id_Ed448 , "ED448" );
51+ addSignatureName (new ASN1ObjectIdentifier ("1.2.840.113549.1.1.5" ), "SHA1WITHRSA" );
52+ addSignatureName (PKCSObjectIdentifiers .sha224WithRSAEncryption , "SHA224WITHRSA" );
53+ addSignatureName (PKCSObjectIdentifiers .sha256WithRSAEncryption , "SHA256WITHRSA" );
54+ addSignatureName (PKCSObjectIdentifiers .sha384WithRSAEncryption , "SHA384WITHRSA" );
55+ addSignatureName (PKCSObjectIdentifiers .sha512WithRSAEncryption , "SHA512WITHRSA" );
56+ addSignatureName (X509ObjectIdentifiers .id_rsassa_pss_shake128 , "SHAKE128WITHRSAPSS" );
57+ addSignatureName (X509ObjectIdentifiers .id_rsassa_pss_shake256 , "SHAKE256WITHRSAPSS" );
58+ addSignatureName (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_94 , "GOST3411WITHGOST3410" );
59+ addSignatureName (CryptoProObjectIdentifiers .gostR3411_94_with_gostR3410_2001 , "GOST3411WITHECGOST3410" );
60+ addSignatureName (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_256 , "GOST3411-2012-256WITHECGOST3410-2012-256" );
61+ addSignatureName (RosstandartObjectIdentifiers .id_tc26_signwithdigest_gost_3410_12_512 , "GOST3411-2012-512WITHECGOST3410-2012-512" );
62+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA1 , "SHA1WITHPLAIN-ECDSA" );
63+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA224 , "SHA224WITHPLAIN-ECDSA" );
64+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA256 , "SHA256WITHPLAIN-ECDSA" );
65+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA384 , "SHA384WITHPLAIN-ECDSA" );
66+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA512 , "SHA512WITHPLAIN-ECDSA" );
67+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA3_224 , "SHA3-224WITHPLAIN-ECDSA" );
68+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA3_256 , "SHA3-256WITHPLAIN-ECDSA" );
69+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA3_384 , "SHA3-384WITHPLAIN-ECDSA" );
70+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_SHA3_512 , "SHA3-512WITHPLAIN-ECDSA" );
71+ addSignatureName (BSIObjectIdentifiers .ecdsa_plain_RIPEMD160 , "RIPEMD160WITHPLAIN-ECDSA" );
72+ addSignatureName (EACObjectIdentifiers .id_TA_ECDSA_SHA_1 , "SHA1WITHCVC-ECDSA" );
73+ addSignatureName (EACObjectIdentifiers .id_TA_ECDSA_SHA_224 , "SHA224WITHCVC-ECDSA" );
74+ addSignatureName (EACObjectIdentifiers .id_TA_ECDSA_SHA_256 , "SHA256WITHCVC-ECDSA" );
75+ addSignatureName (EACObjectIdentifiers .id_TA_ECDSA_SHA_384 , "SHA384WITHCVC-ECDSA" );
76+ addSignatureName (EACObjectIdentifiers .id_TA_ECDSA_SHA_512 , "SHA512WITHCVC-ECDSA" );
77+ addSignatureName (IsaraObjectIdentifiers .id_alg_xmss , "XMSS" );
78+ addSignatureName (IsaraObjectIdentifiers .id_alg_xmssmt , "XMSSMT" );
79+ addSignatureName (TeleTrusTObjectIdentifiers .rsaSignatureWithripemd128 , "RIPEMD128WITHRSA" );
80+ addSignatureName (TeleTrusTObjectIdentifiers .rsaSignatureWithripemd160 , "RIPEMD160WITHRSA" );
81+ addSignatureName (TeleTrusTObjectIdentifiers .rsaSignatureWithripemd256 , "RIPEMD256WITHRSA" );
82+ addSignatureName (new ASN1ObjectIdentifier ("1.2.840.113549.1.1.4" ), "MD5WITHRSA" );
83+ addSignatureName (new ASN1ObjectIdentifier ("1.2.840.113549.1.1.2" ), "MD2WITHRSA" );
84+ addSignatureName (new ASN1ObjectIdentifier ("1.2.840.10040.4.3" ), "SHA1WITHDSA" );
85+ addSignatureName (X9ObjectIdentifiers .ecdsa_with_SHA1 , "SHA1WITHECDSA" );
86+ addSignatureName (X9ObjectIdentifiers .ecdsa_with_SHA224 , "SHA224WITHECDSA" );
87+ addSignatureName (X9ObjectIdentifiers .ecdsa_with_SHA256 , "SHA256WITHECDSA" );
88+ addSignatureName (X9ObjectIdentifiers .ecdsa_with_SHA384 , "SHA384WITHECDSA" );
89+ addSignatureName (X9ObjectIdentifiers .ecdsa_with_SHA512 , "SHA512WITHECDSA" );
90+ addSignatureName (X509ObjectIdentifiers .id_ecdsa_with_shake128 , "SHAKE128WITHECDSA" );
91+ addSignatureName (X509ObjectIdentifiers .id_ecdsa_with_shake256 , "SHAKE256WITHECDSA" );
92+ addSignatureName (OIWObjectIdentifiers .sha1WithRSA , "SHA1WITHRSA" );
93+ addSignatureName (OIWObjectIdentifiers .dsaWithSHA1 , "SHA1WITHDSA" );
94+ addSignatureName (NISTObjectIdentifiers .dsa_with_sha224 , "SHA224WITHDSA" );
95+ addSignatureName (NISTObjectIdentifiers .dsa_with_sha256 , "SHA256WITHDSA" );
96+
97+ addSignatureName (NISTObjectIdentifiers .id_ml_dsa_44 , "ML-DSA-44" );
98+ addSignatureName (NISTObjectIdentifiers .id_ml_dsa_65 , "ML-DSA-65" );
99+ addSignatureName (NISTObjectIdentifiers .id_ml_dsa_87 , "ML-DSA-87" );
100+
101+ addSignatureName (NISTObjectIdentifiers .id_hash_ml_dsa_44_with_sha512 , "ML-DSA-44-WITH-SHA512" );
102+ addSignatureName (NISTObjectIdentifiers .id_hash_ml_dsa_65_with_sha512 , "ML-DSA-65-WITH-SHA512" );
103+ addSignatureName (NISTObjectIdentifiers .id_hash_ml_dsa_87_with_sha512 , "ML-DSA-87-WITH-SHA512" );
104+
105+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_sha2_128s , "SLH-DSA-SHA2-128S" );
106+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_sha2_128f , "SLH-DSA-SHA2-128F" );
107+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_sha2_192s , "SLH-DSA-SHA2-192S" );
108+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_sha2_192f , "SLH-DSA-SHA2-192F" );
109+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_sha2_256s , "SLH-DSA-SHA2-256S" );
110+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_sha2_256f , "SLH-DSA-SHA2-256F" );
111+
112+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_shake_128s , "SLH-DSA-SHAKE-128S" );
113+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_shake_128f , "SLH-DSA-SHAKE-128F" );
114+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_shake_192s , "SLH-DSA-SHAKE-192S" );
115+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_shake_192f , "SLH-DSA-SHAKE-192F" );
116+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_shake_256s , "SLH-DSA-SHAKE-256S" );
117+ addSignatureName (NISTObjectIdentifiers .id_slh_dsa_shake_256f , "SLH-DSA-SHAKE-256F" );
118+
119+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_sha2_128s_with_sha256 , "SLH-DSA-SHA2-128S-WITH-SHA256" );
120+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_sha2_128f_with_sha256 , "SLH-DSA-SHA2-128F-WITH-SHA256" );
121+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_sha2_192s_with_sha512 , "SLH-DSA-SHA2-192S-WITH-SHA512" );
122+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_sha2_192f_with_sha512 , "SLH-DSA-SHA2-192F-WITH-SHA512" );
123+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_sha2_256s_with_sha512 , "SLH-DSA-SHA2-256S-WITH-SHA512" );
124+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_sha2_256f_with_sha512 , "SLH-DSA-SHA2-256F-WITH-SHA512" );
125+
126+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_shake_128s_with_shake128 , "SLH-DSA-SHAKE-128S-WITH-SHAKE128" );
127+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_shake_128f_with_shake128 , "SLH-DSA-SHAKE-128F-WITH-SHAKE128" );
128+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_shake_192s_with_shake256 , "SLH-DSA-SHAKE-192S-WITH-SHAKE256" );
129+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_shake_192f_with_shake256 , "SLH-DSA-SHAKE-192F-WITH-SHAKE256" );
130+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_shake_256s_with_shake256 , "SLH-DSA-SHAKE-256S-WITH-SHAKE256" );
131+ addSignatureName (NISTObjectIdentifiers .id_hash_slh_dsa_shake_256f_with_shake256 , "SLH-DSA-SHAKE-256F-WITH-SHAKE256" );
86132
87133 digests .put (OIWObjectIdentifiers .idSHA1 , "SHA1" );
88134 digests .put (NISTObjectIdentifiers .id_sha224 , "SHA224" );
89135 digests .put (NISTObjectIdentifiers .id_sha256 , "SHA256" );
90136 digests .put (NISTObjectIdentifiers .id_sha384 , "SHA384" );
91137 digests .put (NISTObjectIdentifiers .id_sha512 , "SHA512" );
138+ digests .put (NISTObjectIdentifiers .id_shake128 , "SHAKE128" );
139+ digests .put (NISTObjectIdentifiers .id_shake256 , "SHAKE256" );
92140 digests .put (NISTObjectIdentifiers .id_sha3_224 , "SHA3-224" );
93141 digests .put (NISTObjectIdentifiers .id_sha3_256 , "SHA3-256" );
94142 digests .put (NISTObjectIdentifiers .id_sha3_384 , "SHA3-384" );
0 commit comments