org.apache.commons.ssl

## Class Java14

- java.lang.Object
- - org.apache.commons.ssl.JavaImpl
  - - org.apache.commons.ssl.Java14

    public final class Java14
    extends JavaImpl

Since:
  30-Jun-2006
Author:
  Credit Union Central of British Columbia, www.cucbc.com, juliusdavies@cucbc.com

### Field Summary

Fields
`private static Java14` `instance`

### Constructor Summary

Constructors
`private` `Java14()`

### Method Summary

Methods
`protected java.lang.Object` `buildKeyManagerFactory(java.security.KeyStore ks, char[] password)`
`protected java.net.Socket` `buildPlainSocket(SSL ssl, java.lang.String remoteHost, int remotePort, java.net.InetAddress localHost, int localPort, int timeout)`
`protected java.lang.RuntimeException` `buildRuntimeException(java.lang.Exception cause)`
`protected javax.net.ssl.SSLServerSocket` `buildServerSocket(SSL ssl)`
`protected javax.net.ssl.SSLSocket` `buildSocket(SSL ssl)`
`protected javax.net.ssl.SSLSocket` `buildSocket(SSL ssl, java.lang.String remoteHost, int remotePort, java.net.InetAddress localHost, int localPort, int timeout)`
`protected javax.net.ssl.SSLServerSocketFactory` `buildSSLServerSocketFactory(java.lang.Object ssl)`
`protected javax.net.ssl.SSLSocketFactory` `buildSSLSocketFactory(java.lang.Object ssl)`
`protected java.lang.Object` `buildTrustManagerFactory(java.security.KeyStore ks)`
`protected void` `checkTrusted(java.lang.Object trustManager, java.security.cert.X509Certificate[] chain, java.lang.String authType)`
`protected java.net.Socket` `connectSocket(java.net.Socket s, javax.net.SocketFactory sf, java.lang.String host, int remotePort, java.net.InetAddress localHost, int localPort, int timeout, SSL ssl)`
`protected void` `enabledProtocols(java.lang.Object o, java.lang.String[] enabledProtocols)`
`static Java14` `getInstance()`
`java.lang.String` `getVersion()`
`protected java.lang.Object` `initSSL(SSL ssl, TrustChain tc, KeyMaterial k)`
`protected java.lang.String` `retrieveIssuerX500(java.security.cert.X509Certificate cert)`
`protected java.lang.Object[]` `retrieveKeyManagers(java.lang.Object keyManagerFactory)`
`protected java.security.cert.Certificate[]` `retrievePeerCerts(javax.net.ssl.SSLSession sslSession)`
`protected java.lang.String` `retrieveSubjectX500(java.security.cert.X509Certificate cert)`
`protected java.lang.Object[]` `retrieveTrustManagers(java.lang.Object trustManagerFactory)`
`protected void` `wantClientAuth(java.lang.Object o, boolean wantClientAuth)`

### Methods inherited from class org.apache.commons.ssl.JavaImpl

`connect, createPlainSocket, createServerSocket, createSocket, createSocket, downgrade, getIssuerX500, getKeyManagers, getPeerCertificates, getSSLServerSocketFactory, getSSLSocketFactory, getSubjectX500, getTrustManagers, init, isJava13, load, newKeyManagerFactory, newRuntimeException, newTrustManagerFactory, setEnabledProtocols, setWantClientAuth, testTrust, uprade`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### instance

    private static Java14 instance

### Constructor Detail

#### Java14

    private Java14()

### Method Detail

#### getInstance

    public static Java14 getInstance()

#### getVersion

    public final java.lang.String getVersion()

Specified by:
  `getVersion` in class `JavaImpl`

#### retrieveSubjectX500

    protected final java.lang.String retrieveSubjectX500(java.security.cert.X509Certificate cert)

Specified by:
  `retrieveSubjectX500` in class `JavaImpl`

#### retrieveIssuerX500

    protected final java.lang.String retrieveIssuerX500(java.security.cert.X509Certificate cert)

Specified by:
  `retrieveIssuerX500` in class `JavaImpl`

#### retrievePeerCerts

    protected final java.security.cert.Certificate[] retrievePeerCerts(javax.net.ssl.SSLSession sslSession)
                                                                throws javax.net.ssl.SSLPeerUnverifiedException

Specified by:
  `retrievePeerCerts` in class `JavaImpl`
Throws:
  `javax.net.ssl.SSLPeerUnverifiedException`

#### buildKeyManagerFactory

    protected final java.lang.Object buildKeyManagerFactory(java.security.KeyStore ks,
                                          char[] password)
                                                     throws java.security.NoSuchAlgorithmException,
                                                            java.security.KeyStoreException,
                                                            java.security.UnrecoverableKeyException

Specified by:
  `buildKeyManagerFactory` in class `JavaImpl`
Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.KeyStoreException`
  `java.security.UnrecoverableKeyException`

#### buildTrustManagerFactory

    protected final java.lang.Object buildTrustManagerFactory(java.security.KeyStore ks)
                                                       throws java.security.NoSuchAlgorithmException,
                                                              java.security.KeyStoreException

Specified by:
  `buildTrustManagerFactory` in class `JavaImpl`
Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.KeyStoreException`

#### retrieveKeyManagers

    protected final java.lang.Object[] retrieveKeyManagers(java.lang.Object keyManagerFactory)

Specified by:
  `retrieveKeyManagers` in class `JavaImpl`

#### retrieveTrustManagers

    protected final java.lang.Object[] retrieveTrustManagers(java.lang.Object trustManagerFactory)

Specified by:
  `retrieveTrustManagers` in class `JavaImpl`

#### buildSSLSocketFactory

    protected final javax.net.ssl.SSLSocketFactory buildSSLSocketFactory(java.lang.Object ssl)

Specified by:
  `buildSSLSocketFactory` in class `JavaImpl`

#### buildSSLServerSocketFactory

    protected final javax.net.ssl.SSLServerSocketFactory buildSSLServerSocketFactory(java.lang.Object ssl)

Specified by:
  `buildSSLServerSocketFactory` in class `JavaImpl`

#### buildRuntimeException

    protected final java.lang.RuntimeException buildRuntimeException(java.lang.Exception cause)

Specified by:
  `buildRuntimeException` in class `JavaImpl`

#### buildSocket

    protected final javax.net.ssl.SSLSocket buildSocket(SSL ssl)
                                                 throws java.io.IOException

Specified by:
  `buildSocket` in class `JavaImpl`
Throws:
  `java.io.IOException`

#### buildSocket

    protected final javax.net.ssl.SSLSocket buildSocket(SSL ssl,
                                      java.lang.String remoteHost,
                                      int remotePort,
                                      java.net.InetAddress localHost,
                                      int localPort,
                                      int timeout)
                                                 throws java.io.IOException

Specified by:
  `buildSocket` in class `JavaImpl`
Throws:
  `java.io.IOException`

#### buildPlainSocket

    protected final java.net.Socket buildPlainSocket(SSL ssl,
                                   java.lang.String remoteHost,
                                   int remotePort,
                                   java.net.InetAddress localHost,
                                   int localPort,
                                   int timeout)
                                              throws java.io.IOException

Specified by:
  `buildPlainSocket` in class `JavaImpl`
Throws:
  `java.io.IOException`

#### connectSocket

    protected final java.net.Socket connectSocket(java.net.Socket s,
                                javax.net.SocketFactory sf,
                                java.lang.String host,
                                int remotePort,
                                java.net.InetAddress localHost,
                                int localPort,
                                int timeout,
                                SSL ssl)
                                           throws java.io.IOException

Specified by:
  `connectSocket` in class `JavaImpl`
Throws:
  `java.io.IOException`

#### buildServerSocket

    protected final javax.net.ssl.SSLServerSocket buildServerSocket(SSL ssl)
                                                             throws java.io.IOException

Specified by:
  `buildServerSocket` in class `JavaImpl`
Throws:
  `java.io.IOException`

#### wantClientAuth

    protected final void wantClientAuth(java.lang.Object o,
                      boolean wantClientAuth)

Specified by:
  `wantClientAuth` in class `JavaImpl`

#### enabledProtocols

    protected final void enabledProtocols(java.lang.Object o,
                        java.lang.String[] enabledProtocols)

Specified by:
  `enabledProtocols` in class `JavaImpl`

#### checkTrusted

    protected void checkTrusted(java.lang.Object trustManager,
                    java.security.cert.X509Certificate[] chain,
                    java.lang.String authType)
                         throws java.security.cert.CertificateException

Specified by:
  `checkTrusted` in class `JavaImpl`
Throws:
  `java.security.cert.CertificateException`

#### initSSL

    protected final java.lang.Object initSSL(SSL ssl,
                           TrustChain tc,
                           KeyMaterial k)
                                      throws java.security.NoSuchAlgorithmException,
                                             java.security.KeyStoreException,
                                             java.security.cert.CertificateException,
                                             java.security.KeyManagementException,
                                             java.io.IOException

Specified by:
  `initSSL` in class `JavaImpl`
Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.KeyStoreException`
  `java.security.cert.CertificateException`
  `java.security.KeyManagementException`
  `java.io.IOException`