A fix is available
APAR status
Closed as program error.
Error description
Error Message: The IBMJCEFIPS security provider is activated by specifying it in the configuration file "JAVADIR/jre/lib/security/java.security". The section in the file will then look like (notice the IBMJCEFIPS provider listed as the first in the list): security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS security.provider.2=com.ibm.jsse2.IBMJSSEProvider2 security.provider.3=com.ibm.crypto.provider.IBMJCE security.provider.4=com.ibm.security.jgss.IBMJGSSProvider security.provider.5=com.ibm.security.cert.IBMCertPath security.provider.6=com.ibm.security.sasl.IBMSASL security.provider.7=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.8=com.ibm.xml.enc.IBMXMLEncProvider security.provider.9=org.apache.harmony.security.provider.PolicyP rovider security.provider.10=com.ibm.security.jgss.mech.spnego.IBMSPNEGO When this is activated, some encryption algorithms such as AES, will use the IBMJCEFIPS provider and execute normally. However, the code below (provided as an illustration) does not execute well in this configuration and produces an exception: byte[] data = ...; // the data to be encrypted SecretSpecKey key = ...; Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] encrypted = cipher.doFinal(data); Stack Trace: Exception in thread "main" java.lang.StackOverflowError at sun.misc.FloatingDecimal.dtoa(FloatingDecimal.java:562) at sun.misc.FloatingDecimal.<init>(FloatingDecimal.java:489) at java.lang.Double.toString(Double.java:190) at java.lang.String.valueOf(String.java:1470) at java.security.Provider.<init>(Provider.java:105) at com.ibm.crypto.fips.provider.IBMJCEFIPS.<init>(Unknown Source) The exact stack may vary slightly, but it is always in the IBMJCEFIPS constructor.
Local fix
Problem summary
The problem is caused by the security lazy-loading, and the provider called get provider list operation in its constructor which caused the endless loop.
Problem conclusion
This defect will be fixed in: 6.0.0 SR9 FP2 . A condition has been added in the code logic in order to avoid this endless loop. . To obtain the fix: Install build 20110111 or later
Temporary fix
Comments
APAR Information
APAR number
IZ91964
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
600
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-01-10
Closed date
2011-01-11
Last modified date
2011-09-07
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
JAVA CLASS LIBS
Fixed component ID
620700130
Applicable component levels
R600 PSN
UP
[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0"}]
Document Information
Modified date:
06 October 2021