This chapter describes how WebLogic Server 12.1.3 supports the use of the RSA, JDK, and nCipher Java Cryptography Extension (JCE) providers.
This chapter includes the following sections:
Note:
This section describes using the RSA JCE provider in non-FIPS mode. You can also use the RSA JCE provider in FIPS mode as described in Chapter 37, "Enabling FIPS Mode".The RSA JCE provider is included with WebLogic Server. The RSA JCE provider is located in cryptoj.jar
, which is in the WebLogic Server classpath by default.
Using the following URL, download and install the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files that correspond to the version of your JDK. These Java policy JAR files affect cipher key sizes greater than 128 bits. http://www.oracle.com/technetwork/java/javase/downloads/index.html
Open the .ZIP distribution and update local_policy.jar
and US_export_policy.jar
in JAVA_HOME
/jre/lib/ security
. See the README.txt
file in the .ZIP distribution for more information and installation instructions.
The RSA CryptoJ documentation describes at least two ways to use the RSA's JCE Provider:
Static registration (for example, by editing java.security
).
security.provider.1=com.rsa.jsafe.provider.JsafeJCE
Dynamic registration at runtime.
// Create a Provider object Provider jceProvider = new com.rsa.jsafe.provider.JsafeJCE(); // Add the JCE Provider class to the current list of providers available on the system. Security.insertProviderAt (jceProvider, 1);
WebLogic Server supports the use of the JDK JCE provider (SunJCE
). For more information about the features in SunJCE
, see the Java™ Cryptography Architecture (JCA) Reference Guide at http://docs.oracle.com/javase/7/docs/technotes/guides/security/crypto/CryptoSpec.html
.
The JCA framework includes an ability to enforce restrictions regarding the cryptographic algorithms and maximum cryptographic strengths available to applets/applications in different jurisdiction contexts (locations). Any such restrictions are specified in "jurisdiction policy files". For more information, see the Java™ Cryptography Architecture (JCA) Reference Guide.
WebLogic Server will continue to control the strength of the cryptography used by the WebLogic Server Application Programming Interfaces (APIs). Client code without the appropriate domestic strength cryptography setting will only be able to use the Java SE export strength default cryptography. On the server, WebLogic Server will enable either export or domestic strength cryptography.
WebLogic Server also supports the use of the nCipher JCE provider, available at http://www.ncipher.com
. SSL is a key component in the protection of resources available in Web servers. However, heavy SSL traffic can cause bottlenecks that affect the performance of Web servers. JCE providers like nCipher that use a hardware card for encryption offload SSL processing from Web servers, which frees the servers to process more transactions. They also provide strong encryption and cryptographic processes to preserve the integrity and secrecy of keys.
To install the nCipher JCE provider:
Install and configure the hardware for the nCipher JCE provider according to the product's documentation.
Install the files for the nCipher JCE provider. The following files are required:
Jurisdiction policy files—The JDK installs these files by default but they are of limited export strength.
Certificate that signed the JAR file
Note:
This step may have been performed as part of installing the hardware for nCipher JCE provider. In that case, verify that the files are correctly installed.The JCE provider JAR files
Choose an installation method for the files:
Install files as an extension. Copy the files to one of the following locations:
JAVA_HOME/jre/lib/ext
For example:
ORACLE_HOME/jdk1.7.0_15/jre/lib/ext
Install files in the CLASSPATH of the server.
Edit the Java security properties file (java.security) to add the nCipher JCE provider to the list of approved JCE providers for WebLogic Server. The Java security properties file is located in:
JAVA_HOME/jre/lib/security/java.security
Specify the nCipher JCE provider as:
security.provider.n=com.ncipher.provider.km.mCipherKM
where n
specifies the preference order that determines the order in which providers are searched for requested algorithms when no specific provider is requested. The order is 1-based; 1 is the most preferred, followed by 2, and so on.
The nCipher JCE provider must follow the RSA JCA provider in the security properties file. For example:
security.provider.1=sun.security.provider.Sun security.provider.2=sun.security.rsa.SunRsaSign security.provider.3=com.ncipher.provider.km.mCipherKM
Boot WebLogic Server.
To ensure the nCipher JCE provider is working properly, enable debugging according to the nCipher product documentation.