@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.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionpublic SSLContextBuilder loadTrustMaterial(TrustStrategy trustStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException
java.security.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionpublic 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.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic SSLContextBuilder loadTrustMaterial(java.io.File file, char[] storePassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic SSLContextBuilder loadTrustMaterial(java.io.File file) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic 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.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic SSLContextBuilder loadTrustMaterial(java.net.URL url, char[] storePassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException
java.security.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic SSLContextBuilder loadKeyMaterial(java.security.KeyStore keystore, char[] keyPassword, PrivateKeyStrategy aliasStrategy) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException
java.security.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.UnrecoverableKeyExceptionpublic SSLContextBuilder loadKeyMaterial(java.security.KeyStore keystore, char[] keyPassword) throws java.security.NoSuchAlgorithmException, java.security.KeyStoreException, java.security.UnrecoverableKeyException
java.security.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.UnrecoverableKeyExceptionpublic 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.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.UnrecoverableKeyExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic 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.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.UnrecoverableKeyExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic 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.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.UnrecoverableKeyExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionpublic 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.NoSuchAlgorithmExceptionjava.security.KeyStoreExceptionjava.security.UnrecoverableKeyExceptionjava.security.cert.CertificateExceptionjava.io.IOExceptionprotected 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.KeyManagementExceptionpublic javax.net.ssl.SSLContext build()
throws java.security.NoSuchAlgorithmException,
java.security.KeyManagementException
java.security.NoSuchAlgorithmExceptionjava.security.KeyManagementException