public class SSLContextBuilder
extends java.lang.Object
SSLContext
instances.
Please note: the default Oracle JSSE implementation of SSLContext.init(KeyManager[], TrustManager[], SecureRandom)
accepts multiple key and trust managers, however only only first matching type is ever used.
See for example:
SSLContext.html#init
TODO Specify which Oracle JSSE versions the above has been verified.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
SSLContextBuilder.KeyManagerDelegate |
(package private) static class |
SSLContextBuilder.TrustManagerDelegate |
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
keyManagerFactoryAlgorithm |
private java.util.Set<javax.net.ssl.KeyManager> |
keyManagers |
private java.lang.String |
keyStoreType |
private java.lang.String |
protocol |
private java.security.Provider |
provider |
private java.security.SecureRandom |
secureRandom |
(package private) static java.lang.String |
TLS |
private java.lang.String |
trustManagerFactoryAlgorithm |
private java.util.Set<javax.net.ssl.TrustManager> |
trustManagers |
Constructor and Description |
---|
SSLContextBuilder() |
Modifier and Type | Method and Description |
---|---|
javax.net.ssl.SSLContext |
build() |
static SSLContextBuilder |
create() |
protected void |
initSSLContext(javax.net.ssl.SSLContext sslContext,
java.util.Collection<javax.net.ssl.KeyManager> keyManagers,
java.util.Collection<javax.net.ssl.TrustManager> trustManagers,
java.security.SecureRandom secureRandom) |
SSLContextBuilder |
loadKeyMaterial(java.io.File file,
char[] storePassword,
char[] keyPassword) |
SSLContextBuilder |
loadKeyMaterial(java.io.File file,
char[] storePassword,
char[] keyPassword,
PrivateKeyStrategy aliasStrategy) |
SSLContextBuilder |
loadKeyMaterial(java.security.KeyStore keystore,
char[] keyPassword) |
SSLContextBuilder |
loadKeyMaterial(java.security.KeyStore keystore,
char[] keyPassword,
PrivateKeyStrategy aliasStrategy) |
SSLContextBuilder |
loadKeyMaterial(java.net.URL url,
char[] storePassword,
char[] keyPassword) |
SSLContextBuilder |
loadKeyMaterial(java.net.URL url,
char[] storePassword,
char[] keyPassword,
PrivateKeyStrategy aliasStrategy) |
SSLContextBuilder |
loadTrustMaterial(java.io.File file) |
SSLContextBuilder |
loadTrustMaterial(java.io.File file,
char[] storePassword) |
SSLContextBuilder |
loadTrustMaterial(java.io.File file,
char[] storePassword,
TrustStrategy trustStrategy) |
SSLContextBuilder |
loadTrustMaterial(java.security.KeyStore truststore,
TrustStrategy trustStrategy) |
SSLContextBuilder |
loadTrustMaterial(TrustStrategy trustStrategy) |
SSLContextBuilder |
loadTrustMaterial(java.net.URL url,
char[] storePassword) |
SSLContextBuilder |
loadTrustMaterial(java.net.URL url,
char[] storePassword,
TrustStrategy trustStrategy) |
SSLContextBuilder |
setKeyManagerFactoryAlgorithm(java.lang.String keyManagerFactoryAlgorithm)
Sets the key manager factory algorithm name.
|
SSLContextBuilder |
setKeyStoreType(java.lang.String keyStoreType)
Sets the key store type.
|
SSLContextBuilder |
setProtocol(java.lang.String protocol)
Sets the SSLContext protocol algorithm name.
|
SSLContextBuilder |
setProvider(java.security.Provider provider) |
SSLContextBuilder |
setProvider(java.lang.String name) |
SSLContextBuilder |
setSecureRandom(java.security.SecureRandom secureRandom) |
SSLContextBuilder |
setTrustManagerFactoryAlgorithm(java.lang.String trustManagerFactoryAlgorithm)
Sets the trust manager factory algorithm name.
|
java.lang.String |
toString() |
SSLContextBuilder |
useProtocol(java.lang.String protocol)
Deprecated.
Use
setProtocol(String) . |
static final java.lang.String TLS
private java.lang.String protocol
private final java.util.Set<javax.net.ssl.KeyManager> keyManagers
private java.lang.String keyManagerFactoryAlgorithm
private java.lang.String keyStoreType
private final java.util.Set<javax.net.ssl.TrustManager> trustManagers
private java.lang.String trustManagerFactoryAlgorithm
private java.security.SecureRandom secureRandom
private java.security.Provider provider
public static SSLContextBuilder create()
@Deprecated public SSLContextBuilder useProtocol(java.lang.String protocol)
setProtocol(String)
.protocol
- the SSLContext protocol algorithm name of the requested protocol. See
the SSLContext section in the Java
Cryptography Architecture Standard Algorithm Name
Documentation for more information.public SSLContextBuilder setProtocol(java.lang.String protocol)
protocol
- the SSLContext protocol algorithm name of the requested protocol. See
the SSLContext section in the Java
Cryptography Architecture Standard Algorithm Name
Documentation for more information.public SSLContextBuilder setSecureRandom(java.security.SecureRandom secureRandom)
public SSLContextBuilder setProvider(java.security.Provider provider)
public SSLContextBuilder setProvider(java.lang.String name)
public SSLContextBuilder setKeyStoreType(java.lang.String keyStoreType)
keyStoreType
- the SSLkey store type. See
the KeyStore section in the Java
Cryptography Architecture Standard Algorithm Name
Documentation for more information.public SSLContextBuilder setKeyManagerFactoryAlgorithm(java.lang.String keyManagerFactoryAlgorithm)
keyManagerFactoryAlgorithm
- the key manager factory algorithm name of the requested protocol. See
the KeyManagerFactory section in the Java
Cryptography Architecture Standard Algorithm Name
Documentation for more information.public SSLContextBuilder setTrustManagerFactoryAlgorithm(java.lang.String trustManagerFactoryAlgorithm)
trustManagerFactoryAlgorithm
- the trust manager algorithm name of the requested protocol. See
the TrustManagerFactory section in the Java
Cryptography Architecture Standard Algorithm Name
Documentation for more information.public SSLContextBuilder loadTrustMaterial(java.security.KeyStore truststore, TrustStrategy trustStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
public SSLContextBuilder loadTrustMaterial(TrustStrategy trustStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
public SSLContextBuilder loadTrustMaterial(java.io.File file, char[] storePassword, TrustStrategy trustStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadTrustMaterial(java.io.File file, char[] storePassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadTrustMaterial(java.io.File file) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadTrustMaterial(java.net.URL url, char[] storePassword, TrustStrategy trustStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadTrustMaterial(java.net.URL url, char[] storePassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadKeyMaterial(java.security.KeyStore keystore, char[] keyPassword, PrivateKeyStrategy aliasStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.UnrecoverableKeyException
public SSLContextBuilder loadKeyMaterial(java.security.KeyStore keystore, char[] keyPassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.UnrecoverableKeyException
public SSLContextBuilder loadKeyMaterial(java.io.File file, char[] storePassword, char[] keyPassword, PrivateKeyStrategy aliasStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.UnrecoverableKeyException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadKeyMaterial(java.io.File file, char[] storePassword, char[] keyPassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.UnrecoverableKeyException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadKeyMaterial(java.net.URL url, char[] storePassword, char[] keyPassword, PrivateKeyStrategy aliasStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.UnrecoverableKeyException
java.security.cert.CertificateException
java.io.IOException
public SSLContextBuilder loadKeyMaterial(java.net.URL url, char[] storePassword, char[] keyPassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmException
java.security.KeyStoreException
java.security.UnrecoverableKeyException
java.security.cert.CertificateException
java.io.IOException
protected void initSSLContext(javax.net.ssl.SSLContext sslContext, java.util.Collection<javax.net.ssl.KeyManager> keyManagers, java.util.Collection<javax.net.ssl.TrustManager> trustManagers, java.security.SecureRandom secureRandom) throws java.security.KeyManagementException
java.security.KeyManagementException
public javax.net.ssl.SSLContext build() throws java.security.NoSuchAlgorithmException, java.security.KeyManagementException
java.security.NoSuchAlgorithmException
java.security.KeyManagementException
public java.lang.String toString()
toString
in class java.lang.Object