IBM Support

Importing And Configuring A Certificate From Digital Certificate Manager To A Specified Keystore With ADMIN/IAS/IWS Application Servers

How To


Summary

When configuring the ADMIN1, ADMIN2, ADMIN3, ADMIN5, Integrated Application Servers (IAS), or Integrated Web Services (IWS) application servers for TLS communications, you have the option of specifying a keystore other than Digital Certificate Manager. When selecting a specific keystore to use with your application server instance, you also have the option of using a certificate from a Digital Certificate Manager certificate store instead of using the default self-signed certificate. This document discusses how to import the desired certificate from a Digital Certificate Manager certificate store and configure your application server to use it. We will also discuss how to maintain this configuration moving forward.

Environment

IBM i 7.2, 7.3, 7.4, & 7.5 OS
Required IBM i PTF levels:
 
IBM i 7.5 - included in GA
IBM i 7.4 - IBM i HTTP Group PTF level, SF99662 - 19
IBM i 7.3 - IBM i HTTP Group PTF level, SF99722 - 38
IBM i 7.2 - IBM i HTTP Group PTF level, SF99713 - 50
Digital Certificate Manager (DCM)
ADMIN1, ADMIN2, ADMIN3, and ADMIN5 Application Server Instances
Integrated Application Server v8.5 Instances
Integrated Web Services v2.6 Instances

Steps

Configure your ADMIN1, ADMIN2, ADMIN3, ADMIN5, Integrated Application Server v8.5, or Integrated Web Services v2.6 application server instance for TLS communications

Follow the steps outlined in the IBM document, How To Configure ADMIN/Integrated Application Server/Integrated Web Service Application Servers for TLS Communications Using a Specified Keystore, to complete this task. This document assumes the application server keystore has already been created and exists.

Manage the specified keystore for the application server and import the certificate from DCM

Example specified keystore paths by application server type.
ADMIN1 - /QIBM/UserData/OS/ADMININST/admin1/wlp/usr/servers/admin1/resources/security/key.jks
ADMIN2 - /QIBM/UserData/OS/ADMININST/admin2/wlp/usr/servers/admin2/resources/security/key.jks
ADMIN3 - /QIBM/UserData/OS/ADMININST/admin3/wlp/usr/servers/admin3/resources/security/key.jks
ADMIN5 - /QIBM/UserData/OS/ADMININST/admin5/wlp/usr/servers/admin5/resources/security/key.jks
IAS/IWS - /www/<server>/wlp/usr/servers/<server>/resources/security/key.jks
1) Open a web browser and go to the URL, http://<server>:2001/HTTPAdmin or https://<server>:2010/HTTPAdmin, to display the IBM Web Administration for i console web application.
If you are not prompted for a userID and password, execute the following CL command to ensure the ADMIN server is started:
STRTCPSVR *HTTP HTTPSVR(*ADMIN)
If you continue to experience issues accessing the IBM Web Administration for i console, please open a support case with IBM here or call 1-800-IBM-SERV.
2) When prompted, sign in with a user profile containing *SECADM and *ALLOBJ explicit special authorities.
3) Click on Manage -> Application Servers and select your application server from the Server drop-down box.
image-20220531153019-2
4) Click on Manage Certificates under Tools on the left-hand menu.
image-20220531152920-1
5) Specify the keystore path used to configure TLS communications for the application server.  Then, specify the password to the keystore and click the Next button to continue.
If you do not know this path, you can locate it by manually viewing the application's servers TLS configuration using the WRKLNK CL command.
ADMIN1 - /QIBM/UserData/OS/ADMININST/admin1/wlp/usr/servers/admin1/resources/security/admin-cust.xml
ADMIN2 - /QIBM/UserData/OS/ADMININST/admin2/wlp/usr/servers/admin2/resources/security/admin-cust.xml
ADMIN3 - /QIBM/UserData/OS/ADMININST/admin3/wlp/usr/servers/admin3/resources/security/admin-cust.xml
ADMIN5 - /QIBM/UserData/OS/ADMININST/admin5/wlp/usr/servers/admin5/resources/security/admin-cust.xml
IAS/IWS - /www/<server>/wlp/usr/servers/<server>/server.xml
WRKLNK '/QIBM/UserData/OS/ADMININST/admin1/wlp/usr/servers/admin1/resources/security/admin-cust.xml'
Option 5 to display the file.
Example configuration line containing the IFS path to the keystore.
<keyStore id="KeyStoreByWebAdmin" location="/qibm/userdata/os/admininst/admin1/wlp/usr/servers/admin1/resources/security/key.jks" password="password" type="JKS"/>
image-20220531154411-4
6) Click the Import button to import a certificate into the keystore.
image-20220531154509-5
7) Select "Certificate from another keystore" and then select "Use Digital Certificate Manager (DCM) SYSTEM store".  Then, enter the DCM *SYSTEM certificate store password and click the Next button.
image-20220531154650-6
8) Select the certificate aliases to be imported into the keystore you are managing.  Then, click the Next button.
image-20220707081005-2
9) Review the import certificate summary and click the Finish button to complete the certificate import.
image-20220707081153-3
10) You should now see the new certificate displayed for the keystore path being managed.
Record the certificate alias name you would like to use for the application server.
image-20220707081358-4

Configure your application server to use the newly imported certificate

NOTE:  An alternative to manually editing the application server configuration file to change the serverKeyAlias to the recently imported certificate label, you can run the "Disable TLS" configuration wizard first and then run the "Configure TLS" wizard again specifying the existing keystore path and choosing the option to "Select an existing certificate" where you would select the recently imported certificate label and complete the wizard to implement the new certificate.  Refer to the IBM Document, How To Configure ADMIN/Integrated Application Server/Integrated Web Service Application Servers for TLS Communications Using a Specified Keystore, for detailed information on executing the "Disable TLS" and "Configure TLS" configuration wizards.

1) Use WRKLNK to edit the configuration file for the application server instance to update the serverKeyAlias configuration attribute value to point to the newly imported certificate.

ADMINx application servers:
ADMIN1 - WRKLNK '/QIBM/UserData/OS/ADMININST/admin1/wlp/usr/servers/admin1/resources/security/admin-cust.xml'
ADMIN2 - WRKLNK '/QIBM/UserData/OS/ADMININST/admin2/wlp/usr/servers/admin2/resources/security/admin-cust.xml'
ADMIN3 - WRKLNK '/QIBM/UserData/OS/ADMININST/admin3/wlp/usr/servers/admin3/resources/security/admin-cust.xml'
ADMIN5 - WRKLNK '/QIBM/UserData/OS/ADMININST/admin5/wlp/usr/servers/admin5/resources/security/admin-cust.xml'
IAS/IWS - WRKLNK '/www/<server>/wlp/usr/servers/<server>/server.xml'
Execute the appropriate WRKLNK command and then enter option 2 to edit.
2) Locate the <ssl> XML element that is the closest to the bottom of the file.  If there are multiple <ssl> elements, you can edit all of them or just the last one in the file.  Then, locate the "serverKeyAlias" attribute and change the value to the new certificate alias name for the certificate you imported.
Example:
Original values:
<ssl id="SSLSettingsByWebAdmin" keyStoreRef="KeyStoreByWebAdmin" serverKeyAlias="qibm_app_server_admin1" sslProtocol="TLSv1.2" trustStoreRef="KeyStoreByWebAdmin"/>
After change to use the new certificate:
<ssl id="SSLSettingsByWebAdmin" keyStoreRef="KeyStoreByWebAdmin" serverKeyAlias="admin1_dcm_cert" sslProtocol="TLSv1.2" trustStoreRef="KeyStoreByWebAdmin"/>
3) Press F3 twice to save and exit after making the change to the serverKeyAlias value to point to the new certificate.
4) Restart your application server instance for the new certificate to take affect.
ENDTCPSVR SERVER(*IAS) INSTANCE(<appServerName>)
The 5250 session will be input inhibited until the application server ends.
STRTCPSVR SERVER(*IAS) INSTANCE(<appServerName>)
WRKACTJOB SBS(QHTTPSVR)
Wait for the application server JVM job to start and CPU utilization to go down to 0~1%.
5) The application server will now use the new certificate!

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CISAA2","label":"Digital Certificate Manager"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.2.0;7.3.0;7.4.0;7.5.0;and future releases"}]

Document Information

Modified date:
13 July 2022

UID

ibm16591067