@NotThreadSafe 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
Modifier and Type | Class and Description |
---|---|
(package private) static class |
SSLContextBuilder.KeyManagerDelegate |
(package private) static class |
SSLContextBuilder.TrustManagerDelegate |
Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.String |
TLS |
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 |
setSecureRandom(java.security.SecureRandom secureRandom) |
SSLContextBuilder |
useProtocol(java.lang.String protocol) |
static final java.lang.String TLS
public static SSLContextBuilder create()
public SSLContextBuilder useProtocol(java.lang.String protocol)
public SSLContextBuilder setSecureRandom(java.security.SecureRandom secureRandom)
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