Configure Keystores
TLS/SSL provides secure connections by allowing two applications connected over a network to authenticate each other's identity, and by encrypting the data exchanged between the applications.
Authentication allows a server and optionally a client to verify the identity of an application on the other end of a network connection. Encryption makes data transmitted over the network intelligible only to the intended recipient.
TLS/SSL in Oracle WebLogic Server
TLS/SSL in WebLogic Server is an implementation of the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) specifications. WebLogic Server supports TLS/SSL on a dedicated listen port which defaults to 7002. For more information about configuring SSL in an Oracle WebLogic Server environment, see Configuring SSL.
By default, WebLogic Server provides demo certificates or keystores for working in a development or a test environment. Ensure that these certificates are not used in a production environment.
Self-signed certificates are created and configured in WebLogic Server in development or test environments. For a production environment, you must procure CA-signed TLS/SSL certificate from a valid Certificate Authority (CA), such as Verisign, Let’s Encrypt, GoDaddy and so on, to create keystores from it.
To configure SSL in WebLogic Server, you need the following security files:
- Trust store: This file contains the certificates from the intermediate or root CA, or from any trusted third parties that are used in the TLS/SSL communication.
- Identity store: The identity store (or keystore) file contains the private key and the server TLS/SSL certificates. This file is stored in either JKS or PKCS12 format.
Keystore Formats
Keystore is a storage facility to store cryptographic keys and certificates. The supported keystore formats are:
- JKS - Java Key Store
- PKCS12 - Public Key Cryptography Standards
Keypass and Storepass
Keypass is a password used to protect the private key of a generated key pair. Storepass is a password used to protect the integrity of a keystore. If you don't provide a keypass, then the keypass is set to the same value as the storepass.
Identity and Trust Keystores
WebLogic Server uses private keys, digital certificates, and trusted certificates issued by certification authorities to establish and verify server identity and trust. See Identity and Trust in Understanding Security for Oracle WebLogic Server.
To create identity and trust keystores, you must use the keytool
utility. Keytool is a key and certificate management utility that is included in the JDK. For more information, refer to the following topics:
- Create Identity and Trust Keystores for Self-Signed Certificates
Use thekeytool
utility to create identity and trust keystores for self-signed certificates. - Create Identity and Trust Keystores for CA-Signed Certificate
Use thekeytool
utility to create identity and trust keystores for self-signed certificates. - Store Keystores and Passphrases in Azure Key Vault
Secure key management is essential to protect data in the cloud.
Parent topic: Common Administration Tasks
Create Identity and Trust Keystores for Self-Signed Certificates
Use the keytool
utility to create identity and trust keystores for self-signed certificates.
Parent topic: Configure Keystores
Create Identity and Trust Keystores for CA-Signed Certificate
Use the keytool
utility to create identity and trust keystores for self-signed certificates.
Parent topic: Configure Keystores
Store Keystores and Passphrases in Azure Key Vault
Secure key management is essential to protect data in the cloud.
An Azure Key Vault lets you to store the TLS/SSL certificates, confidential keys, and other secrets, such as passwords. The following example shows how to store TLS/SSL certificates and keystores in Azure KeyVault:
az keyvault secret set --vault-name mySecureKeyVault --encoding base64 --description text/plain --name identityKeyStoreData --file identity.jks
az keyvault secret set --vault-name mySecureKeyVault --name "identityKeyPassPhrase" --value "identityKeyPassword"
az keyvault secret set --vault-name mySecureKeyVault --encoding base64 --description text/plain --name trustKeyStoreData --file trust.jks
az keyvault secret set --vault-name mySecureKeyVault --name "trustKeyPassPhrase" --value "trustKeyPassword"
az keyvault secret set --vault-name mySecureKeyVault --name "privateKeyAlias" --value "servercert"
az keyvault secret set --vault-name mySecureKeyVault --name "privateKeyPassPhrase" --value "myPrivateKey"
For more information about managing the Azure Key Vault secrets, see Microsoft documentation on Azure Key Vault Secrets.
Parent topic: Configure Keystores