1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     ssl_Const.h
4   Copyright (C)2009 Nintendo Co., Ltd.  All rights reserved.
5   These coded instructions, statements, and computer programs contain
6   proprietary information of Nintendo of America Inc. and/or Nintendo
7   Company Ltd., and are protected by Federal copyright law. They may
8   not be disclosed to third parties or copied or duplicated in any form,
9   in whole or in part, without the prior written consent of Nintendo.
10   $Rev: 31762 $
11  *---------------------------------------------------------------------------
12 
13 
14 */
15 
16 #ifndef NN_SSL_SSL_CONST_H_
17 #define NN_SSL_SSL_CONST_H_
18 
19 #include <nn/net/compatible/nssl.h>
20 #include <nn/net/compatible/nssl/nssl_restricted.h>
21 #include <nn/ssl/ssl_Types.h>
22 
23 /* Please see man pages for details
24 
25 
26 */
27 
28 /* Please see man pages for details
29 
30  */
31 enum NnSslVerifyOption
32 {
33     NNSSL_VERIFY_NONE                = NSSL_VERIFY_NONE,                //
34     NNSSL_VERIFY_COMMON_NAME         = NSSL_VERIFY_COMMON_NAME,         //
35     NNSSL_VERIFY_ROOT_CA             = NSSL_VERIFY_ROOT_CA,             //
36     NNSSL_VERIFY_DATE                = NSSL_VERIFY_DATE,                //
37     NNSSL_VERIFY_SUBJECT_ALT_NAME    = NSSL_VERIFY_SUBJECT_ALT_NAME,    //
38     NNSSL_VERIFY_EV                  = NSSL_VERIFY_EV,                  //
39     NNSSL_USE_SESSION_CACHE          = NSSL_OPTION_SESSION_CACHE,       //
40     //NNSSL_VERIFY_CHAIN              = NSSL_VERIFY_CHAIN               /* Definition removed because currently chain verification "only" cannot be set OFF.  */
41     NNSSL_VERIFY_IGNORE              = NSSL_VERIFY_IGNORE,              //
42     NNSSL_GET_ALL_SERVER_CERT_CHAIN  = NSSL_GET_ALL_SERVER_CERT_CHAIN   //
43 };
44 
45 
46 
47 /* Please see man pages for details
48 
49  */
50 enum NnSslInternalCaCert
51 {
52     NNSSL_CACERT_NINTENDO_CA            = 0x01,                         //
53     NNSSL_CACERT_NINTENDO_CA_G2         = 0x02,                         //
54     NNSSL_CACERT_NINTENDO_CA_G3         = 0x03,                         //
55     NNSSL_CACERT_NINTENDO_CLASS2_CA     = 0x04,                         //
56     NNSSL_CACERT_NINTENDO_CLASS2_CA_G2  = 0x05,                         //
57     NNSSL_CACERT_NINTENDO_CLASS2_CA_G3  = 0x06,                         //
58     NNSSL_CACERT_PUBLIC_CA_1            = 0x07,                         //
59     NNSSL_CACERT_PUBLIC_CA_2            = 0x08,                         //
60     NNSSL_CACERT_PUBLIC_CA_3            = 0x09,                         //
61     NNSSL_CACERT_PUBLIC_CA_4            = 0x0a,                         //
62 
63     /* if internal CA certs are added or removed, this number needs to be updated to reflect how many there are */
64     NNSSL_CACERT_NUM_INTERNAL           = 0x0a                          //
65 };
66 
67 
68 /* Please see man pages for details
69 
70  */
71 enum NnSslInternalCrl
72 {
73     NNSSL_CRL_DEFAULT    = 0x20                               //
74 };
75 
76 /* Please see man pages for details
77 
78  */
79 enum NnSslInternalClientCert
80 {
81     NNSSL_CLIENTCERT_DEFAULT        = 0x40,                    //
82 
83     /* if internal client certs are added or removed, this number needs to be updated to reflect how many there are */
84     NNSSL_CLIENTCERT_NUM_INTERNAL   = 0x01                     //
85 };
86 
87 
88 /* Please see man pages for details
89 
90 
91 
92  */
93 enum NnSslCertVerifyError
94 {
95     NNSSL_CERT_VERIFYERROR_COMMON_NAME      = NSSL_VERIFYERRORS_COMMON_NAME,       //
96     NNSSL_CERT_VERIFYERROR_ROOT_CA          = NSSL_VERIFYERRORS_ROOT_CA,           //
97     NNSSL_CERT_VERIFYERROR_DATE             = NSSL_VERIFYERRORS_DATE,              //
98     NNSSL_CERT_VERIFYERROR_CHAIN            = NSSL_VERIFYERRORS_CHAIN,             //
99     NNSSL_CERT_VERIFYERROR_REVOKED          = NSSL_VERIFYERRORS_REVOKED_CERT,      //
100     NNSSL_CERT_VERIFYERROR_EV               = NSSL_VERIFYERRORS_EV                 //
101 };
102 
103 
104 /*
105 
106 */
107 
108 
109 
110 #ifdef __cplusplus
111 
112 namespace nn {
113 namespace ssl {
114 
115 /* Please see man pages for details
116 
117  */
118 enum VerifyOption
119 {
120     VERIFY_NONE                 = NNSSL_VERIFY_NONE,                //
121     VERIFY_COMMON_NAME          = NNSSL_VERIFY_COMMON_NAME,         //
122     VERIFY_ROOT_CA              = NNSSL_VERIFY_ROOT_CA,             //
123     VERIFY_DATE                 = NNSSL_VERIFY_DATE,                //
124     VERIFY_SUBJECT_ALT_NAME     = NNSSL_VERIFY_SUBJECT_ALT_NAME,    //
125     VERIFY_EV                   = NNSSL_VERIFY_EV,                  //
126     USE_SESSION_CACHE           = NNSSL_USE_SESSION_CACHE,          //
127     //VERIFY_CHAIN              = NSSL_VERIFY_CHAIN               /* Definition removed because currently chain verification "only" cannot be set OFF.  */]
128     VERIFY_IGNORE               = NNSSL_VERIFY_IGNORE,              //
129     GET_ALL_SERVER_CERT_CHAIN   = NNSSL_GET_ALL_SERVER_CERT_CHAIN   //
130 };
131 
132 
133 /* Please see man pages for details
134 
135  */
136 enum InternalCaCert
137 {
138     CACERT_NINTENDO_CA           = NNSSL_CACERT_NINTENDO_CA,                  //
139     CACERT_NINTENDO_CA_G2        = NNSSL_CACERT_NINTENDO_CA_G2,               //
140     CACERT_NINTENDO_CA_G3        = NNSSL_CACERT_NINTENDO_CA_G3,               //
141     CACERT_NINTENDO_CLASS2_CA    = NNSSL_CACERT_NINTENDO_CLASS2_CA,           //
142     CACERT_NINTENDO_CLASS2_CA_G2 = NNSSL_CACERT_NINTENDO_CLASS2_CA_G2,        //
143     CACERT_NINTENDO_CLASS2_CA_G3 = NNSSL_CACERT_NINTENDO_CLASS2_CA_G3,        //
144     CACERT_PUBLIC_CA_1           = NNSSL_CACERT_PUBLIC_CA_1,                  //
145     CACERT_PUBLIC_CA_2           = NNSSL_CACERT_PUBLIC_CA_2,                  //
146     CACERT_PUBLIC_CA_3           = NNSSL_CACERT_PUBLIC_CA_3,                  //
147     CACERT_PUBLIC_CA_4           = NNSSL_CACERT_PUBLIC_CA_4,                  //
148 
149     CACERT_NUM_INTERNAL          = NNSSL_CACERT_NUM_INTERNAL                  //
150 };
151 
152 
153 /* Please see man pages for details
154 
155  */
156 enum InternalCrl
157 {
158     CRL_DEFAULT    = NNSSL_CRL_DEFAULT                                     //
159 };
160 
161 
162 /* Please see man pages for details
163 
164  */
165 enum InternalClientCert
166 {
167     CLIENTCERT_DEFAULT        = NNSSL_CLIENTCERT_DEFAULT,                  //
168 
169     CLIENTCERT_NUM_INTERNAL   = NNSSL_CLIENTCERT_NUM_INTERNAL              //
170 };
171 
172 
173 /* Please see man pages for details
174 
175 
176 
177  */
178 enum CertVerifyError
179 {
180     CERT_VERIFYERROR_COMMON_NAME = NNSSL_CERT_VERIFYERROR_COMMON_NAME,       //
181     CERT_VERIFYERROR_ROOT_CA     = NNSSL_CERT_VERIFYERROR_ROOT_CA,           //
182     CERT_VERIFYERROR_DATE        = NNSSL_CERT_VERIFYERROR_DATE,              //
183     CERT_VERIFYERROR_CHAIN       = NNSSL_CERT_VERIFYERROR_CHAIN,             //
184     CERT_VERIFYERROR_REVOKED     = NNSSL_CERT_VERIFYERROR_REVOKED,           //
185     CERT_VERIFYERROR_EV          = NNSSL_CERT_VERIFYERROR_EV                 //
186 };
187 
188 
189 
190 } // end of namespace ssl
191 } // end of namespace nn
192 
193 
194 #endif /*__cplusplus*/
195 
196 #define SSL_CERT_SIZE			CERT_SIZE				/* Please see man pages for details */
197 #define SSL_CERTS_MAX			NSSL_CERTS_MAX			/* Please see man pages for details */
198 #define SSL_CERTSTORE_MAX		NSSL_CERTSTORE_MAX      /* Please see man pages for details */
199 #define SSL_CERTS_PER_STORE		NSSL_CERTS_PER_STORE	/* Please see man pages for details */
200 #define SSL_CRLS_MAX			NSSL_CRLS_MAX			/* Please see man pages for details */
201 #define SSL_CRLSTORE_MAX		NSSL_CRLSTORE_MAX       /* Please see man pages for details */
202 #define SSL_CRLS_PER_STORE		NSSL_CRLS_PER_STORE		/* Please see man pages for details */
203 #define SSL_EV_MAX				NSSL_EV_MAX				/* Please see man pages for details */
204 
205 #endif /* NN_SSL_SSL_CONST_H_ */
206