This package provides all the classes and interfaces needed to implement and program the Secure Socket abstraction based on the SSL protocol SSSLv3.0 or TLSv1.2. All the details of the SSL handshake protocol are accounted for, and a client or a server can specify the cipher set to use. X.509 certificates are verified, and, if desired, the client and the server each have the option of verifying the entire certificate chain until the root Certificate Authority is reached. Android uses code from The Legion of the Bouncy Castle (http://www.bouncycastle.org) and OpenSSL (http://openssl.org).