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>