Java Secure Socket Extension (JSSE) provides the underlying framework for the SSL/TLS implementation in Fuse Message Broker. In this framework, you configure the SSL/TLS protocol and deploy X.509 certificates using a variety of JSSE system properties.
Table 1.2 shows the JSSE system properties that can be used to configure SSL/TLS security for the SSL (Openwire over SSL), HTTPS (Openwire over HTTPS), and Stomp+SSL (Stomp over SSL) transport protocols.
Table 1.2. JSSE System Properties
| System Property Name | Description |
|---|---|
javax.net.ssl.keyStore | Location of the Java keystore file containing an application process's own
certificate and private key. On Windows, the specified pathname must use forward
slashes, /, in place of backslashes, \. |
javax.net.ssl.keyStorePassword |
Password to access the private key from the keystore file specified by
In other words, the JSSE framework requires these passwords to be identical. |
javax.net.ssl.keyStoreType | (Optional) For Java keystore file format, this property
has the value jks (or JKS). You do not normally specify
this property, because its default value is already jks. |
javax.net.ssl.trustStore |
Location of the Java keystore file containing the collection of CA
certificates trusted by this application process (trust store). On Windows, the
specified pathname must use forward slashes, If a trust store location is not specified using this property, the SunJSSE implementation searches for and uses a keystore file in the following locations (in order):
|
javax.net.ssl.trustStorePassword | Password to unlock the keystore file (store password) specified by
javax.net.ssl.trustStore. |
javax.net.ssl.trustStoreType | (Optional) For Java keystore file format, this property
has the value jks (or JKS). You do not normally specify
this property, because its default value is already jks. |
javax.net.debug | To switch on logging for the SSL/TLS layer, set this property to
ssl. |
![]() | Warning |
|---|---|
The default trust store locations (in the To be on the safe side, it is recommended that you always set the
|
On the client side and in the broker, you can set the JSSE system properties on the Java
command line using the standard syntax,
-D. For
example, to specify JSSE system properties to a client program,
Property=Valuecom.progress.Client:
java -Djavax.net.ssl.trustStore=truststores/client.ts com.progress.Client
To configure a broker to use the demonstration broker keystore and demonstration broker
trust store, you can set the SSL_OPTS environment variable as follows, on
Windows:
set SSL_OPTS=-Djavax.net.ssl.keyStore=C:/Programs/FUSE/fuse-message-broker-5.5.1-fuse-00-xx/conf/broker.ks
-Djavax.net.ssl.keyStorePassword=password
-Djavax.net.ssl.trustStore=C:/Programs/FUSE/fuse-message-broker-5.5.1-fuse-00-xx/conf/broker.ts
-Djavax.net.ssl.trustStorePassword=passwordOr on UNIX platforms (Bourne shell):
SSL_OPTS=-Djavax.net.ssl.keyStore=/local/FUSE/fuse-message-broker-5.5.1-fuse-00-xx/conf/broker.ks
-Djavax.net.ssl.keyStorePassword=password
-Djavax.net.ssl.trustStore=/local/FUSE/fuse-message-broker-5.5.1-fuse-00-xx/conf/broker.ts
-Djavax.net.ssl.trustStorePassword=password
export SSL_OPTSYou can then launch the broker using the bin/activemq[.bat|.sh]
script
![]() | Note |
|---|---|
The |
You can also set JSSE system properties using the standard Java API, as long as you set the properties before the relevant transport protocol is initialized. For example:
// Java
import java.util.Properties;
...
Properties systemProps = System.getProperties();
systemProps.put(
"javax.net.ssl.trustStore",
"C:/Programs/FUSE/fuse-message-broker-5.5.1-fuse-00-xx/conf/client.ts"
);
System.setProperties(systemProps);





![[Warning]](imagesdb/warning.gif)
![[Note]](imagesdb/note.gif)


