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