Updated on 2023-10-20 GMT+08:00

Installing an SSL Certificate on a WebLogic Server

WebLogic is a Java EE application server, used to develop, integrate, deploy, and manage large-scale distributed Web apps, network apps, and database apps. It applies dynamic functions of Java and security of the Java Enterprise standard to the development, integration, deployment, and management of large-scale network applications.

Currently, WebLogic 10.3.1 and later versions support SSL certificates of all mainstream brands. Versions earlier than WebLogic 10.3.1 do not support SSL certificates of brands.

This topic describes how to install an SSL certificate on a WebLogic server. When the certificate is installed, it secures communication between your server and the client through SSL.

The installation procedure in this topic is for your reference only as the commands executed and configuration file modified during the installation may vary depending on OS types and server configurations.

Prerequisites

  • The certificate is in the Issued status.
  • The JDK has been installed.

    The JDK has been installed after WebLogic installation is complete. If the JDK has not been installed, install the Java SE Development Kit (JDK).

Constraints

  • Before installing the certificate, enable port 443 on the server where the SSL certificate is installed and add port 443 to the security group. Otherwise, HTTPS cannot be enabled after the installation.
  • If a domain name maps to multiple servers, deploy the certificate on each server.
  • The domain name to be run on the target server must be the same as the one associated with the certificate. Otherwise, the web browser will display a message indicating that the domain name is insecure.

Procedure

To install an SSL certificate on a WebLogic server, perform the following steps:

Step 1: Obtaining FilesStep 2: Configuring WebLogicVerifying the Result

Step 1: Obtaining Files

Before installing a certificate, obtain the certificate file and password file. Perform the following operations based on the value selected for CSR when applying for a certificate:

  • If you select System generated CSR for CSR when applying for a certificate, perform the operations according to the instructions in System generated CSR.
  • If you select Upload a CSR for CSR when applying for a certificate, perform the operations according to the instructions in Upload a CSR.

Detailed operations are as follows:

  • System generated CSR
    1. Decompress the downloaded certificate file on your local PC.
      The downloaded file contains the Apache, IIS, Nginx, and Tomcat folders as well as the domain.csr file. Figure 1 shows an example.
      Figure 1 Decompressing an SSL certificate package on a local computer
    2. Obtain Certificate ID_Domain name bound to the certificate_server.jks and Certificate ID_Domain name bound to the certificate_keystorePass.txt from Certificate ID_Domain name bound to the certificate_Tomcat.
  • Upload a CSR
    1. Decompress the downloaded certificate package to obtain the Certificate ID_Domain name bound to the certificate_server.pem file.

      The Certificate ID_Domain name bound to the certificate_server.pem file contains two segments of certificate codes -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----, which are the server certificate and intermediate CA certificate respectively.

    2. Use OpenSSL to convert the PEM certificate into a PFX certificate and obtain the server.pfx file.
      1. Save the PEM certificate and the private key server.key generated during CSR generation to the bin directory in the OpenSSL installation directory.
      2. In the bin directory of the OpenSSL installation directory, run the following command to convert the PEM certificate into a PFX certificate and press Enter:

        openssl pkcs12 -export -out server.pfx -inkey server.key -in Certificate ID_Domain name bound to the certificate_server.pem

        Information similar to the following is displayed.

        Enter Export Password:
      3. Enter the password of the PFX certificate and press Enter.

        The password is user-defined. Set it as required.

        The following message is displayed.

        Verifying - Enter Export Password:

        Record the password of the PFX certificate. The password of the JKS certificate must be the same as that of the PFX certificate. Otherwise, the WebLogic service may fail to start.

        To improve password security, a password must:

        • Consist of 8 to 32 characters.
        • Contain at least three types of the following characters: uppercase letters, lowercase letters, digits, and special characters ~`!@#$%^&*()_+|{}:"<>?-=\[];',./
      4. Re-enter the password of the PFX certificate and press Enter.

        If no error information is displayed, the server.pfx file has been generated in the OpenSSL installation directory.

    3. Use Keytool to convert the PFX certificate into a JKS certificate and obtain the server.jks file.
      1. Copy the server.pfx file generated in 2 to the %JAVA_HOME%/jdk/bin directory.
      2. In the %JAVA_HOME%/jdk/bin directory, run the following command and press Enter:

        keytool -importkeystore -srckeystore server.pfx -destkeystore server.jks -srcstoretype PKCS12 -deststoretype JKS

        Information similar to the following is displayed.

        Enter the destination keystore password:
      3. Enter the password of the JKS certificate and press Enter.

        Set the password of the JKS certificate to the same as that of the PFX certificate. Otherwise, the WebLogic service may fail to start.

        Information similar to the following is displayed.

        Re-enter the new password:
      4. Re-enter the password of the JKS certificate and press Enter.

        Information similar to the following is displayed.

        Enter the source keystore password:
      5. Enter the password of the PFX certificate set in 2.c and press Enter.

        If information similar to the following is displayed, the conversion is successful and the server.jks file has been generated in the OpenSSL installation directory.

        Entry for alias 1 imported successfully.
        Import command completed: 1 entry successfully imported, 0 entries failed or canceled
      6. Create a keystorePass.txt file in the %JAVA_HOME%/jdk/bin directory and save the password of the JKS certificate in the file.
    4. Place the converted certificate file server.jks and the new password file keystorePass.txt in the same directory.

Step 2: Configuring WebLogic

  1. Log in to the management console of the WebLogic server.
  2. Click Lock & Edit in the upper left corner of the page to unlock the configuration.
  3. Click Servers in Domain Configurations.
    Figure 2 Server
  4. In the server list, select the server for which you want to configure the server certificate. The server configuration page is displayed.
    Figure 3 Target server
  5. Modify the HTTPS port.

    On the server configuration page, click the General tab and configure whether to enable HTTP and HTTPS and the access port number.

    Select Listen SSL Port Enabled and change the port number to 443.

    Figure 4 port
  6. Configure an authentication mode and a key.
    1. On the server configuration page, click the Keystores tab and configure an authentication mode.
      Figure 5 Authentication mode
      • Select Custom Identity and Java Standard Trust for server authentication.
      • Select Custom Identity and Custom Trust for bidirectional authentication.
    2. Configure a key in the Identity area.
      Configure the path for storing the keystore file server.jks on the server and enter the password of the keystore file.
      Figure 6 Key
      • Custom Identity Keystore: Enter the path for storing the .jks file. Example: C:\bea\server.jks
      • Custom Identity Keystore Type: Set the file format to jks.
      • Custom Identity Keystore Passphrase: Enter the certificate password, that is, the password in keystorePass.txt.
      • Confirm Custom Identity Keystore Passphrase: Re-enter the certificate password.
    3. In unidirectional authentication, configure the default trust store file cacerts of the JRE.
      The default password of cacerts is changeit.
      Figure 7 Trust store file
      • Java Standard Trust Keystore Passphrase: Enter the default password changeit.
      • Confirm Java Standard Trust Keystore Passphrase: Re-enter the default password.
  7. Configure the private key alias of the server certificate.
    On the server configuration page, click the SSL tab and set the following parameters:
    Figure 8 Private key
    • Identity and Trust Locations: Select Keystores.
    • Private Key Alias: Configure a private key alias in the private key library. You can run the keystool -list command to view the private key alias.
    • Private Key Passphrase: Enter the private key protection password. Generally, the private key protection password is the same as the keystore file protection password.
    • Confirm Private Key Passphrase: Enter the private key protection password again.
  8. Click Active Changes to save the settings.
    Figure 9 Saving the settings
  9. (Optional) If the system prompts you to restart the WebLogic server, restart the WebLogic server for the settings to take effect. As shown in Figure 10, you do not need to restart the WebLogic server.
    Figure 10 Message displayed

Verifying the Result

After the deployment succeeds, in the address bar of the browser, enter https://Domain name and press Enter.

If a security padlock is displayed in the address bar of the browser, the certificate has been installed successfully.