Interface SslConfig

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.List<java.lang.String> alpnProtocols()
      Get the TLS ALPN protocols.
      java.util.List<java.lang.String> ciphers()
      Get the cipher suites to enable, in the order of preference.
      java.util.function.Supplier<java.io.InputStream> keyCertChainSupplier()
      Get a InputStream which provides X.509 certificate chain in PEM format associated with keySupplier().
      javax.net.ssl.KeyManagerFactory keyManagerFactory()
      Get the KeyManagerFactory to use for the SSL/TLS handshake.
      java.lang.String keyPassword()
      Get the password required to access the key material (e.g.
      java.util.function.Supplier<java.io.InputStream> keySupplier()
      Get a InputStream which provides a PKCS#8 private key in PEM format associated with keyCertChainSupplier().
      SslProvider provider()
      Get the SslProvider to use.
      long sessionCacheSize()
      Get the size of the cache used for storing SSL session objects.
      long sessionTimeout()
      Get the timeout for the cached SSL session objects, in seconds.
      java.util.List<java.lang.String> sslProtocols()
      Get the TLS protocols to enable, in the order of preference.
      java.util.function.Supplier<java.io.InputStream> trustCertChainSupplier()
      Get the trusted certificates for verifying the remote endpoint's certificate.
      javax.net.ssl.TrustManagerFactory trustManagerFactory()
      Get the TrustManagerFactory used for verifying the remote endpoint's certificate.
    • Method Detail

      • trustManagerFactory

        @Nullable
        javax.net.ssl.TrustManagerFactory trustManagerFactory()
        Get the TrustManagerFactory used for verifying the remote endpoint's certificate.
        Returns:
        the TrustManagerFactory used for verifying the remote endpoint's certificate.
      • trustCertChainSupplier

        @Nullable
        java.util.function.Supplier<java.io.InputStream> trustCertChainSupplier()
        Get the trusted certificates for verifying the remote endpoint's certificate. The input stream should contain an X.509 certificate chain in PEM format.
        Returns:
        the trusted certificates for verifying the remote endpoint's certificate. The input stream should contain an X.509 certificate chain in PEM format.

        Each invocation of the Supplier should provide an independent instance of InputStream and the caller is responsible for invoking InputStream.close().

      • keyManagerFactory

        @Nullable
        javax.net.ssl.KeyManagerFactory keyManagerFactory()
        Get the KeyManagerFactory to use for the SSL/TLS handshake.
        Returns:
        the KeyManagerFactory to use for the SSL/TLS handshake.
      • keyCertChainSupplier

        @Nullable
        java.util.function.Supplier<java.io.InputStream> keyCertChainSupplier()
        Get a InputStream which provides X.509 certificate chain in PEM format associated with keySupplier().
        Returns:
        the certificate chain associated with keySupplier().

        Each invocation of the Supplier should provide an independent instance of InputStream and the caller is responsible for invoking InputStream.close().

      • keySupplier

        @Nullable
        java.util.function.Supplier<java.io.InputStream> keySupplier()
        Get a InputStream which provides a PKCS#8 private key in PEM format associated with keyCertChainSupplier().
        Returns:
        a InputStream which provides a PKCS#8 private key in PEM format associated with keyCertChainSupplier().

        Each invocation of the Supplier should provide an independent instance of InputStream and the caller is responsible for invoking InputStream.close().

      • keyPassword

        @Nullable
        java.lang.String keyPassword()
        Get the password required to access the key material (e.g. from keySupplier()).
        Returns:
        the password required to access the key material (e.g. from keySupplier()).
      • sslProtocols

        @Nullable
        java.util.List<java.lang.String> sslProtocols()
        Get the TLS protocols to enable, in the order of preference.
        Returns:
        the TLS protocols to enable, in the order of preference.
        See Also:
        SSLEngine.setEnabledProtocols(String[])
      • alpnProtocols

        @Nullable
        java.util.List<java.lang.String> alpnProtocols()
        Get the TLS ALPN protocols.

        Note that each ALPN protocol typically requires corresponding configuration at the protocol layer and as a result maybe inferred and overridden by the protocol layer.

        Returns:
        the TLS ALPN protocols.
      • ciphers

        @Nullable
        java.util.List<java.lang.String> ciphers()
        Get the cipher suites to enable, in the order of preference.
        Returns:
        the cipher suites to enable, in the order of preference.
      • sessionCacheSize

        long sessionCacheSize()
        Get the size of the cache used for storing SSL session objects.
        Returns:
        the size of the cache used for storing SSL session objects.
        See Also:
        SSLSessionContext.setSessionCacheSize(int)
      • sessionTimeout

        long sessionTimeout()
        Get the timeout for the cached SSL session objects, in seconds.
        Returns:
        the timeout for the cached SSL session objects, in seconds.
        See Also:
        SSLSessionContext.setSessionTimeout(int)