We have an SSL_CTX which contains global information for lots of SSL connections. The session-id cache and the certificate verificate cache. It also contains default values for use when certificates are used. SSL_CTX default cipher list session-id cache certificate cache default session-id timeout period New session-id callback Required session-id callback session-id stats Informational callback Callback that is set, overrides the SSLeay X509 certificate verification The default Certificate/Private Key pair Default read ahead mode. Default verify mode and verify callback. These are not used if the over ride callback mentioned above is used. Each SSL can have the following defined for it before a connection is made. Certificate Private key Ciphers to use Certificate verify mode and callback IO object to use in the comunication. Some 'read-ahead' mode information. A previous session-id to re-use. A connection is made by using SSL_connect or SSL_accept. When non-blocking IO is being used, there are functions that can be used to determin where and why the SSL_connect or SSL_accept did not complete. This information can be used to recall the functions when the 'error' condition has dissapeared. After the connection has been made, information can be retrived about the SSL session and the session-id values that have been decided apon. The 'peer' certificate can be retrieved. The session-id values include 'start time' 'timeout length'