Class ActiveMQSslConnectionFactory

All Implemented Interfaces:
jakarta.jms.ConnectionFactory, jakarta.jms.QueueConnectionFactory, jakarta.jms.TopicConnectionFactory, Externalizable, Serializable, Cloneable, Referenceable, JNDIStorableInterface, StatsCapable
Direct Known Subclasses:
ActiveMQXASslConnectionFactory

public class ActiveMQSslConnectionFactory extends ActiveMQConnectionFactory
An ActiveMQConnectionFactory that allows access to the key and trust managers used for SslConnections. There is no reason to use this class unless SSL is being used AND the key and trust managers need to be specified from within code. In fact, if the URI passed to this class does not have an "ssl" scheme, this class will pass all work on to its superclass. There are two alternative approaches you can use to provide X.509 certificates for the SSL connections: Call setTrustStore, setTrustStorePassword, setKeyStore, and setKeyStorePassword. Call setKeyAndTrustManagers.
Author:
[email protected]
See Also:
  • Field Details

    • keyManager

      protected KeyManager[] keyManager
    • trustManager

      protected TrustManager[] trustManager
    • secureRandom

      protected SecureRandom secureRandom
    • trustStoreType

      protected String trustStoreType
    • trustStore

      protected String trustStore
    • trustStorePassword

      protected String trustStorePassword
    • keyStoreType

      protected String keyStoreType
    • keyStore

      protected String keyStore
    • keyStorePassword

      protected String keyStorePassword
    • keyStoreKeyPassword

      protected String keyStoreKeyPassword
  • Constructor Details

    • ActiveMQSslConnectionFactory

      public ActiveMQSslConnectionFactory()
    • ActiveMQSslConnectionFactory

      public ActiveMQSslConnectionFactory(String brokerURL)
    • ActiveMQSslConnectionFactory

      public ActiveMQSslConnectionFactory(URI brokerURL)
  • Method Details

    • setKeyAndTrustManagers

      public void setKeyAndTrustManagers(KeyManager[] km, TrustManager[] tm, SecureRandom random)
      Sets the key and trust managers used when creating SSL connections.
      Parameters:
      km - The KeyManagers used.
      tm - The TrustManagers used.
      random - The SecureRandom number used.
    • createTransport

      protected Transport createTransport() throws jakarta.jms.JMSException
      Overriding to make special considerations for SSL connections. If we are not using SSL, the superclass's method is called. If we are using SSL, an SslConnectionFactory is used and it is given the needed key and trust managers.
      Overrides:
      createTransport in class ActiveMQConnectionFactory
      Returns:
      The newly created Transport.
      Throws:
      jakarta.jms.JMSException - If unable to create trasnport.
    • createTrustManager

      protected TrustManager[] createTrustManager() throws Exception
      Throws:
      Exception
    • createKeyManager

      protected KeyManager[] createKeyManager() throws Exception
      Throws:
      Exception
    • loadClientCredential

      protected byte[] loadClientCredential(String fileName) throws IOException
      Throws:
      IOException
    • getInputStream

      protected InputStream getInputStream(String urlOrResource) throws IOException
      Throws:
      IOException
    • getTrustStoreType

      public String getTrustStoreType()
    • setTrustStoreType

      public void setTrustStoreType(String type)
    • getTrustStore

      public String getTrustStore()
    • setTrustStore

      public void setTrustStore(String trustStore) throws Exception
      The location of a keystore file (in jks format) containing one or more trusted certificates.
      Parameters:
      trustStore - If specified with a scheme, treat as a URL, otherwise treat as a classpath resource.
      Throws:
      Exception
    • getTrustStorePassword

      public String getTrustStorePassword()
    • setTrustStorePassword

      public void setTrustStorePassword(String trustStorePassword)
      The password to match the trust store specified by setTrustStore(java.lang.String).
      Parameters:
      trustStorePassword - The password used to unlock the keystore file.
    • getKeyStoreType

      public String getKeyStoreType()
    • setKeyStoreType

      public void setKeyStoreType(String type)
    • getKeyStore

      public String getKeyStore()
    • setKeyStore

      public void setKeyStore(String keyStore) throws Exception
      The location of a keystore file (in jks format) containing a certificate and its private key.
      Parameters:
      keyStore - If specified with a scheme, treat as a URL, otherwise treat as a classpath resource.
      Throws:
      Exception
    • getKeyStorePassword

      public String getKeyStorePassword()
    • setKeyStorePassword

      public void setKeyStorePassword(String keyStorePassword)
      The password to match the key store specified by setKeyStore(java.lang.String).
      Parameters:
      keyStorePassword - The password, which is used both to unlock the keystore file and as the pass phrase for the private key stored in the keystore.
    • getKeyStoreKeyPassword

      public String getKeyStoreKeyPassword()
    • setKeyStoreKeyPassword

      public void setKeyStoreKeyPassword(String keyStoreKeyPassword)
      The password to match the key from the keyStore.
      Parameters:
      keyStoreKeyPassword - The password for the private key stored in the keyStore if different from keyStorePassword.