Package io.servicetalk.transport.api
Interface SslConfig
-
- All Known Subinterfaces:
ClientSslConfig,ServerSslConfig
public interface SslConfigSpecifies the configuration for TLS/SSL.
-
-
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 aInputStreamwhich providesX.509certificate chain inPEMformat associated withkeySupplier().javax.net.ssl.KeyManagerFactorykeyManagerFactory()Get theKeyManagerFactoryto use for the SSL/TLS handshake.java.lang.StringkeyPassword()Get the password required to access the key material (e.g.java.util.function.Supplier<java.io.InputStream>keySupplier()Get aInputStreamwhich provides aPKCS#8private key inPEMformat associated withkeyCertChainSupplier().SslProviderprovider()Get theSslProviderto use.longsessionCacheSize()Get the size of the cache used for storing SSL session objects.longsessionTimeout()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.TrustManagerFactorytrustManagerFactory()Get theTrustManagerFactoryused for verifying the remote endpoint's certificate.
-
-
-
Method Detail
-
trustManagerFactory
@Nullable javax.net.ssl.TrustManagerFactory trustManagerFactory()
Get theTrustManagerFactoryused for verifying the remote endpoint's certificate.- Returns:
- the
TrustManagerFactoryused 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 anX.509certificate chain inPEMformat.- Returns:
- the trusted certificates for verifying the remote endpoint's certificate. The input stream should
contain an
X.509certificate chain inPEMformat.Each invocation of the
Suppliershould provide an independent instance ofInputStreamand the caller is responsible for invokingInputStream.close().
-
keyManagerFactory
@Nullable javax.net.ssl.KeyManagerFactory keyManagerFactory()
Get theKeyManagerFactoryto use for the SSL/TLS handshake.- Returns:
- the
KeyManagerFactoryto use for the SSL/TLS handshake.
-
keyCertChainSupplier
@Nullable java.util.function.Supplier<java.io.InputStream> keyCertChainSupplier()
Get aInputStreamwhich providesX.509certificate chain inPEMformat associated withkeySupplier().- Returns:
- the certificate chain associated with
keySupplier().Each invocation of the
Suppliershould provide an independent instance ofInputStreamand the caller is responsible for invokingInputStream.close().
-
keySupplier
@Nullable java.util.function.Supplier<java.io.InputStream> keySupplier()
Get aInputStreamwhich provides aPKCS#8private key inPEMformat associated withkeyCertChainSupplier().- Returns:
- a
InputStreamwhich provides aPKCS#8private key inPEMformat associated withkeyCertChainSupplier().Each invocation of the
Suppliershould provide an independent instance ofInputStreamand the caller is responsible for invokingInputStream.close().
-
keyPassword
@Nullable java.lang.String keyPassword()
Get the password required to access the key material (e.g. fromkeySupplier()).- 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)
-
provider
@Nullable SslProvider provider()
Get theSslProviderto use.- Returns:
- the
SslProviderto use.
-
-