Differences between IBM and Oracle JCE algorithms
This release contains the Oracle security implementation of JCE, instead of the IBM JCE provider implementation. Algorithms that are available in the IBM JCE provider might not be available, or might have different names, in the Oracle providers.
The following tables list the IBM JCE algorithms by type, and their Oracle equivalents (from the SunJCE provider), if available.
Type AlgorithmParameterGenerator
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
| AESGCM | Not yet available |
| EC | None |
Type AlgorithmParameters
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
| AESGCM | GCM |
| 3DES | DESede1 |
| Mars | None |
| PBEWithHmacSHA1And128BitAES | PBEWithHmacSHA1AndAES_128 |
| PBEWithHmacSHA1And256BitAES | PBEWithHmacSHA1AndAES_256 |
| PBEWithHmacSHA224And128BitAES | PBEWithHmacSHA224AndAES_128 |
| PBEWithHmacSHA224And256BitAES | PBEWithHmacSHA224AndAES_256 |
| PBEWithHmacSHA256And128BitAES | PBEWithHmacSHA256AndAES_128 |
| PBEWithHmacSHA256And256BitAES | PBEWithHmacSHA256AndAES_256 |
| PBEWithHmacSHA384And128BitAES | PBEWithHmacSHA384AndAES_128 |
| PBEWithHmacSHA384And256BitAES | PBEWithHmacSHA384AndAES_256 |
| PBEWithHmacSHA512And128BitAES | PBEWithHmacSHA512AndAES_128 |
| PBEWithHmacSHA512And256BitAES | PBEWithHmacSHA512AndAES_256 |
| PBEWithMD2AndDES | None |
| PBEWithMD2AndRC2 | None |
|
PBEWithMD2AndTripleDES
PBEWithMD2And3DES PBEWithMD2AndDESede |
None |
| PBEWithMD5AndRC2 | None |
|
PBEWithSHAAndDES
PBEWithSHA-1AndDES PBEWithSHA1AndDES |
None |
|
PBEWithSHA-1And3DES
PBEWithSHA-1AndDESede PBEWithSHA-1AndTripleDES PBEWithSHA1And3DES PBEWithSHA1AndTripleDES PBEWithSHAAnd3DES PBEWithSHAAndDESede PBEWithSHAAndTripleDES |
PBEWithSHA1AndDESede |
|
1.2.840.113549.1.12.1.3
OID.1.2.840.113549.1.12.1.3 |
PBEWithSHA1AndDESede 2 |
|
PBEWithSHAAnd3KeyTripleDES
PBEWithSHAAnd3Key3DES PBEWithSHAAnd3KeyDESede PBEWithSHA-1And3Key3DES PBEWithSHA-1And3KeyDESede PBEWithSHA-1And3KeyTripleDES PBEWithSHA1And3Key3DES PBEWithSHA1And3KeyDESede PBEWithSHA1And3KeyTripleDES |
PBEWithSHA1AndDESede |
|
PBEWithSHAAnd2KeyTripleDES
PBEWithSHAAnd2Key3DES PBEWithSHAAnd2KeyDESede PBEWithSHA-1And2Key3DES PBEWithSHA-1And2KeyDESede PBEWithSHA-1And2KeyTripleDES PBEWithSHA1And2Key3DES PBEWithSHA1And2KeyDESede PBEWithSHA1And2KeyTripleDES |
None |
|
PBEWithSHAAnd40BitRC2
PBEWithSHA-1And40BitRC2 PBEWithSHA1And40BitRC2 |
PBEWithSHA1AndRC2_40 |
|
PBEWithSHAAnd128BitRC2
PBEWithSHA-1And128BitRC2 PBEWithSHA1And128BitRC2 |
PBEWithSHA1AndRC2_128 |
|
PBEWithSHAAnd40BitRC4
PBEWithSHA-1And40BitRC4 PBEWithSHA1And40BitRC4 |
PBEWithSHA1AndRC4_40 |
|
PBEWithSHAAnd128BitRC4
PBEWithSHA-1And128BitRC4 PBEWithSHA1And128BitRC4 |
PBEWithSHA1AndRC4_128 |
|
PBM
1.2.840.113533.7.66.13 OID.1.2.840.113533.7.66.13 PasswordBasedMac |
None |
- Non-standard aliases that are available from the IBMJCE provider are not available from Oracle providers. Use a standard algorithm name instead.
- The IBMJCE provider maps these object identifiers to PBEWithSHAAnd3KeyTripleDES. The Oracle equivalent maps these object identifiers to PBEWithSHA1AndDESede.
Type Cipher
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
|
2.16.840.1.102.3.4.1.28
2.16.840.1.101.3.4.1.48 2.16.840.1.101.3.4.1.8 OID.2.16.840.1.102.3.4.1.28 OID.2.16.840.1.101.3.4.1.48 OID.2.16.840.1.101.3.4.1.8 |
AESWrap1 |
| ElGamal | None |
| Mars | None |
| PBEWithHmacSHA1And128BitAES | PBEWithHmacSHA1AndAES_128 |
| PBEWithHmacSHA1And256BitAES | PBEWithHmacSHA1AndAES_256 |
| PBEWithHmacSHA224And128BitAES | PBEWithHmacSHA224AndAES_128 |
| PBEWithHmacSHA224And256BitAES | PBEWithHmacSHA224AndAES_256 |
| PBEWithHmacSHA256And128BitAES | PBEWithHmacSHA256AndAES_128 |
| PBEWithHmacSHA256And256BitAES | PBEWithHmacSHA256AndAES_256 |
| PBEWithHmacSHA384And128BitAES | PBEWithHmacSHA384AndAES_128 |
| PBEWithHmacSHA384And256BitAES | PBEWithHmacSHA384AndAES_256 |
| PBEWithHmacSHA512And128BitAES | PBEWithHmacSHA512AndAES_128 |
| PBEWithHmacSHA512And256BitAES | PBEWithHmacSHA512AndAES_256 |
| PBEWithMD2AndDES | None |
| PBEWithMD2AndRC2 | None |
|
PBEWithMD2AndTripleDES
PBEWithMD2And3DES PBEWithMD2AndDESede |
None |
| PBEWithMD5AndRC2 | None |
|
PBEWithMD5And3DES
PBEWithMD5AndDESede |
PBEWithMD5AndTripleDES |
|
PBEWithSHA1AndDES
PBEWithSHA-1AndDES PBEWithSHAAndDES OID.1.2.840.113549.1.5.10 |
None |
|
PBEWithSHA-1And3DES
PBEWithSHA-1AndDESede PBEWithSHA-1AndTripleDES PBEWithSHA1And3DES PBEWithSHA1AndTripleDES PBEWithSHAAnd3DES PBEWithSHAAndDESede PBEWithSHAAndTripleDES |
PBEWithSHA1AndDESede |
|
1.2.840.113549.1.12.1.3
OID.1.2.840.113549.1.12.1.3 |
PBEWithSHA1AndDESede2 |
|
PBEWithSHAAnd3KeyTripleDES
PBEWithSHAAnd3Key3DES PBEWithSHAAnd3KeyDESede PBEWithSHA-1And3Key3DES PBEWithSHA-1And3KeyDESede PBEWithSHA-1And3KeyTripleDES PBEWithSHA1And3Key3DES PBEWithSHA1And3KeyDESede PBEWithSHA1And3KeyTripleDES |
PBEWithSHA1AndDESede |
|
PBEWithSHAAnd2KeyTripleDES
PBEWithSHAAnd2Key3DES PBEWithSHAAnd2KeyDESede PBEWithSHA-1And2Key3DES PBEWithSHA-1And2KeyDESede PBEWithSHA-1And2KeyTripleDES PBEWithSHA1And2Key3DES PBEWithSHA1And2KeyDESede PBEWithSHA1And2KeyTripleDES |
None |
|
PBEWithSHA1AndRC2
PBEWithSHA-1AndRC2 PBEWithSHAAndRC2 OID.1.2.840.113549.1.5.11 |
None |
|
PBEWithSHAAnd40BitRC2
PBEWithSHA-1And40BitRC2 PBEWithSHA1And40RC2 |
PBEWithSHA1AndRC2_40 |
|
PBEWithSHAAnd128BitRC2
PBEWithSHA-1And128BitRC2 PBEWithSHA1And128BitRC2 |
PBEWithSHA1AndRC2_128 |
|
PBEWithSHAAnd40BitRC4
PBEWithSHA-1And40BitRC4 PBEWithSHA1And40BitRC4 |
PBEWithSHA1AndRC4_40 |
|
PBEWithSHAAnd128BitRC4
PBEWithSHA-1And128BitRC4 PBEWithSHA1And128BitRC4 |
PBEWithSHA1AndRC4_128 |
| RSAwithNoPad | RSA/ECB/NoPadding |
| RSAforSSL RSA/SSL/PKCS1Padding | RSA/ECB/PKCS1Padding |
| Seal | None |
- The IBMJCE provider maps these object identifiers to Cipher.AESWrap. The Oracle equivalent does not have these object identifiers.
- The IBMJCE provider maps these object identifiers to PBEWithSHAAnd3KeyTripleDES. The Oracle equivalent maps these object identifiers to PBEWithSHA1AndDESede.
Type KeyFactory
| IBMJCE algorithm or alias | Equivalent Oracle algorithm | Oracle provider | Notes |
|---|---|---|---|
| DSAKeyFactory | DSA | SUN | Non-standard aliases that are available from the IBMJCE provider are not available from Oracle providers. Use a standard algorithm name instead. |
|
1.2.840.10045.2.1
OID.1.2.840.10045.2.1 |
EC | SunEC | The IBMJCE provider maps these object identifiers to EC. Oracle does not have these object identifiers. |
|
1.2.5.8.1.1 1.2.840.113549.1.1.1
OID.1.2.5.8.1.1 OID.1.2.840.113549.1.1.1 |
RSA | SunRsaSign | The IBMJCE provider maps these object identifiers to RSA. Oracle does not have these object identifiers. Both the IBMJCE provider and the Oracle equivalent have object identifiers for 1.2.840.113549.1.1 and OID.1.2.840.113549.1.1. |
Type KeyGenerator
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
|
2.16.840.1.101.3.4.1
OID.2.16.840.1.101.3.4.1 |
AES1 |
| 3DES | DESede2 |
|
HmacMD2
HMACwithMD2 |
None |
| HMACwithMD5 | HmacMD52 |
| HMACwithSHA1 | HmacSHA12 |
| HMACwithSHA224 | HmacSHA2242 |
| HMACwithSHA256 | HmacSHA2562 |
| HMACwithSHA384 | HmacSHA3842 |
| HMACwithSHA512 | HmacSHA5122 |
| Mars | None |
| Seal | None |
- IBMJCE maps these object identifiers to AES. Oracle does not have these object identifiers.
- Non-standard aliases that are available from the IBMJCE provider are not available from Oracle providers. Use a standard algorithm name instead.
Type KeyPairGenerator
| IBMJCE algorithm or alias | Equivalent Oracle algorithm | Oracle provider | Notes |
|---|---|---|---|
| OID.1.3.14.3.2.12 | 1.3.14.3.2.12 | SUN | This object identifier maps to KeyPairGenerator.DSA. Alternatively, you can use 1.2.840.10040.4.1 or DSA. |
|
1.2.840.10045.2.1
OID.1.2.840.10045.2.1 |
EC | SunEC | The IBMJCE provider maps these object identifiers to EC. Oracle does not have these object identifiers. |
|
1.2.5.8.1.1
OID.1.2.5.8.1.1 |
RSA | SunRsaSign | IBMJCE maps these object identifiers to RSA. Oracle does not have these object identifiers. Both the IBMJCE provider and the Oracle equivalent have object identifiers for 1.2.840.113549.1.1 and OID.1.2.840.113549.1.1. |
Type KeyStore
| IBMJCE algorithm or alias | Equivalent Oracle algorithm | Oracle provider | Notes |
|---|---|---|---|
| JCERACFKS | None | ||
|
PKCS12
PKCS12KS |
PKCS12 | SUN | The IBM JCE implementation of PKCS12 is the same as the Oracle implementation of PKCS12. |
| PKCS12JarSigner | None | ||
| PKCS12S2 | PKCS12 | SUN | The IBM JCE implementation of PKCS12S2 is the same as the Oracle implementation of PKCS12. |
Type Mac
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
| AUTH_HMAC_SHA_256_128 | None |
| AUTH_HMAC_SHA_512_256 | None |
|
HmacMD2
HMACwithMD2 |
None |
| HMACwithMD5 | HmacMD51 |
| HMACwithSHA1 | HmacSHA11 |
| HMACwithSHA224 | HmacSHA2241 |
| HMACwithSHA256 | HmacSHA2561 |
| HMACwithSHA384 | HmacSHA3841 |
| HMACwithSHA512 | HmacSHA5121 |
|
PBM
1.2.840.113533.7.66.13 OID.1.2.840.113533.7.66.13 PasswordBasedMac |
None |
- Non-standard aliases that are available from the IBMJCE provider are not available from Oracle providers. Use a standard algorithm name instead.
Type MessageDigest
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
| MD4 | None |
| SHA224 | SHA-2241 |
|
SHA2
SHA-2 SHA256 |
SHA-2561 |
|
SHA3
SHA-3 SHA384 |
SHA-3841 |
|
SHA5
SHA-5 SHA512 |
SHA-5121 |
- Non-standard aliases that are available from the IBMJCE provider are not available from Oracle providers. Use a standard algorithm name instead.
Type SecretKeyFactory
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
|
AES
2.16.840.1.101.3.4.1 OID.2.16.840.1.101.3.4.1 |
None |
| 3DES | DESede1 |
| Mars | None |
| PBEWithHmacSHA1And128BitAES | PBEWithHmacSHA1AndAES_128 |
| PBEWithHmacSHA1And256BitAES | PBEWithHmacSHA1AndAES_256 |
| PBEWithHmacSHA224And128BitAES | PBEWithHmacSHA224AndAES_128 |
| PBEWithHmacSHA224And256BitAES | PBEWithHmacSHA224AndAES_256 |
| PBEWithHmacSHA256And128BitAES | PBEWithHmacSHA256AndAES_128 |
| PBEWithHmacSHA256And256BitAES | PBEWithHmacSHA256AndAES_256 |
| PBEWithHmacSHA384And128BitAES | PBEWithHmacSHA384AndAES_128 |
| PBEWithHmacSHA384And256BitAES | PBEWithHmacSHA384AndAES_256 |
| PBEWithHmacSHA512And128BitAES | PBEWithHmacSHA512AndAES_128 |
| PBEWithHmacSHA512And256BitAES | PBEWithHmacSHA512AndAES_256 |
| PBEWithMD2AndDES | None |
| PBEWithMD2AndRC2 | None |
|
PBEWithMD2AndTripleDES
PBEWithMD2And3DES PBEWithMD2AndDESede |
None |
| PBEWithMD5AndRC2 | None |
|
PBEWithMD5And3DES
PBEWithMD5AndDESede |
PBEWithMD5AndTripleDES |
|
PBEWithSHAAndDES
PBEWithSHA-1AndDES PBEWithSHA1AndDES |
None |
|
PBEWithSHA-1And3DES
PBEWithSHA-1AndDESede PBEWithSHA-1AndTripleDES PBEWithSHA1And3DES PBEWithSHA1AndTripleDES PBEWithSHAAnd3DES PBEWithSHAAndDESede PBEWithSHAAndTripleDES |
PBEWithSHA1AndDESede |
|
1.2.840.113549.1.12.1.3
OID.1.2.840.113549.1.12.1.3 |
PBEWithSHA1AndDESede2 |
|
PBEWithSHAAnd3KeyTripleDES
PBEWithSHAAnd3Key3DES PBEWithSHAAnd3KeyDESede PBEWithSHA-1And3Key3DES PBEWithSHA-1And3KeyDESede PBEWithSHA-1And3KeyTripleDES PBEWithSHA1And3Key3DES PBEWithSHA1And3KeyDESede PBEWithSHA1And3KeyTripleDES |
PBEWithSHA1AndDESede |
|
PBEWithSHA1AndRC2
PBEWithSHA-1AndRC2 PBEWithSHAAndRC2 |
None |
|
PBEWithSHAAnd40BitRC2
PBEWithSHA-1And40BitRC2 PBEWithSHA1And40RC2 |
PBEWithSHA1AndRC2_40 |
|
PBEWithSHAAnd128BitRC2
PBEWithSHA-1And128BitRC2 PBEWithSHA1And128BitRC2 |
PBEWithSHA1AndRC2_128 |
|
PBEWithSHAAnd40BitRC4
PBEWithSHA-1And40BitRC4 PBEWithSHA1And40BitRC4 |
PBEWithSHA1AndRC4_40 |
|
PBEWithSHAAnd128BitRC4
PBEWithSHA-1And128BitRC4 PBEWithSHA1And128BitRC4 |
PBEWithSHA1AndRC4_128 |
| PBKDF1 | None |
| PBKDF2 | None |
| PKCS5Key | None |
| RC2 | None |
| RC4 | None |
| Seal | None |
- Non-standard aliases that are available from the IBMJCE provider are not available from Oracle providers. Use a standard algorithm name instead.
- The IBMJCE provider maps these object identifiers to PBEWithSHAAnd3KeyTripleDES. The Oracle equivalent maps these object identifiers to PBEWithSHA1AndDESede.
Type SecureRandom
| IBMJCE algorithm or alias | Equivalent Oracle algorithm |
|---|---|
| HASHDRBG | DRBG |
| IBMSecureRandom | None1 |
|
SHA256DRBG
SHA2DRBG |
None |
|
SHA512DRBG
SHA5DRBG |
None |
The IBMJCECCA provider still supports the
IBMSecureRandom algorithm. If you are using the IBMJCEHybrid provider to route requests between
security providers, and the IBMJCECCA provider is not available, the IBMJCEHyrbrid provider routes
requests for the IBMSecureRandom algorithm to the Oracle SUN provider and the SecureRandom.SHA1PRNG
algorithm.
Type Signature
| IBMJCE algorithm or alias | Equivalent Oracle algorithm | Oracle provider |
|---|---|---|
| DSAforSSL | NONEWithDSA1 | SUN |
| ECDSALforSSL | NONEWithECDSA1 | SunEC |
|
1.3.14.3.2.24
MD2/RSA OID.1.3.14.3.2.24 |
MD2withRSA1 | SunRsaSign |
|
1.3.14.3.2.25
MD5/RSA OID.1.3.14.3.2.25 |
MD2withRSA1 | SunRsaSign |
|
RSAPSS
1.2.840.113549.1.1.10 OID1.2.840.113549.1.1.10 |
None | |
| RSAforSSL | NONEWithRSA1 | Usually SunEC2 |
|
OID.1.3.14.3.2.13
OID.1.3.14.3.2.27 SHA-1withDSA |
SHA1withDSA1 | SUN |
|
SHA-1/ECDSA
SHA-1withECDSA SHA/ECDSA SHAwithECDSA |
SHA1withECDSA1 | SunEC |
|
1.3.14.3.2.26
RSA SHA/RSA SHA-1/RSA SHA1/RSA SHAwithRSA SHA-1withRSA |
SHA1withRSA1 | SunRsaSign |
|
SHA-2/DSA
SHA-256withDSA SHA-2withDSA SHA2/DSA SHA2withDSA |
SHA256withDSA1 | SUN |
|
SHA2/RSA
SHA2withRSA |
SHA256withRSA1 | SunRsaSign |
|
SHA2withECDSA
SHA2/ECDSA |
SHA256withECDSA1 | SunEC |
|
SHA3withECDSA
SHA3/ECDSA |
SHA384withECDSA1 | SunEC |
|
SHA3witRDSA
SHA3/RSA |
SHA384withRSA1 | SunRsaSign |
|
SHA5withECDSA
SHA5/ECDSA |
SHA512withECDSA1 | SunEC |
|
SHA5withRSA
SHA5/RSA |
SHA512withRSA1 | SunRsaSign |
- Non-standard aliases that are available from the IBMJCE provider are not available from Oracle providers. Use a standard algorithm name instead.
- The NONEWithRSA algorithm is unique in that you supply your own
MessageDigest object as the data to be signed. A Signature
object that does not compute a message digest is therefore required for a provider to service the
algorithm. The Oracle java.security.Signature class locates a security provider
to service the NONEWithRSA algorithm. If you specify, on your getInstance() call,
a particular provider to service the NONEWithRSA algorithm, the
java.security.Signature class returns one of the following objects:
- An instance of a NONEWithRSA signature object, if the specified provider supports that algorithm
- A special NONEWithRSA signature object, if the specified provider supports the RSA/ECB/PKCS1Padding Cipher