1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7 <style type="text/css"><!-- 8 span.static_style 9 { 10 font-size : 8pt; 11 color : white; 12 font-weight : bold; 13 background : #44f; 14 border-left : solid 1px #aaf; 15 border-top : solid 1px #aaf; 16 border-right : solid 1px #00c; 17 border-bottom : solid 1px #00c; 18 padding-left : 2px; 19 padding-right : 2px; 20 } 21 span.virtual_style 22 { 23 font-size : 8pt; 24 color : white; 25 font-weight : bold; 26 background : #0a0; 27 border-left : solid 1px #0f0; 28 border-top : solid 1px #0f0; 29 border-right : solid 1px #060; 30 border-bottom : solid 1px #060; 31 padding-left : 2px; 32 padding-right : 2px; 33 } 34 span.protected_style 35 { 36 font-size : 8pt; 37 color : white; 38 font-weight : bold; 39 background : #444; 40 border-left : solid 1px #ccc; 41 border-top : solid 1px #ccc; 42 border-right : solid 1px #222; 43 border-bottom : solid 1px #222; 44 padding-left : 2px; 45 padding-right : 2px; 46 } 47 --></style> 48<title>nn::ssl::Connection</title> 49 </head> 50 <body> 51<h1><CODE>nn::ssl::Connection</CODE> Class</h1> 52<h2>Syntax</h2> 53 <div class="section"> 54 <pre class="definition">class Connection : private ADLFireWall::NonCopyable<Connection></pre> 55 </div> 56<h2>Description</h2> 57 <div class="section"> 58<p>Class that represents SSL communication. One instance of this class handles SSL communication for one socket.</p><!-- write here --></div> 59 <a name="function" id="function"> 60<h2>Member Functions</h2> 61 <div class="section"> 62 <table class="members"> 63 <tr> 64<th class="category" colspan="3">Initialization/Finalization</th> 65 </tr> 66 <tr> 67 <td width="100"> </td> 68 <th> 69<a href="../../../nn/ssl/Connection/Connection.html"><CODE>Connection</CODE></a> 70 </th> 71<td>Constructor. Sets a socket to use for SSL communication.</td> 72 </tr> 73 <tr> 74<td width="100"> <span class="virtual_style" title="virtual">V</span> 75 </td> 76 <th> 77<a href="../../../nn/ssl/Connection/~Connection.html"><CODE>~Connection</CODE></a> 78 </th> 79<td>Destructor.</td> 80 </tr> 81 <tr> 82 <td width="100"> </td> 83 <th> 84<a href="../../../nn/ssl/Connection/AssignSocket.html"><CODE>AssignSocket</CODE></a> 85 </th> 86<td>Sets a socket to use for SSL communication. Cannot set the socket if one is already set for this <CODE>Connection</CODE> object.</td> 87 </tr> 88 <tr> 89 <td width="100"> </td> 90 <th> 91<a href="../../../nn/ssl/Connection/SetServerCertBuffer.html"><CODE>SetServerCertBuffer</CODE></a> 92 </th> 93<td>Configures the buffer used to get the server certificate. Use this after invoking the <a href="../../../nn/ssl/Connection/Initialize.html"><CODE>Initialize</CODE></a> function. This function handles everything up to and including the buffer configuration. The server certificate will actually be written to the buffer when the <CODE>DoHandshake</CODE> function is called.</td> 94 </tr> 95 <tr> 96 <td width="100"> </td> 97 <th> 98<a href="../../../nn/ssl/Connection/Initialize.html"><CODE>Initialize</CODE></a> 99 </th> 100<td>Initializes the connection. <BR><B>Note:</B> This function only configures communication settings; it does not connect on the network level. Network communication begins when the <a href="../../../nn/ssl/Connection/DoHandshake.html"><CODE>DoHandshake</CODE></a> function is called.</td> 101 </tr> 102 <tr> 103 <td width="100"> </td> 104 <th> 105<a href="../../../nn/ssl/Connection/AssignServer.html"><CODE>AssignServer</CODE></a> 106 </th> 107<td>Alternate name for the <a href="../../../nn/ssl/Connection/Initialize.html"><CODE>Initialize</CODE></a> function. This is left for compatibility. Use the <a href="../../../nn/ssl/Connection/Initialize.html"><CODE>Initialize</CODE></a> function instead from now on.</td> 108 </tr> 109 <tr> 110 <td width="100"> </td> 111 <th> 112<a href="../../../nn/ssl/Connection/Shutdown.html"><CODE>Shutdown</CODE></a> 113 </th> 114<td>Finalizes communication. Any sockets set for the connection will be freed when the connection is finalized.</td> 115 </tr> 116 <tr> 117<th class="category" colspan="3">SSL Handshakes</th> 118 </tr> 119 <tr> 120 <td width="100"> </td> 121 <th> 122<a href="../../../nn/ssl/Connection/DoHandshake.html"><CODE>DoHandshake</CODE></a> 123 </th> 124<td>Performs an SSL handshake.</td> 125 </tr> 126 <tr> 127<th class="category" colspan="3">Sending and Receiving Data</th> 128 </tr> 129 <tr> 130 <td width="100"> </td> 131 <th> 132<a href="../../../nn/ssl/Connection/Read.html"><CODE>Read</CODE></a> 133 </th> 134<td>Loads data over an SSL connection.</td> 135 </tr> 136 <tr> 137 <td width="100"> </td> 138 <th> 139<a href="../../../nn/ssl/Connection/Peek.html"><CODE>Peek</CODE></a> 140 </th> 141<td>Reads ahead in data received via SSL without changing the data's state.</td> 142 </tr> 143 <tr> 144 <td width="100"> </td> 145 <th> 146<a href="../../../nn/ssl/Connection/Write.html"><CODE>Write</CODE></a> 147 </th> 148<td>Writes data over an SSL connection.</td> 149 </tr> 150 <tr> 151<th class="category" colspan="3">Certificate & CRL Settings</th> 152 </tr> 153 <tr> 154 <td width="100"> </td> 155 <th> 156<a href="../../../nn/ssl/Connection/SetServerCertStore.html"><CODE>SetServerCertStore</CODE></a> 157 </th> 158<td>Sets the certificate store to use in SSL communication. This API function is provided to allow API users to set their own certificate stores.</td> 159 </tr> 160 <tr> 161 <td width="100"> </td> 162 <th> 163<a href="../../../nn/ssl/Connection/SetClientCert.html"><CODE>SetClientCert</CODE></a> 164 </th> 165<td>Sets the client certificate to use in SSL communication.</td> 166 </tr> 167 <tr> 168 <td width="100"> </td> 169 <th> 170<a href="../../../nn/ssl/Connection/SetCRLStore.html"><CODE>SetCRLStore</CODE></a> 171 </th> 172<td>Sets the CRL store to use in SSL communication. This API function is provided to allow API users to set their own CRL stores.</td> 173 </tr> 174 <tr> 175 <td width="100"> </td> 176 <th> 177<a href="../../../nn/ssl/Connection/AddEVPolicyId.html">AddEVPolicyId</a> 178 </th> 179<td>Configures a trusted EV certificate policy ID.</td> 180 </tr> 181 <tr> 182<th class="category" colspan="3">Other</th> 183 </tr> 184 <tr> 185 <td width="100"> </td> 186 <th> 187<a href="../../../nn/ssl/Connection/DisableVerifyOptionForDebug.html"><CODE>DisableVerifyOptionForDebug</CODE></a> 188 </th> 189<td>Removes the SSL communication verification contents for the specified bits. The items that are verified by default were chosen for security reasons. Do not exclude any items from verification except for debugging purposes.</td> 190 </tr> 191 <tr> 192 <td width="100"> </td> 193 <th> 194<a href="../../../nn/ssl/Connection/GetCipherInfo.html"><CODE>GetCipherInfo</CODE></a> 195 </th> 196<td>Gets information about the encryption used for the target SSL communication. This function is intended for special use cases; it is not envisioned for use by normal users.</td> 197 </tr> </table> 198 </div> 199 </a> 200<h2>Class Hierarchy</h2> 201 <div class="section"> 202<p class="hierarchy"><span>ADLFireWall::NonCopyable</span><br /> <b>nn::ssl::Connection</b> 203 </p> 204 </div> 205<h2>Revision History</h2> 206 <div class="section"> 207 <dl class="history"> 208 <dt>2010/06/14</dt> 209<dd>Initial version.<br /> 210 </dd> 211 </dl> 212 </div> 213 <hr><p>CONFIDENTIAL</p></body> 214</html> 215