Quality SSL implementations will involve a variety of additional components, beyond these standard SSL APIs. These SSL extension APIs do not depend on how those functions are performed. As is true of all Java Standard Extensions, these APIs are intended to be implementable from specification by third parties. The constructors on SSL sockets are not publicly accessible, so these APIs must be used to acquire SSL sockets. SSL-specific session capabilities, including authentication.
Several connections can belong to the same session.
A handshake completion event notification facility. When they wish to create a new session, perhaps one with a different quality of protection, applications can start an SSL handshake. When that completes, they can be notified using the standard Java Beans event notification model. SSL-specific exceptions which may be thrown. It is a goal to allow implementation of this interface using native code, rather than requiring a pure Java implementation, since cryptographic security code is one of the classic areas where enabling choices of implementation is critically important.