WSO2 products use asymmetric encryption by default for the purposes of authentication and data encryption. In asymmetric encryption, keystores (with key pairs and certificates) are created and stored for the product. It is possible to have multiple keystores so that the keys used for different use cases are kept unique. For more information about creating and configuring keystores, see Using Asymmetric Encryption.
After you have created a new keystore and updated the
client-truststore.jks file, you must update a few configuration files in order to make the keystore work.
For instructions on the default carbon keystore configurations, see Configuring Keystores in WSO2 Products in the WSO2 Product Administration Guide.
The following common configurations should be completed before you begin the configurations given in this page.
Make sure you do the configurations below to configure a keystore in WSO2 API Manager.
Configuring keystores for AMQP and MQTT transports
To configure AMQP and MQTT transports, open the
<API-M_HOME>/repository/conf/broker.xml file. The values for the
password parameters under
trustStore must be updated. The code below shows the default values.
Configuring keystores for Jaggery Apps SSO configuration
<API-M_HOME>/repository/deployment/server/jaggeryapps/publisher/site/conf/site.json file. Update the values for
keyStorePassword as shown below.
Configuring keystores for security
identity.xml file and update the values for
Password under the
KeyStore section. The default configurations are shown below.
Configuring keystores for endpoints
EndpointConfig.properties file and update
client.trustStore with the location of the keystore and truststore respectively. The default configurations are shown below.
Configuring keystores for advanced transport handling
To have more advanced transport handling functions using keystores, you must update the
<APIM_HOME>/repository/conf/tomcat/catalina-server.xml file and the
Configuring keystores for Analytics
<API-M_HOME>/repository/conf/data-bridge/data-bridge-config.xml file and update keyStoreLocation and keyStorePassword with the location of the keystore and its password respectively. The default configurations are shown below.
The <API-M_HOME>/repository/conf/data-bridge/data-agent-config.xml file is used by the publishing client. Therefore, a trustore with the public cert of the server is required here. The
<API-M_HOME>/repository/conf/data-bridge/data-bridge-config.xml file is used by the listening server. This needs to include a keystore with the public and private certs to support SSL.