@@ -31,8 +31,16 @@ public final class OpenJCEPlus extends OpenJCEPlusProvider {
3131
3232    private  static  final  String  info  = "OpenJCEPlus Provider implements the following:\n " 
3333            + "Algorithm parameter                : AES, ChaCha20, ChaCha20-Poly1305, DESede, DiffieHellman, DSA, EC, XEC, GCM, CCM, OAEP, RSAPSS\n " 
34+             + "                                       PBEWithHmacSHA1AndAES_128, PBEWithHmacSHA1AndAES_256, PBEWithHmacSHA224AndAES_128, PBEWithHmacSHA224AndAES_256\n " 
35+             + "                                       PBEWithHmacSHA256AndAES_128, PBEWithHmacSHA256AndAES_256, PBEWithHmacSHA384AndAES_128, PBEWithHmacSHA384AndAES_256\n " 
36+             + "                                       PBEWithHmacSHA512AndAES_128, PBEWithHmacSHA512AndAES_256, PBEWithHmacSHA512/224AndAES_128, PBEWithHmacSHA512/224AndAES_256\n " 
37+             + "                                       PBEWithHmacSHA512/256AndAES_128, PBEWithHmacSHA512/256AndAES_256\n "                                      
3438            + "Algorithm parameter generator      :  DiffieHellman, DSA, EC, XEC, GCM, CCM\n " 
3539            + "Cipher algorithms                  : AES, ChaCha20, ChaCha20-Poly1305, DESede, RSA\n " 
40+             + "                                       PBEWithHmacSHA1AndAES_128, PBEWithHmacSHA1AndAES_256, PBEWithHmacSHA224AndAES_128, PBEWithHmacSHA224AndAES_256\n " 
41+             + "                                       PBEWithHmacSHA256AndAES_128, PBEWithHmacSHA256AndAES_256, PBEWithHmacSHA384AndAES_128, PBEWithHmacSHA384AndAES_256\n " 
42+             + "                                       PBEWithHmacSHA512AndAES_128, PBEWithHmacSHA512AndAES_256, PBEWithHmacSHA512/224AndAES_128, PBEWithHmacSHA512/224AndAES_256\n " 
43+             + "                                       PBEWithHmacSHA512/256AndAES_128, PBEWithHmacSHA512/256AndAES_256\n "             
3644            + "Key agreement algorithms           : DiffieHellman, ECDH, XDH\n " 
3745            + "Key Encapsulation Mechanisms       : ML-KEM-512, ML-KEM-768, ML-KEM-1024\n " 
3846            + "Key factory                        : DiffieHellman, DSA, EC, XEC,  RSA, RSAPSS, ML-KEM-512, ML-KEM-768, ML-KEM-1024\n " 
@@ -49,6 +57,10 @@ public final class OpenJCEPlus extends OpenJCEPlusProvider {
4957            + "Message digest                     : MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512\n " 
5058            + "Secret key factory                 : AES, ChaCha20, DESede, PBKDF2WithHmacSHA1, PBKDF2WithHmacSHA224, PBKDF2WithHmacSHA256, PBKDF2WithHmacSHA384, PBKDF2WithHmacSHA512\n " 
5159            + "                                       PBKDF2WithHmacSHA512/224, PBKDF2WithHmacSHA512/256\n " 
60+             + "                                       PBEWithHmacSHA1AndAES_128, PBEWithHmacSHA1AndAES_256, PBEWithHmacSHA224AndAES_128, PBEWithHmacSHA224AndAES_256\n " 
61+             + "                                       PBEWithHmacSHA256AndAES_128, PBEWithHmacSHA256AndAES_256, PBEWithHmacSHA384AndAES_128, PBEWithHmacSHA384AndAES_256\n " 
62+             + "                                       PBEWithHmacSHA512AndAES_128, PBEWithHmacSHA512AndAES_256, PBEWithHmacSHA512/224AndAES_128, PBEWithHmacSHA512/224AndAES_256\n " 
63+             + "                                       PBEWithHmacSHA512/256AndAES_128, PBEWithHmacSHA512/256AndAES_256\n "               
5264            + "Secure random                      : HASHDRBG, SHA256DRBG, SHA512DRBG\n " 
5365            + "Signature algorithms               : NONEwithDSA, SHA1withDSA, SHA224withDSA, SHA256withDSA,\n " 
5466            + "                                       SHA3-224withDSA, SHA3-256withDSA, SHA3-384withDSA, SHA3-512withDSA,\n " 
@@ -147,7 +159,63 @@ private void registerAlgorithms(Provider jce) {
147159        aliases  = null ;
148160        putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "OAEP" ,
149161                "com.ibm.crypto.plus.provider.OAEPParameters" , aliases ));
162+         
163+         aliases  = null ;
164+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA1AndAES_128" ,
165+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA1AndAES_128" , aliases ));
166+ 
167+         aliases  = null ;
168+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA1AndAES_256" ,
169+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA1AndAES_256" , aliases ));
170+         
171+         aliases  = null ;
172+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA224AndAES_128" ,
173+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA224AndAES_128" , aliases ));
174+ 
175+         aliases  = null ;
176+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA224AndAES_256" ,
177+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA224AndAES_256" , aliases ));
178+         
179+         aliases  = null ;
180+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA256AndAES_128" ,
181+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA256AndAES_128" , aliases ));
182+ 
183+         aliases  = null ;
184+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA256AndAES_256" ,
185+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA256AndAES_256" , aliases ));
186+         
187+         aliases  = null ;
188+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA384AndAES_128" ,
189+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA384AndAES_128" , aliases ));
190+ 
191+         aliases  = null ;
192+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA384AndAES_256" ,
193+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA384AndAES_256" , aliases ));
194+         
195+         aliases  = null ;
196+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA512AndAES_128" ,
197+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA512AndAES_128" , aliases ));
198+ 
199+         aliases  = null ;
200+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA512AndAES_256" ,
201+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA512AndAES_256" , aliases ));
202+ 
203+         aliases  = null ;
204+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA512/224AndAES_128" ,
205+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA512_224AndAES_128" , aliases ));
206+ 
207+         aliases  = null ;
208+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA512/224AndAES_256" ,
209+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA512_224AndAES_256" , aliases ));
150210
211+         aliases  = null ;
212+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA512/256AndAES_128" ,
213+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA512_256AndAES_128" , aliases ));
214+ 
215+         aliases  = null ;
216+         putService (new  OpenJCEPlusService (jce , "AlgorithmParameters" , "PBEWithHmacSHA512/256AndAES_256" ,
217+                 "com.ibm.crypto.plus.provider.PBES2Parameters$HmacSHA512_256AndAES_256" , aliases ));
218+         
151219        /*aliases = null; 
152220        putService(new OpenJCEPlusService(jce, 
153221        "AlgorithmParameters", 
@@ -262,6 +330,62 @@ private void registerAlgorithms(Provider jce) {
262330        putService (new  OpenJCEPlusService (jce , "Cipher" , "ChaCha20-Poly1305" ,
263331                "com.ibm.crypto.plus.provider.ChaCha20Poly1305Cipher" , aliases ));
264332
333+         aliases  = null ;
334+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA1AndAES_128" ,
335+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA1AndAES_128" , aliases ));
336+ 
337+         aliases  = null ;
338+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA1AndAES_256" ,
339+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA1AndAES_256" , aliases ));
340+ 
341+         aliases  = null ;
342+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA224AndAES_128" ,
343+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA224AndAES_128" , aliases ));
344+ 
345+         aliases  = null ;
346+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA224AndAES_256" ,
347+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA224AndAES_256" , aliases ));
348+ 
349+         aliases  = null ;
350+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA256AndAES_128" ,
351+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA256AndAES_128" , aliases ));
352+ 
353+         aliases  = null ;
354+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA256AndAES_256" ,
355+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA256AndAES_256" , aliases ));
356+ 
357+         aliases  = null ;
358+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA384AndAES_128" ,
359+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA384AndAES_128" , aliases ));
360+ 
361+         aliases  = null ;
362+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA384AndAES_256" ,
363+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA384AndAES_256" , aliases ));
364+ 
365+         aliases  = null ;
366+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512AndAES_128" ,
367+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512AndAES_128" , aliases ));
368+ 
369+         aliases  = null ;
370+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512AndAES_256" ,
371+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512AndAES_256" , aliases ));
372+ 
373+         aliases  = null ;
374+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512/224AndAES_128" ,
375+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512_224AndAES_128" , aliases ));
376+ 
377+         aliases  = null ;
378+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512/224AndAES_256" ,
379+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512_224AndAES_256" , aliases ));
380+ 
381+         aliases  = null ;
382+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512/256AndAES_128" ,
383+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512_256AndAES_128" , aliases ));
384+ 
385+         aliases  = null ;
386+         putService (new  OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512/256AndAES_256" ,
387+                 "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512_256AndAES_256" , aliases ));
388+ 
265389        /* ======================================================================= 
266390         * Key agreement 
267391         * ======================================================================= 
@@ -790,6 +914,62 @@ private void registerAlgorithms(Provider jce) {
790914        putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "ChaCha20" ,
791915                "com.ibm.crypto.plus.provider.ChaCha20KeyFactory" , aliases ));
792916
917+         aliases  = null ;
918+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA1AndAES_128" ,
919+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_128" , aliases ));
920+ 
921+         aliases  = null ;
922+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA1AndAES_256" ,
923+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_256" , aliases ));
924+ 
925+         aliases  = null ;
926+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA224AndAES_128" ,
927+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_128" , aliases ));
928+ 
929+         aliases  = null ;
930+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA224AndAES_256" ,
931+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_256" , aliases ));
932+ 
933+         aliases  = null ;
934+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA256AndAES_128" ,
935+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_128" , aliases ));
936+ 
937+         aliases  = null ;
938+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA256AndAES_256" ,
939+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_256" , aliases ));
940+ 
941+         aliases  = null ;
942+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA384AndAES_128" ,
943+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_128" , aliases ));
944+ 
945+         aliases  = null ;
946+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA384AndAES_256" ,
947+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_256" , aliases ));
948+ 
949+         aliases  = null ;
950+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512AndAES_128" ,
951+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_128" , aliases ));
952+ 
953+         aliases  = null ;
954+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512AndAES_256" ,
955+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_256" , aliases ));
956+ 
957+         aliases  = null ;
958+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512/224AndAES_128" ,
959+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512_224AndAES_128" , aliases ));
960+ 
961+         aliases  = null ;
962+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512/224AndAES_256" ,
963+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512_224AndAES_256" , aliases ));
964+ 
965+         aliases  = null ;
966+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512/256AndAES_128" ,
967+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512_256AndAES_128" , aliases ));
968+ 
969+         aliases  = null ;
970+         putService (new  OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512/256AndAES_256" ,
971+                 "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512_256AndAES_256" , aliases ));
972+         
793973        /* ======================================================================= 
794974         * SecureRandom 
795975         * ======================================================================= 
0 commit comments