org.apache.commons.ssl
Class Java14

java.lang.Object
  extended by org.apache.commons.ssl.JavaImpl
      extended by 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
private static Java14 instance
           
 
Constructor Summary
private Java14()
           
 
Method Summary
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)
           
private static boolean returnsVoidTakesOneString(java.lang.reflect.Method m)
           
static void setHostForSNI(javax.net.ssl.SSLSocket s, java.lang.String host)
           
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

returnsVoidTakesOneString

private static boolean returnsVoidTakesOneString(java.lang.reflect.Method m)

setHostForSNI

public static void setHostForSNI(javax.net.ssl.SSLSocket s,
                                 java.lang.String host)
                          throws java.io.IOException
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