Implementing SSL with Java's Secure Socket Extension (JSSE)

Sid Rubey


 

Purpose of Project:

 


 

Outline:

  1. SSL Protocol
  2. JSSE, comprising packages
  3. Running environment - "Sid's Secure Server"

 


SSL Protocol

 

JSSE, comprising packages & classes

jaxax.net.ssl

javax.net

javax.security.cert

Interfaces

HandshakeCompletedListener

SSLSession

SSLSessionBindingListener

SSLSessionContext

HostnameVerifier

KeyManager

ManagerFactoryParameters

TrustManager

X509KeyManager

X509TrustManager

Classes

HandshakeCompletedEvent

ServerSocketFactory

Certificate

SSLServerSocket

SocketFactory

X509Certificate

SSLServerSocketFactory

SSLSessionBindingEvent

SSLSocket

SSLSocketFactory

HttpsURLConnection

KeyManagerFactory

KeyManagerFactorySpi

SSLContext

SSLContextSpi

SSLPermission

TrustManagerFactory

TrustManagerFactorySpi

Exceptions

SSLException

CertificateEncodingException

SSLHandshakeException

CertificateException

SSLKeyException

CertificateExpiredException

SSLPeerUnverifiedException

CertificateNotYetValidException

SSLProtocolException

CertificateParsingException

 

Running environment

 


Accomplishments:

  - learned about SSL, JSSE, PKC, keytool

  - implemented/modified code for SecureServer.java

  - established https: connection on home network, able to establish connection from internet with home computer's IP address

  - implement secure client/browser for mutual authentication


References:

  1. Rich Helton and Johennie Helton. Java Security Solutions. Wiley Publishing, Inc. Indianapolis, IN. 2002.
  2. Y. Daniel Liang. Introduction to Java Programming. Prentice-Hall, Inc. Upper Saddle River, NJ. 2001.
  3. Anonymous. JSSE 1.0.3 API User's Guide. Sun Microsystems. Palo Alto, CA. http://java.sun.com/products/jsse/doc/guide/API_users_guide.html.
  4. Anonymous. Introduction to Public Key Cryptography. Netscape Communications Corporation. Sunnyvale, CA. http://developer.netscape.com/docs/manuals/security/pkin/index/html.