IBM Support

Java exception produced when creating an instance of an AESCipher

Troubleshooting


Problem

When the IBMJCEFIPS provider is enabled in the java.security file, an exception might be produced when creating an instance of the AESCipher. This problem affects Java 6 service refresh 2, through to Java 6 service refresh 9 inclusive.

Symptom

The following Java exception might be seen:

java.lang.NullPointerException
at com.ibm.crypto.fips.provider.SelfTest.p(Unknown Source)
at com.ibm.crypto.fips.provider.SelfTest.runSelfTest(Unknown Source)
at com.ibm.crypto.fips.provider.SelfTest.<init>(Unknown Source)
at com.ibm.crypto.fips.provider.IBMJCEFIPS.<init>(Unknown Source)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1345)
at org.apache.harmony.security.fortress.Services$1.run(Services.java:895)
at org.apache.harmony.security.fortress.Services$1.run(Services.java:892)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at org.apache.harmony.security.fortress.Services.newInstance(Services.java:892)
at org.apache.harmony.security.fortress.Services.access$600(Services.java:55)
at org.apache.harmony.security.fortress.Services$NormalServices.createProviderInstance(Services.java:316)
at org.apache.harmony.security.fortress.Services$NormalServices.createExtProviderInstance(Services.java:296)
at org.apache.harmony.security.fortress.Services$NormalServices.loadAllProviders(Services.java:225)
at org.apache.harmony.security.fortress.Services$NormalServices.access$400(Services.java:141)
at org.apache.harmony.security.fortress.Services$NormalServices$2.run(Services.java:207)
at org.apache.harmony.security.fortress.Services$NormalServices$2.run(Services.java:205)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at org.apache.harmony.security.fortress.Services$NormalServices.getProviderList(Services.java:205)
at org.apache.harmony.security.fortress.Services$NormalServices.access$1300(Services.java:141)
at org.apache.harmony.security.fortress.Services.getProvidersList(Services.java:645)
at sun.security.jca.GetInstance.getProvidersList(GetInstance.java:79)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:232)

Resolving The Problem

This problem is addressed by APAR IZ91964, which changes the way providers are initialized in the JVM.
To be able to use the IBMJCEFIPS provider in Java 6, install service refresh 9 fix pack 2 or later to ensure that the IBM JDK has an appropriate build date:

  • 20110627_04 or later for AIX platforms
  • 20110625_01 or later for Linux and Windows platforms
  • 20110608_01 or later for Solaris platforms
  • 20110721_03 or later for HP-UX platforms

[{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Security","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"6.1","Edition":"J2SE","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21504548