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