This commit was generated by cvs2svn to track changes on a CVS vendor
[openssl.git] / doc / ssluse.doc
1 We have an SSL_CTX which contains global information for lots of
2 SSL connections.  The session-id cache and the certificate verificate cache.
3 It also contains default values for use when certificates are used.
4
5 SSL_CTX
6         default cipher list
7         session-id cache
8         certificate cache
9         default session-id timeout period
10         New session-id callback
11         Required session-id callback
12         session-id stats
13         Informational callback
14         Callback that is set, overrides the SSLeay X509 certificate
15           verification
16         The default Certificate/Private Key pair
17         Default read ahead mode.
18         Default verify mode and verify callback.  These are not used
19           if the over ride callback mentioned above is used.
20         
21 Each SSL can have the following defined for it before a connection is made.
22
23 Certificate
24 Private key
25 Ciphers to use
26 Certificate verify mode and callback
27 IO object to use in the comunication.
28 Some 'read-ahead' mode information.
29 A previous session-id to re-use.
30
31 A connection is made by using SSL_connect or SSL_accept.
32 When non-blocking IO is being used, there are functions that can be used
33 to determin where and why the SSL_connect or SSL_accept did not complete.
34 This information can be used to recall the functions when the 'error'
35 condition has dissapeared.
36
37 After the connection has been made, information can be retrived about the
38 SSL session and the session-id values that have been decided apon.
39 The 'peer' certificate can be retrieved.
40
41 The session-id values include
42 'start time'
43 'timeout length'
44
45