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</title> 49 </head> 50 <body> 51<h1><CODE><a href="../../nn/Overview.html">nn</a>::ssl</CODE> Namespace</h1> 52<h2>Description</h2> 53 <div class="section"> 54<p>Namespace for the SSL communication API.</p><p><B>Note:</B> This library is provided for debugging purposes. If you intend to include it in your retail product, contact Nintendo at support@noa.com.<br /></p><!-- write here --></div> 55 <a name="class" id="class"> 56<h2>Classes</h2> 57 <div class="section"> 58 <table class="members"> 59 <tr> 60<th class="category" colspan="2"><CODE>Result</CODE></th> 61 </tr> 62 <tr> 63 <th> 64<a href="../../nn/ssl/ResultProtocolFailedErr/Overview.html">nn::ssl::ResultProtocolFailedErr</a> 65 </th> 66<td>Indicates an error caused by SSL protocol failure (for example, when client certificate authentication fails on the server side).</td> 67 </tr> 68 <tr> 69 <th> 70<a href="../../nn/ssl/ResultWantRead/Overview.html">nn::ssl::ResultWantRead</a> 71 </th> 72<td>Indicates that an asynchronous socket is in use and <CODE>Read</CODE> function processing is incomplete (please retry).</td> 73 </tr> 74 <tr> 75 <th> 76<a href="../../nn/ssl/ResultWantWrite/Overview.html">nn::ssl::ResultWantWrite</a> 77 </th> 78<td>Indicates that an asynchronous socket is in use and <CODE>Write</CODE> function processing is incomplete.</td> 79 </tr> 80 <tr> 81 <th> 82<a href="../../nn/ssl/ResultSystemCallErr/Overview.html">nn::ssl::ResultSystemCallErr</a> 83 </th> 84<td>Indicates that internal system functions returned an unexpected error.</td> 85 </tr> 86 <tr> 87 <th> 88<a href="../../nn/ssl/ResultSocketZeroReturn/Overview.html">nn::ssl::ResultSocketZeroReturn</a> 89 </th> 90<td>Indicates that a zero was returned when socket <CODE>Read</CODE>/<CODE>Write</CODE> operations were performed internally. This is returned after attempts to read or write after the server has finished communication.</td> 91 </tr> 92 <tr> 93 <th> 94<a href="../../nn/ssl/ResultWantConnect/Overview.html">nn::ssl::ResultWantConnect</a> 95 </th> 96<td>Indicates that an asynchronous socket is in use and the SSL handshake (<CODE>DoHandshake</CODE>) function processing is incomplete (please retry).</td> 97 </tr> 98 <tr> 99 <th> 100<a href="../../nn/ssl/ResultInternalSslIdErr/Overview.html">nn::ssl::ResultInternalSslIdErr</a> 101 </th> 102<td>Indicates an internal error (invalid SSLID).</td> 103 </tr> 104 <tr> 105 <th> 106<a href="../../nn/ssl/ResultFailToGetServerCert/Overview.html">nn::ssl::ResultFailToGetServerCert</a> 107 </th> 108<td>Indicates a failure to store the certificate data in the buffer. (This occurs when the certificate size in an argument-specified call to <CODE>DoHandshake</CODE> is larger than the buffer.)</td> 109 </tr> 110 <tr> 111 <th> 112<a href="../../nn/ssl/ResultVerifyCertRevokedErr/Overview.html">nn::ssl::ResultVerifyCertRevokedErr</a> 113 </th> 114<td>Indicates a server authentication error. (The server certificate was found to be registered on the revocation list.)</td> 115 </tr> 116 <tr> 117 <th> 118<a href="../../nn/ssl/ResultLibraryStateErr/Overview.html">nn::ssl::ResultLibraryStateErr</a> 119 </th> 120<td>Indicates that the SSL library is in an invalid state. (Occurs in cases such as when other library functions were called before initialization.)</td> 121 </tr> 122 <tr> 123 <th> 124<a href="../../nn/ssl/ResultRandomErr/Overview.html">nn::ssl::ResultRandomErr</a> 125 </th> 126<td>Indicates a random number processing error.</td> 127 </tr> 128 <tr> 129 <th> 130<a href="../../nn/ssl/ResultVerifyCertErr/Overview.html">nn::ssl::ResultVerifyCertErr</a> 131 </th> 132<td>Indicates a problem in verifying a certificate.</td> 133 </tr> 134 <tr> 135 <th> 136<a href="../../nn/ssl/ResultAlreadyInitializedErr/Overview.html">nn::ssl::ResultAlreadyInitializedErr</a> 137 </th> 138<td>Indicates that a library is already initialized.</td> 139 </tr> 140 <tr> 141 <th> 142<a href="../../nn/ssl/ResultNotInitializedErr/Overview.html">nn::ssl::ResultNotInitializedErr</a> 143 </th> 144<td>Indicates that a library is not initialized.</td> 145 </tr> 146 <tr> 147 <th> 148<a href="../../nn/ssl/ResultOutOfMemoryErr/Overview.html">nn::ssl::ResultOutOfMemoryErr</a> 149 </th> 150<td>Indicates that memory allocation failed.</td> 151 </tr> 152 <tr> 153 <th> 154<a href="../../nn/ssl/ResultNotAssignServerErr/Overview.html">nn::ssl::ResultNotAssignServerErr</a> 155 </th> 156<td>Indicates that the communication target server has not yet been assigned.</td> 157 </tr> 158 <tr> 159 <th> 160<a href="../../nn/ssl/ResultAlreadyAssignServerErr/Overview.html">nn::ssl::ResultAlreadyAssignServerErr</a> 161 </th> 162<td>Indicates that the remote server has already been allocated.</td> 163 </tr> 164 <tr> 165 <th> 166<a href="../../nn/ssl/ResultIpcSessionErr/Overview.html">nn::ssl::ResultIpcSessionErr</a> 167 </th> 168<td>Indicates an invalid IPC session.</td> 169 </tr> 170 <tr> 171 <th> 172<a href="../../nn/ssl/ResultProcessConnectionMaxErr/Overview.html">nn::ssl::ResultProcessConnectionMaxErr</a> 173 </th> 174<td>Indicates that the maximum number of connections that can be used by one process has been exceeded.</td> 175 </tr> 176 <tr> 177 <th> 178<a href="../../nn/ssl/ResultFailToCreateCertStoreErr/Overview.html">nn::ssl::ResultFailToCreateCertStoreErr</a> 179 </th> 180<td>Indicates a failure to create the certificate store.</td> 181 </tr> 182 <tr> 183 <th> 184<a href="../../nn/ssl/ResultFailToCreateCrlStoreErr/Overview.html">nn::ssl::ResultFailToCreateCrlStoreErr</a> 185 </th> 186<td>Indicates that the creation of the CRL store failed.</td> 187 </tr> 188 <tr> 189 <th> 190<a href="../../nn/ssl/ResultFailToCreateClientCertErr/Overview.html">nn::ssl::ResultFailToCreateClientCertErr</a> 191 </th> 192<td>Indicates that the creation of the client certificate failed.</td> 193 </tr> 194 <tr> 195 <th> 196<a href="../../nn/ssl/ResultInvalidParamErr/Overview.html">nn::ssl::ResultInvalidParamErr</a> 197 </th> 198<td>Indicates that the argument is invalid.</td> 199 </tr> 200 <tr> 201 <th> 202<a href="../../nn/ssl/ResultNotImplementedErr/Overview.html">nn::ssl::ResultNotImplementedErr</a> 203 </th> 204<td>Indicates that a process is not implemented.</td> 205 </tr> 206 <tr> 207 <th> 208<a href="../../nn/ssl/ResultClientProcessMaxErr/Overview.html">nn::ssl::ResultClientProcessMaxErr</a> 209 </th> 210<td>Indicates the number of clients equivalent to maximum number of simultaneous client processes already being used.</td> 211 </tr> 212 <tr> 213 <th> 214<a href="../../nn/ssl/ResultIpcSessionMaxErr/Overview.html">nn::ssl::ResultIpcSessionMaxErr</a> 215 </th> 216<td>Indicates that the maximum number of simultaneous IPC sessions are already connected.</td> 217 </tr> 218 <tr> 219 <th> 220<a href="../../nn/ssl/ResultInternalCertErr/Overview.html">nn::ssl::ResultInternalCertErr</a> 221 </th> 222<td>Indicates that use of the internal certificate failed.</td> 223 </tr> 224 <tr> 225 <th> 226<a href="../../nn/ssl/ResultInternalCrlErr/Overview.html">nn::ssl::ResultInternalCrlErr</a> 227 </th> 228<td>Indicates that use of the internal CRL failed.</td> 229 </tr> 230 <tr> 231 <th> 232<a href="../../nn/ssl/ResultServerCertBufAlreadySetErr/Overview.html">nn::ssl::ResultServerCertBufAlreadySetErr</a> 233 </th> 234<td>Indicates that a buffer has already been configured for the server certificate.</td> 235 </tr> 236 <tr> 237<th class="category" colspan="2">Other</th> 238 </tr> 239 <tr> 240 <th> 241<a href="../../nn/ssl/CertStore/Overview.html"><CODE>nn::ssl::CertStore</CODE></a> 242 </th> 243<td>Class representing an SSL certificate store. The RootCA certificates used in a single SSL communication session first have all their certificate data registered to a <CODE>CertStore</CODE> instance, and then that <CODE>CertStore</CODE> instance is configured in the <CODE>Connection</CODE> class.</td> 244 </tr> 245 <tr> 246 <th> 247<a href="../../nn/ssl/ClientCert/Overview.html"><CODE>nn::ssl::ClientCert</CODE></a> 248 </th> 249<td>Class representing an SSL client certificate. The client certificates used in a single SSL communication session first have their certificate data registered to a <CODE>ClientCert</CODE> instance, and then that <CODE>ClientCert</CODE> instance is configured in the <CODE>Connection</CODE> class.</td> 250 </tr> 251 <tr> 252 <th> 253<a href="../../nn/ssl/Connection/Overview.html"><CODE>nn::ssl::Connection</CODE></a> 254 </th> 255<td>Class that represents SSL communication. One instance of this class handles SSL communication for one socket.</td> 256 </tr> 257 <tr> 258 <th> 259<a href="../../nn/ssl/CrlStore/Overview.html"><CODE>nn::ssl::CrlStore</CODE></a> 260 </th> 261<td>Class representing a CRL store. The CRLs used in a single SSL communication session first have all their CRL data registered to a <CODE>CrlStore</CODE> instance, and then that <CODE>CrlStore</CODE> instance is configured in the <CODE>Connection</CODE> class.</td> 262 </tr> </table> 263 </div> 264 </a> <a name="enum" id="enum"> 265<h2>Enumerated Types</h2> 266 <div class="section"> 267 <table class="members"> 268 <tr> 269 <td width="100"> </td> 270 <th> 271<a href="../../nn/ssl/VerifyOption.html"><CODE>VerifyOption</CODE></a> 272 </th> 273<td>Verification options.</td> 274 </tr> 275 <tr> 276 <td width="100"> </td> 277 <th> 278<a href="../../nn/ssl/InternalCaCert.html"><CODE>InternalCaCert</CODE></a> 279 </th> 280<td>Definition of a device's internal CA certificates.</td> 281 </tr> 282 <tr> 283 <td width="100"> </td> 284 <th> 285<a href="../../nn/ssl/InternalCrl.html"><CODE>InternalCrl</CODE></a> 286 </th> 287<td>Definition of a device's internal certificate revocation list (CRL).</td> 288 </tr> 289 <tr> 290 <td width="100"> </td> 291 <th> 292<a href="../../nn/ssl/InternalClientCert.html"><CODE>InternalClientCert</CODE></a> 293 </th> 294<td>Definition of a device's internal client certificates.</td> 295 </tr> 296 <tr> 297 <td width="100"> </td> 298 <th> 299<a href="../../nn/ssl/CertVerifyError.html"><CODE>CertVerifyError</CODE></a> 300 </th> 301<td>Certificate verification results. (Each definition uses a single bit. You can define multiple errors at the same time using a bitwise OR of multiple definitions. The <CODE>GetCertVerifyErrors</CODE> function gets these types of values as a result of verifying certificates.)</td> 302 </tr> 303 <tr> 304 <td width="100"> </td> 305 <th> 306<a href="../../nn/ssl/ResultCode.html"><CODE>ResultCode</CODE></a> 307 </th> 308<td>Function result codes. Stored as <CODE>description</CODE> elements in the <CODE>Result</CODE> returned from API functions.</td> 309 </tr> </table> 310 </div> 311 </a> <a name="typedef" id="typedef"> 312<h2><CODE>typedef</CODE> Definitions</h2> 313 <div class="section"> 314 <table class="members"> 315 <tr> 316 <td width="100" /> 317 <th> 318<a href="../../nn/ssl/CertId.html"><CODE>CertId</CODE></a> 319 </th> 320<td>Certificate ID.</td> 321 </tr> 322 <tr> 323 <td width="100" /> 324 <th> 325<a href="../../nn/ssl/CrlId.html"><CODE>CrlId</CODE></a> 326 </th> 327<td>CRL ID.</td> 328 </tr> 329 <tr> 330 <td width="100" /> 331 <th> 332<a href="../../nn/ssl/ConnectionHandle.html"><CODE>ConnectionHandle</CODE></a> 333 </th> 334<td>SSL connection ID.</td> 335 </tr> 336 <tr> 337 <td width="100" /> 338 <th> 339<a href="../../nn/ssl/CertStoreId.html"><CODE>CertStoreId</CODE></a> 340 </th> 341<td>Certificate store ID.</td> 342 </tr> 343 <tr> 344 <td width="100" /> 345 <th> 346<a href="../../nn/ssl/CrlStoreId.html"><CODE>CrlStoreId</CODE></a> 347 </th> 348<td>CRL store ID.</td> 349 </tr> </table> 350 </div> 351 </a> <a name="function" id="function"> 352<h2>Functions</h2> 353 <div class="section"> 354 <table class="members"> 355 <tr> 356<th class="category" colspan="3">Initialize/Finalize Entire Library</th> 357 </tr> 358 <tr> 359 <td width="100"> </td> 360 <th> 361<a href="../../nn/ssl/Initialize.html"><CODE>Initialize</CODE></a> 362 </th> 363<td>Initializes the SSL library. Processes linking the SSL library must call this function once before using the library.</td> 364 </tr> 365 <tr> 366 <td width="100"> </td> 367 <th> 368<a href="../../nn/ssl/Finalize.html"><CODE>Finalize</CODE></a> 369 </th> 370<td>Finalizes the SSL library. Processes linking the SSL library must call this function once after they are done using the library.</td> 371 </tr> 372 <tr> 373<th class="category" colspan="3">Pseudo-Random Number Functions</th> 374 </tr> 375 <tr> 376 <td width="100"> </td> 377 <th> 378<a href="../../nn/ssl/GatherRandomEntropy.html"><CODE>GatherRandomEntropy</CODE></a> 379 </th> 380<td>Gathers new entropy for random numbers. <B>Note:</B> SSL processes also gather their own entropy. This function is used to gather fresh entropy whenever you need it.</td> 381 </tr> 382 <tr> 383 <td width="100"> </td> 384 <th> 385<a href="../../nn/ssl/GenerateRandomBytes.html"><CODE>GenerateRandomBytes</CODE></a> 386 </th> 387<td>Gets a random number.</td> 388 </tr> </table> 389 </div> 390 </a> 391<h2>Revision History</h2> 392 <div class="section"> 393 <dl class="history"> 394 <dt>2010/06/14</dt> 395<dd>Initial version.<br /> 396 </dd> 397 </dl> 398 </div> 399 <hr><p>CONFIDENTIAL</p></body> 400</html> 401