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>nn::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">Result</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