The Java™ Cryptography Extension (JCE) 1.2 is a standard extension to the Java 2 Software Development Kit (J2SDK), Standard Edition. The JCE implementation on System i™ is compatible with the implementation of Sun Microsystems, Inc. This documentation covers the unique aspects of the System i implementation.
In order to understand this information, you should be familiar with the general documentation for the JCE extensions. See the Sun JCE documentation for more information about JCE extensions.
The IBM® JCE Provider supports the following algorithms:
JDK version | Signature algorithms | Cipher algorithms |
---|---|---|
1.3 |
SHA1withDSA
|
Blowfish
|
1.4.2 |
SHA1withDSA
|
Blowfish
|
JDK version | Message authentication codes (MACs) | Message digests | Key agreement algorithms |
---|---|---|---|
1.3 |
HmacSHA1
|
MD2
| DiffieHellman |
1.4.2 |
HmacSHA1
|
MD2
| DiffieHellman |
In addition, IBM JCE Provider also provides a random number generator.
If you want to use IBM JCE with Java 1.3, edit the /QIBM/ProdData/OS400/Java400/jdk/lib/security/java.security file. The section of the file that needs to be changed is shown as follows.
# # To use the IBMJCE security provider, you need to: # 1) Install an IBM Cryptographic Access Provider Product # 2) Uncomment the third provider entry that follows. # # List of providers and their preference orders: # security.provider.1=sun.security.provider.Sun security.provider.2=com.sun.rsajca.Provider #security.provider.3=com.ibm.crypto.provider.IBMJCE
There is also a IBMJCEFIPS JCE provider. This provider has been validated and found to be compliant with Federal Information Processing standard (FIPS) 140-2, "Security Requirements for Cryptographic Modules."
The IBMJCEFIPS JCE provider supports the following algorithms:
Signature algorithms | Cipher algorithms | Message authentication codes | Message digests |
---|---|---|---|
SHA1withDSA
|
AES
| HmacSHA1 |
MD5
|
The IBMJCEFIPS JCE provider also supports the IBMSecureRandom algorithm for random number generation.
To use IBMJCEFIPS, you will need to add a symbolic link to your extension directory by issuing the following command:
ADDLNK OBJ('/QIBM/ProdData/OS400/Java400/ext/ibmjcefips.jar') NEWLNK(< your extension directory >)
You will also have to add the provider to the list of providers by either adding an entry in the java.security file (for example, security.provider.4=com.ibm.crypto.fips.provider.IBMJCEFIPS), or by using the Security.addProvider() method.
Related concepts
Java security model Java Secure Socket Extension Java Authentication and Authorization Service IBM Java Generic Security Service (JGSS)