Package org.apache.activemq.artemis.spi.core.remoting.ssl

## Interface SSLContextFactory

- All Superinterfaces:
    `java.lang.Comparable<SSLContextFactory>`

      public interface SSLContextFactory
      extends java.lang.Comparable<SSLContextFactory>

  Service interface to create a SSLContext for a configuration. This is NOT used by OpenSSL. To create and use your own implementation you need to create a file `META-INF/services/org.apache.activemq.artemis.spi.core.remoting.ssl.SSLContextFactory` in your jar and fill it with the full qualified name of your implementation.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static org.jboss.logging.Logger` | `log` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `clearSSLContexts()` |
    `default int` | `compareTo​(SSLContextFactory other)` |
    `int` | `getPriority()` | The priority for the SSLContextFactory when resolving the service to get the implementation.
    `default javax.net.ssl.SSLContext` | `getSSLContext​(java.util.Map<java.lang.String,​java.lang.Object> configuration, java.lang.String keystoreProvider, java.lang.String keystorePath, java.lang.String keystoreType, java.lang.String keystorePassword, java.lang.String truststoreProvider, java.lang.String truststorePath, java.lang.String truststoreType, java.lang.String truststorePassword, java.lang.String crlPath, java.lang.String trustManagerFactoryPlugin, boolean trustAll)` | Deprecated. use `getSSLContext(SSLContextConfig, Map)` instead
    `default javax.net.ssl.SSLContext` | `getSSLContext​(SSLContextConfig config, java.util.Map<java.lang.String,​java.lang.Object> additionalOpts)` |

- - ### Field Detail

    - #### log

          static final org.jboss.logging.Logger log

  - ### Method Detail

    - #### getSSLContext

          @Deprecated
          default javax.net.ssl.SSLContext getSSLContext​(java.util.Map<java.lang.String,​java.lang.Object> configuration,
                                                         java.lang.String keystoreProvider,
                                                         java.lang.String keystorePath,
                                                         java.lang.String keystoreType,
                                                         java.lang.String keystorePassword,
                                                         java.lang.String truststoreProvider,
                                                         java.lang.String truststorePath,
                                                         java.lang.String truststoreType,
                                                         java.lang.String truststorePassword,
                                                         java.lang.String crlPath,
                                                         java.lang.String trustManagerFactoryPlugin,
                                                         boolean trustAll)
                                                  throws java.lang.Exception

      Deprecated.
      use `getSSLContext(SSLContextConfig, Map)` instead
      Returns:
        an `SSLContext` for the given configuration.
      Throws:
        `java.lang.Exception`

    - #### getSSLContext

          default javax.net.ssl.SSLContext getSSLContext​(SSLContextConfig config,
                                                         java.util.Map<java.lang.String,​java.lang.Object> additionalOpts)
                                                  throws java.lang.Exception

      Parameters:
        `additionalOpts` - implementation specific additional options.
      Returns:
        an `SSLContext` for the given configuration.
      Throws:
        `java.lang.Exception`

    - #### clearSSLContexts

          default void clearSSLContexts()

    - #### getPriority

          int getPriority()

      The priority for the SSLContextFactory when resolving the service to get the implementation. This is used when selecting the implementation when several implementations are loaded. The highest priority implementation will be used.
      Returns:
        the priority.

    - #### compareTo

          default int compareTo​(SSLContextFactory other)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<SSLContextFactory>`