@@ -32,8 +32,14 @@ public final class OpenJCEPlus extends OpenJCEPlusProvider {
3232
3333 private static final String info = "OpenJCEPlus Provider implements the following:\n "
3434 + "Algorithm parameter : AES, ChaCha20, ChaCha20-Poly1305, DESede, DiffieHellman, DSA, EC, XEC, GCM, CCM, OAEP, RSAPSS\n "
35+ + " PBEWithHmacSHA1AndAES_128, PBEWithHmacSHA1AndAES_256, PBEWithHmacSHA224AndAES_128, PBEWithHmacSHA224AndAES_256\n "
36+ + " PBEWithHmacSHA256AndAES_128, PBEWithHmacSHA256AndAES_256, PBEWithHmacSHA384AndAES_128, PBEWithHmacSHA384AndAES_256\n "
37+ + " PBEWithHmacSHA512AndAES_128, PBEWithHmacSHA512AndAES_256\n "
3538 + "Algorithm parameter generator : DiffieHellman, DSA, EC, XEC, GCM, CCM\n "
3639 + "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\n "
3743 + "Key agreement algorithms : DiffieHellman, ECDH, XDH\n "
3844 + "Key factory : DiffieHellman, DSA, EC, XEC, RSA, RSAPSS\n "
3945 + "Key generator : AES, ChaCha20, DESede, HmacMD5, HmacSHA1, HmacSHA224,\n "
@@ -48,6 +54,9 @@ public final class OpenJCEPlus extends OpenJCEPlusProvider {
4854 + "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 "
4955 + "Secret key factory : AES, ChaCha20, DESede, PBKDF2WithHmacSHA1, PBKDF2WithHmacSHA224, PBKDF2WithHmacSHA256, PBKDF2WithHmacSHA384, PBKDF2WithHmacSHA512\n "
5056 + " PBKDF2WithHmacSHA512/224, PBKDF2WithHmacSHA512/256\n "
57+ + " PBEWithHmacSHA1AndAES_128, PBEWithHmacSHA1AndAES_256, PBEWithHmacSHA224AndAES_128, PBEWithHmacSHA224AndAES_256\n "
58+ + " PBEWithHmacSHA256AndAES_128, PBEWithHmacSHA256AndAES_256, PBEWithHmacSHA384AndAES_128, PBEWithHmacSHA384AndAES_256\n "
59+ + " PBEWithHmacSHA512AndAES_128, PBEWithHmacSHA512AndAES_256\n "
5160 + "Secure random : HASHDRBG, SHA256DRBG, SHA512DRBG\n "
5261 + "Signature algorithms : NONEwithDSA, SHA1withDSA, SHA224withDSA, SHA256withDSA,\n "
5362 + " SHA3-224withDSA, SHA3-256withDSA, SHA3-384withDSA, SHA3-512withDSA,\n "
@@ -150,7 +159,47 @@ private void registerAlgorithms(Provider jce) {
150159 aliases = null ;
151160 putService (new OpenJCEPlusService (jce , "AlgorithmParameters" , "OAEP" ,
152161 "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 ));
153190
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+
154203 /*aliases = null;
155204 putService(new OpenJCEPlusService(jce,
156205 "AlgorithmParameters",
@@ -265,6 +314,47 @@ private void registerAlgorithms(Provider jce) {
265314 putService (new OpenJCEPlusService (jce , "Cipher" , "ChaCha20-Poly1305" ,
266315 "com.ibm.crypto.plus.provider.ChaCha20Poly1305Cipher" , aliases ));
267316
317+ aliases = null ;
318+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA1AndAES_128" ,
319+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA1AndAES_128" , aliases ));
320+
321+ aliases = null ;
322+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA1AndAES_256" ,
323+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA1AndAES_256" , aliases ));
324+
325+ aliases = null ;
326+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA224AndAES_128" ,
327+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA224AndAES_128" , aliases ));
328+
329+ aliases = null ;
330+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA224AndAES_256" ,
331+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA224AndAES_256" , aliases ));
332+
333+ aliases = null ;
334+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA256AndAES_128" ,
335+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA256AndAES_128" , aliases ));
336+
337+ aliases = null ;
338+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA256AndAES_256" ,
339+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA256AndAES_256" , aliases ));
340+
341+ aliases = null ;
342+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA384AndAES_128" ,
343+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA384AndAES_128" , aliases ));
344+
345+ aliases = null ;
346+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA384AndAES_256" ,
347+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA384AndAES_256" , aliases ));
348+
349+ aliases = null ;
350+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512AndAES_128" ,
351+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512AndAES_128" , aliases ));
352+
353+ aliases = null ;
354+ putService (new OpenJCEPlusService (jce , "Cipher" , "PBEWithHmacSHA512AndAES_256" ,
355+ "com.ibm.crypto.plus.provider.PBES2Core$HmacSHA512AndAES_256" , aliases ));
356+
357+
268358 /* =======================================================================
269359 * Key agreement
270360 * =======================================================================
@@ -670,6 +760,47 @@ private void registerAlgorithms(Provider jce) {
670760 putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "ChaCha20" ,
671761 "com.ibm.crypto.plus.provider.ChaCha20KeyFactory" , aliases ));
672762
763+ aliases = null ;
764+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA1AndAES_128" ,
765+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_128" , aliases ));
766+
767+ aliases = null ;
768+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA1AndAES_256" ,
769+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA1AndAES_256" , aliases ));
770+
771+ aliases = null ;
772+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA224AndAES_128" ,
773+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_128" , aliases ));
774+
775+ aliases = null ;
776+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA224AndAES_256" ,
777+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA224AndAES_256" , aliases ));
778+
779+ aliases = null ;
780+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA256AndAES_128" ,
781+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_128" , aliases ));
782+
783+ aliases = null ;
784+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA256AndAES_256" ,
785+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA256AndAES_256" , aliases ));
786+
787+ aliases = null ;
788+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA384AndAES_128" ,
789+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_128" , aliases ));
790+
791+ aliases = null ;
792+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA384AndAES_256" ,
793+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA384AndAES_256" , aliases ));
794+
795+ aliases = null ;
796+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512AndAES_128" ,
797+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_128" , aliases ));
798+
799+ aliases = null ;
800+ putService (new OpenJCEPlusService (jce , "SecretKeyFactory" , "PBEWithHmacSHA512AndAES_256" ,
801+ "com.ibm.crypto.plus.provider.PBEKeyFactory$PBEWithHmacSHA512AndAES_256" , aliases ));
802+
803+
673804 /* =======================================================================
674805 * SecureRandom
675806 * =======================================================================
0 commit comments