IBM / OpenJCEPlus

This project makes use of Java and C/C++. This project will create OpenJCEPlus and OpenJCEPlusFIPS cryptographic providers which are implementations of the Java™ Cryptography Extensions (JCE) APIs. The actual cryptographic code will come from the OpenCryptographyKitC project which is based on OpenSSL.
Apache License 2.0
5 stars 12 forks source link

Add PBE services to OpenJCEPlus provider #199

Open farshadasl opened 2 months ago

farshadasl commented 2 months ago

This issue tracks adding the PBE services to the OpenJCEPlus.

farshadasl commented 2 months ago
farshadasl commented 2 months ago

PBE Algorithm Parameter algorithms (aliases):

PBE

PBEWithMD2AndDES
PBEWithMD2And3DES
PBEWithMD2AndDESede
PBEWithMD2AndTripleDES
PBEWithMD5AndDES
PBEWithMD5And3DES
PBEWithMD5AndDESede
PBEWithMD5AndTripleDES
PBEWithSHA1AndDES
PBEWithSHA-1AndDES
PBEWithSHAAndDES
PBEWithSHA1AndTripleDES
PBEWithSHA-1AndTripleDES
PBEWithSHAAnd3DES
PBEWithSHA1And3DES
PBEWithSHA-1And3DES
PBEWithSHAAndDESede
PBEWithSHA1AndDESede
PBEWithSHA-1AndDESede
PBEWithSHAAndTripleDES
PBEWithSHA1And40BitRC4
PBEWithSHA1AndRC4_40
PBEWithSHA-1And40BitRC4
PBEWithSHAAnd40BitRC4
PBEWithSHA1And128BitRC4
PBEWithSHA1AndRC4_128
PBEWithSHA-1And128BitRC4
PBEWithSHAAnd128BitRC4
PBEWithSHA1And2KeyTripleDES
PBEWithSHA-1And2KeyTripleDES
PBEWithSHAAnd2Key3DES
PBEWithSHA1And2Key3DES
PBEWithSHA-1And2Key3DES
PBEWithSHAAnd2KeyDESede
PBEWithSHA1And2KeyDESede
PBEWithSHA-1And2KeyDESede
PBEWithSHAAnd2KeyTripleDES
PBEWithSHA1And3KeyTripleDES
PBEWithSHA-1And3KeyTripleDES
OID.1.2.840.113549.1.12.1.3
1.2.840.113549.1.12.1.3
PBEWithSHAAnd3Key3DES
PBEWithSHA1And3Key3DES
PBEWithSHA-1And3Key3DES
PBEWithSHAAnd3KeyDESede
PBEWithSHA1And3KeyDESede
PBEWithSHA-1And3KeyDESede
PBEWithSHAAnd3KeyTripleDES

PBES2

OID.1.2.840.113549.1.5.13
1.2.840.113549.1.5.13

PBEWithHmacSHA1And128BitAES PBEWithHmacSHA1AndAES_128

PBEWithHmacSHA224And128BitAES PBEWithHmacSHA224AndAES_128

PBEWithHmacSHA256And128BitAES PBEWithHmacSHA256AndAES_128

PBEWithHmacSHA384And128BitAES PBEWithHmacSHA384AndAES_128

PBEWithHmacSHA512And128BitAES PBEWithHmacSHA512AndAES_128

PBEWithHmacSHA1And256BitAES PBEWithHmacSHA1AndAES_256

PBEWithHmacSHA224And256BitAES PBEWithHmacSHA224AndAES_256

PBEWithHmacSHA256And256BitAES PBEWithHmacSHA256AndAES_256

PBEWithHmacSHA384And256BitAES PBEWithHmacSHA384AndAES_256

PBEWithHmacSHA512And256BitAES PBEWithHmacSHA512AndAES_256

farshadasl commented 2 months ago

PBE Cipher Algorithms and aliases:

PBEWithSHA1AndDES

PBEWithSHAAndDES
PBEWithSHA-1AndDES
OID.1.2.840.113549.1.5.10
1.2.840.113549.1.5.10

PBEWithMD2AndDES

OID.1.2.840.113549.1.5.1
1.2.840.113549.1.5.1

PBEWithMD5AndDES

OID.1.2.840.113549.1.5.3
1.2.840.113549.1.5.3

PBEWithSHA1AndDES

PBEWithSHAAndDES
PBEWithSHA-1AndDES
OID.1.2.840.113549.1.5.10
1.2.840.113549.1.5.10

PBEWithSHAAnd40BitRC4

PBEWithSHA1And40BitRC4
PBEWithSHA-1And40BitRC4
OID.1.2.840.113549.1.12.1.2
1.2.840.113549.1.12.1.2
PBEWithSHA1AndRC4_40

PBEWithSHAAnd128BitRC4

PBEWithSHA1And128BitRC4
PBEWithSHA-1And128BitRC4
OID.1.2.840.113549.1.12.1.1
1.2.840.113549.1.12.1.1
PBEWithSHA1AndRC4_128

PBEWithSHAAnd2KeyTripleDES

PBEWithSHA1And2KeyTripleDES
PBEWithSHA-1And2KeyTripleDES
PBEWithSHAAnd2Key3DES
PBEWithSHA1And2Key3DES
PBEWithSHA-1And2Key3DES
PBEWithSHAAnd2KeyDESede
PBEWithSHA1And2KeyDESede
PBEWithSHA-1And2KeyDESede
OID.1.2.840.113549.1.12.1.4
1.2.840.113549.1.12.1.4

PBEWithSHAAnd3KeyTripleDES

PBEWithSHA1And3KeyTripleDES
PBEWithSHA-1And3KeyTripleDES
PBEWithSHAAnd3Key3DES
PBEWithSHA-1And3Key3DES
PBEWithSHA1And3Key3DES
PBEWithSHAAnd3KeyDESede
PBEWithSHA1And3KeyDESede
PBEWithSHA-1And3KeyDESede
PBEWithSHA1AndDESede
OID.1.2.840.113549.1.12.1.3
1.2.840.113549.1.12.1.3

PBEWithHmacSHA1And128BitAES PBEWithHmacSHA1AndAES_128

PBEWithHmacSHA224And128BitAES PBEWithHmacSHA224AndAES_128

PBEWithHmacSHA256And128BitAES PBEWithHmacSHA256AndAES_128

PBEWithHmacSHA384And128BitAES PBEWithHmacSHA384AndAES_128

PBEWithHmacSHA512And128BitAES PBEWithHmacSHA512AndAES_128

PBEWithHmacSHA1And256BitAES PBEWithHmacSHA1AndAES_256

PBEWithHmacSHA224And256BitAES PBEWithHmacSHA224AndAES_256

PBEWithHmacSHA256And256BitAES PBEWithHmacSHA256AndAES_256

PBEWithHmacSHA384And256BitAES PBEWithHmacSHA384AndAES_256

PBEWithHmacSHA512And256BitAES PBEWithHmacSHA512AndAES_256

farshadasl commented 2 months ago

PBE Secret Key Factory algorithms (aliases)

PBEWithSHAAndDES

PBEWithSHA1AndDES
PBEWithSHA-1AndDES

PBKDF2WithHmacSHA1

PBKDF2WithHmacSHA224

PBKDF2WithHmacSHA256

PBKDF2WithHmacSHA384

PBKDF2WithHmacSHA512

PBEWithSHAAnd40BitRC4

PBEWithSHA1And40BitRC4
PBEWithSHA-1And40BitRC4
PBEWithSHA1AndRC4_40

PBEWithSHAAnd128BitRC4

PBEWithSHA1And128BitRC4
PBEWithSHA-1And128BitRC4
PBEWithSHA1AndRC4_128

PBEWithSHAAnd2KeyTripleDES

PBEWithSHAAnd2Key3DES
PBEWithSHAAnd2KeyDESede
PBEWithSHA1And2KeyTripleDES
PBEWithSHA1And2Key3DES
PBEWithSHA1And2KeyDESede
PBEWithSHA-1And2KeyTripleDES
PBEWithSHA-1And2Key3DES
PBEWithSHA-1And2KeyDESede

PBEWithSHAAnd3KeyTripleDES

PBEWithSHA1And3KeyTripleDES
PBEWithSHA-1And3KeyTripleDES
OID.1.2.840.113549.1.12.1.3
1.2.840.113549.1.12.1.3
PBEWithSHAAnd3Key3DES
PBEWithSHA1And3Key3DES
PBEWithSHA-1And3Key3DES
PBEWithSHAAnd3KeyDESede
PBEWithSHA1And3KeyDESede
PBEWithSHA-1And3KeyDESede

PBEWithMD2AndTripleDES

PBEWithMD2And3DES
PBEWithMD2AndDESede

PBEWithMD5AndTripleDES

PBEWithMD5And3DES
PBEWithMD5AndDESede

PBEWithMD2AndDES

PBEWithMD5AndDES

PBEWithSHAAndTripleDES

PBEWithSHA1AndTripleDES
PBEWithSHA-1AndTripleDES
PBEWithSHAAnd3DES
PBEWithSHA1And3DES
PBEWithSHA-1And3DES
PBEWithSHAAndDESede
PBEWithSHA1AndDESede
PBEWithSHA-1AndDESede

PBEWithSHAAnd2KeyTripleDES

PBEWithSHAAnd2Key3DES
PBEWithSHAAnd2KeyDESede
PBEWithSHA1And2KeyTripleDES
PBEWithSHA1And2Key3DES
PBEWithSHA1And2KeyDESede
PBEWithSHA-1And2KeyTripleDES
PBEWithSHA-1And2Key3DES
PBEWithSHA-1And2KeyDESede

PBEWithSHAAnd3KeyTripleDES

PBEWithSHA1And3KeyTripleDES
PBEWithSHA-1And3KeyTripleDES
OID.1.2.840.113549.1.12.1.3
1.2.840.113549.1.12.1.3
PBEWithSHAAnd3Key3DES
PBEWithSHA1And3Key3DES
PBEWithSHA-1And3Key3DES
PBEWithSHAAnd3KeyDESede
PBEWithSHA1And3KeyDESede
PBEWithSHA-1And3KeyDESede

PBEWithHmacSHA1And128BitAES PBEWithHmacSHA1AndAES_128

PBEWithHmacSHA224And128BitAES PBEWithHmacSHA224AndAES_128

PBEWithHmacSHA256And128BitAES PBEWithHmacSHA256AndAES_128

PBEWithHmacSHA384And128BitAES PBEWithHmacSHA384AndAES_128

PBEWithHmacSHA512And128BitAES PBEWithHmacSHA512AndAES_128

PBEWithHmacSHA1And256BitAES PBEWithHmacSHA1AndAES_256

PBEWithHmacSHA224And256BitAES PBEWithHmacSHA224AndAES_256

PBEWithHmacSHA256And256BitAES PBEWithHmacSHA256AndAES_256

PBEWithHmacSHA384And256BitAES PBEWithHmacSHA384AndAES_256

PBEWithHmacSHA512And256BitAES PBEWithHmacSHA512AndAES_256

PBKDF1

PBKDF2

PKCS5Key

farshadasl commented 2 months ago

FYI @jasonkatonica @johnpeck-us-ibm

jasonkatonica commented 2 months ago

The following tests can be used to exercise new support needed.

PBETests.zip

jasonkatonica commented 2 months ago

When implemented be sure to return the correct block size. Not a block size of simply 8.