IBM Support

IBM WebSphere Application Server v8.5 on IBM i Fails to Start Or TLS/HTTPS Fails After Updating IBM i Java Group PTF

Flashes (Alerts)


Abstract

After installing the IBM i Java Group PTF level updating JDK 8.0 to SR8 F5 (8.0.8.5), IBM WebSphere Application Server v8.5.5.22-8.5.5.24 server instances running on the IBM i OS may either fail to start or fail to initialize TLS/HTTPS. The "java.lang.IllegalArgumentException: No cryptographic provider to support protocol TLSv1.3" exception will be written to an FFDC and/or SystemOut.log file for the server instance.

This issue does not affect IBM WebSphere Application Server v9.0 server instances on IBM i 7.5, 7.4, and 7.3 OS.

IBM i Java Group PTF levels installing Java 8.0.8.5 (SR8 FP5):

IBM i 7.4 - SF99665 level 19
IBM i 7.3 - SF99725 level 29

Content

ENVIRONMENT:
  • IBM WebSphere Application Server v8.5.5.22, 8.5.5.23, and 8.5.5.24 fix pack levels on IBM i are affected.
  • The minimum IBM JDK level is 8.0.6.25 or 8.0 SR6 FP25 to support the IBMJCEPlus security provider.
  • Issue will occur only at the IBM WebSphere Application Server v8.5.5.22 and later fix pack levels after installing the IBM JDK 8.0.8.5 or 8.0 SR8 FP5 fix level on the IBM i OS. 
    • IBM i 7.5 - IBM WebSphere Application Server v8.5 is not supported.  Supported version is v9.0, which is not affected.
    • IBM i 7.4 - SF99665 level 19
    • IBM i 7.3 - SF99725 level 29
    • IBM i Java Group PTF is bundled with other IBM i Group PTFs.  Please consult the IBM i PSP for related groups.
CAUSE:
By default, the IBMJCEPlus security provider is not enabled with IBM WebSphere Application Server v8.5 profiles on the IBM i OS.  As a result, TLSv1.3 will not initialize successfully if the IBMJCEPlus security provider has not been added to the profile_root/properties/java.security file.  Recent changes in 8.0 SR5 FP8 and 8.5.5.22 set the TLSv1.3 value in the default TLS protocol list for each profile.  If the IBMJCEPlus security provider has not been previously registered in the profile's java.security file, the "java.lang.IllegalArgumentException: No cryptographic provider to support protocol TLSv1.3" exception will occur causing the application server to fail to start or fail to initialize TLS/HTTPS.
EXCEPTION:
Caused by: java.lang.IllegalArgumentException: No cryptographic provider to support protocol TLSv1.3
        at com.ibm.jsse2.bf$l.<clinit>(bf$l.java:7)
        at java.lang.Class.forNameImpl(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at java.security.Provider$Service.getImplClass(Provider.java:1645)
        at java.security.Provider$Service.newInstance(Provider.java:1603)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:248)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:176)
        at javax.net.ssl.SSLContext.getInstance(SSLContext.java:13)
        at com.ibm.ws.ssl.config.SSLConfigManager.addTLS13(SSLConfigManager.java:3742)
        at com.ibm.ws.ssl.config.SSLConfigManager.getProtocolList(SSLConfigManager.java:3724)
        at com.ibm.ws.ssl.config.FIPSUtils.getProtocolTypes(FIPSUtils.java:328)
        at com.ibm.ws.ssl.config.SSLConfigManager.getSSLProtocolForFipsLevel(SSLConfigManager.java:3695)
        at com.ibm.ws.ssl.provider.AbstractJSSEProvider.getSSLContextInstance(AbstractJSSEProvider.java:989)
        at com.ibm.ws.ssl.provider.IBMJSSE2Provider.getSSLContextInstance(IBMJSSE2Provider.java:65)
        at com.ibm.ws.ssl.provider.AbstractJSSEProvider.generateNewSSLContext(AbstractJSSEProvider.java:218)
RESOLUTION:
IBM recommends all IBM WebSphere Application Server v8.5 on IBM i OS users follow the document, How To Enable the TLSv1.3 Protocol for a WebSphere Application Server v8.5 and v9.0 Profile on IBM i OS, to add the IBMJCEPlus JSSE security provider to the profile_root/properties/java.security file for all IBM WebSphere Application Server v8.5.5.20+ profiles.  Enabling the IBMJCEPlus security provider in your profile's properties/java.security file will resolve the "java.lang.IllegalArgumentException: No cryptographic provider to support protocol TLSv1.3" exception.
Steps to add the IBMJCEPlus security provider to your IBM WebSphere Application Server v8.5 profile to support the TLSv1.3 protocol
1) Enable the IBMJCEPlus JSSE security provider in the WebSphere Application Server profile's java.security file.
WRKLNK '/QIBM/UserData/WebSphere/AppServer/V85/<Express, Base, or ND>/profiles/<profileName>/properties/java.security'
Option 2 to edit.
Modify the list of "security.provider.x" entries as you see below.  It is required to place the IBMJCEPlus security provider in a lower numerical position or before than the IBMJCE provider in order to take advantage of all of the new security features and performance benefits the IBMJCEPlus security provider has to offer.
 
security.provider.1=com.ibm.crypto.pkcs11impl.provider.IBMPKCS11Impl
security.provider.2=com.ibm.crypto.plus.provider.IBMJCEPlus
security.provider.3=com.ibm.crypto.provider.IBMJCE
security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
security.provider.6=com.ibm.security.cert.IBMCertPath
security.provider.7=com.ibm.i5os.jsse.JSSEProvider
security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
security.provider.9=com.ibm.security.cmskeystore.CMSProvider
security.provider.10=com.ibm.security.sasl.IBMSASL
security.provider.11=com.ibm.xml.crypto.IBMXMLCryptoProvider
security.provider.12=com.ibm.xml.enc.IBMXMLEncProvider
security.provider.13=org.apache.harmony.security.provider.PolicyProvider
 
Press F3 twice to exit.
 
2) Restart the WebSphere Application Server instance.
 
STRQSH
cd /QIBM/ProdData/WebSphere/AppServer/V85/<Express, Base, or ND>/bin
stopServer -profileName <profileName>
startServer -profileName <profileName>
3) Repeat steps 1 & 2 for all IBM WebSphere Application Server v8.5 profiles running on the IBM i OS.

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000001hDaAAI","label":"WebSphere Application Server-\u003ESSL TLS"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.3.0;7.4.0"}]

Document Information

Modified date:
17 June 2024

UID

ibm17047471