security/nss/lib/util/secoidt.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

michael@0 1 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 4
michael@0 5 #ifndef _SECOIDT_H_
michael@0 6 #define _SECOIDT_H_
michael@0 7
michael@0 8 #include "utilrename.h"
michael@0 9
michael@0 10 /*
michael@0 11 * secoidt.h - public data structures for ASN.1 OID functions
michael@0 12 */
michael@0 13
michael@0 14 #include "secitem.h"
michael@0 15
michael@0 16 typedef struct SECOidDataStr SECOidData;
michael@0 17 typedef struct SECAlgorithmIDStr SECAlgorithmID;
michael@0 18
michael@0 19 /*
michael@0 20 ** An X.500 algorithm identifier
michael@0 21 */
michael@0 22 struct SECAlgorithmIDStr {
michael@0 23 SECItem algorithm;
michael@0 24 SECItem parameters;
michael@0 25 };
michael@0 26
michael@0 27 /*
michael@0 28 * Misc object IDs - these numbers are for convenient handling.
michael@0 29 * They are mapped into real object IDs
michael@0 30 *
michael@0 31 * NOTE: the order of these entries must mach the array "oids" of SECOidData
michael@0 32 * in util/secoid.c.
michael@0 33 */
michael@0 34 typedef enum {
michael@0 35 SEC_OID_UNKNOWN = 0,
michael@0 36 SEC_OID_MD2 = 1,
michael@0 37 SEC_OID_MD4 = 2,
michael@0 38 SEC_OID_MD5 = 3,
michael@0 39 SEC_OID_SHA1 = 4,
michael@0 40 SEC_OID_RC2_CBC = 5,
michael@0 41 SEC_OID_RC4 = 6,
michael@0 42 SEC_OID_DES_EDE3_CBC = 7,
michael@0 43 SEC_OID_RC5_CBC_PAD = 8,
michael@0 44 SEC_OID_DES_ECB = 9,
michael@0 45 SEC_OID_DES_CBC = 10,
michael@0 46 SEC_OID_DES_OFB = 11,
michael@0 47 SEC_OID_DES_CFB = 12,
michael@0 48 SEC_OID_DES_MAC = 13,
michael@0 49 SEC_OID_DES_EDE = 14,
michael@0 50 SEC_OID_ISO_SHA_WITH_RSA_SIGNATURE = 15,
michael@0 51 SEC_OID_PKCS1_RSA_ENCRYPTION = 16,
michael@0 52 SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION = 17,
michael@0 53 SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION = 18,
michael@0 54 SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION = 19,
michael@0 55 SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION = 20,
michael@0 56 SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC = 21,
michael@0 57 SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC = 22,
michael@0 58 SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC = 23,
michael@0 59 SEC_OID_PKCS7 = 24,
michael@0 60 SEC_OID_PKCS7_DATA = 25,
michael@0 61 SEC_OID_PKCS7_SIGNED_DATA = 26,
michael@0 62 SEC_OID_PKCS7_ENVELOPED_DATA = 27,
michael@0 63 SEC_OID_PKCS7_SIGNED_ENVELOPED_DATA = 28,
michael@0 64 SEC_OID_PKCS7_DIGESTED_DATA = 29,
michael@0 65 SEC_OID_PKCS7_ENCRYPTED_DATA = 30,
michael@0 66 SEC_OID_PKCS9_EMAIL_ADDRESS = 31,
michael@0 67 SEC_OID_PKCS9_UNSTRUCTURED_NAME = 32,
michael@0 68 SEC_OID_PKCS9_CONTENT_TYPE = 33,
michael@0 69 SEC_OID_PKCS9_MESSAGE_DIGEST = 34,
michael@0 70 SEC_OID_PKCS9_SIGNING_TIME = 35,
michael@0 71 SEC_OID_PKCS9_COUNTER_SIGNATURE = 36,
michael@0 72 SEC_OID_PKCS9_CHALLENGE_PASSWORD = 37,
michael@0 73 SEC_OID_PKCS9_UNSTRUCTURED_ADDRESS = 38,
michael@0 74 SEC_OID_PKCS9_EXTENDED_CERTIFICATE_ATTRIBUTES = 39,
michael@0 75 SEC_OID_PKCS9_SMIME_CAPABILITIES = 40,
michael@0 76 SEC_OID_AVA_COMMON_NAME = 41,
michael@0 77 SEC_OID_AVA_COUNTRY_NAME = 42,
michael@0 78 SEC_OID_AVA_LOCALITY = 43,
michael@0 79 SEC_OID_AVA_STATE_OR_PROVINCE = 44,
michael@0 80 SEC_OID_AVA_ORGANIZATION_NAME = 45,
michael@0 81 SEC_OID_AVA_ORGANIZATIONAL_UNIT_NAME = 46,
michael@0 82 SEC_OID_AVA_DN_QUALIFIER = 47,
michael@0 83 SEC_OID_AVA_DC = 48,
michael@0 84
michael@0 85 SEC_OID_NS_TYPE_GIF = 49,
michael@0 86 SEC_OID_NS_TYPE_JPEG = 50,
michael@0 87 SEC_OID_NS_TYPE_URL = 51,
michael@0 88 SEC_OID_NS_TYPE_HTML = 52,
michael@0 89 SEC_OID_NS_TYPE_CERT_SEQUENCE = 53,
michael@0 90 SEC_OID_MISSI_KEA_DSS_OLD = 54,
michael@0 91 SEC_OID_MISSI_DSS_OLD = 55,
michael@0 92 SEC_OID_MISSI_KEA_DSS = 56,
michael@0 93 SEC_OID_MISSI_DSS = 57,
michael@0 94 SEC_OID_MISSI_KEA = 58,
michael@0 95 SEC_OID_MISSI_ALT_KEA = 59,
michael@0 96
michael@0 97 /* Netscape private certificate extensions */
michael@0 98 SEC_OID_NS_CERT_EXT_NETSCAPE_OK = 60,
michael@0 99 SEC_OID_NS_CERT_EXT_ISSUER_LOGO = 61,
michael@0 100 SEC_OID_NS_CERT_EXT_SUBJECT_LOGO = 62,
michael@0 101 SEC_OID_NS_CERT_EXT_CERT_TYPE = 63,
michael@0 102 SEC_OID_NS_CERT_EXT_BASE_URL = 64,
michael@0 103 SEC_OID_NS_CERT_EXT_REVOCATION_URL = 65,
michael@0 104 SEC_OID_NS_CERT_EXT_CA_REVOCATION_URL = 66,
michael@0 105 SEC_OID_NS_CERT_EXT_CA_CRL_URL = 67,
michael@0 106 SEC_OID_NS_CERT_EXT_CA_CERT_URL = 68,
michael@0 107 SEC_OID_NS_CERT_EXT_CERT_RENEWAL_URL = 69,
michael@0 108 SEC_OID_NS_CERT_EXT_CA_POLICY_URL = 70,
michael@0 109 SEC_OID_NS_CERT_EXT_HOMEPAGE_URL = 71,
michael@0 110 SEC_OID_NS_CERT_EXT_ENTITY_LOGO = 72,
michael@0 111 SEC_OID_NS_CERT_EXT_USER_PICTURE = 73,
michael@0 112 SEC_OID_NS_CERT_EXT_SSL_SERVER_NAME = 74,
michael@0 113 SEC_OID_NS_CERT_EXT_COMMENT = 75,
michael@0 114 SEC_OID_NS_CERT_EXT_LOST_PASSWORD_URL = 76,
michael@0 115 SEC_OID_NS_CERT_EXT_CERT_RENEWAL_TIME = 77,
michael@0 116 SEC_OID_NS_KEY_USAGE_GOVT_APPROVED = 78,
michael@0 117
michael@0 118 /* x.509 v3 Extensions */
michael@0 119 SEC_OID_X509_SUBJECT_DIRECTORY_ATTR = 79,
michael@0 120 SEC_OID_X509_SUBJECT_KEY_ID = 80,
michael@0 121 SEC_OID_X509_KEY_USAGE = 81,
michael@0 122 SEC_OID_X509_PRIVATE_KEY_USAGE_PERIOD = 82,
michael@0 123 SEC_OID_X509_SUBJECT_ALT_NAME = 83,
michael@0 124 SEC_OID_X509_ISSUER_ALT_NAME = 84,
michael@0 125 SEC_OID_X509_BASIC_CONSTRAINTS = 85,
michael@0 126 SEC_OID_X509_NAME_CONSTRAINTS = 86,
michael@0 127 SEC_OID_X509_CRL_DIST_POINTS = 87,
michael@0 128 SEC_OID_X509_CERTIFICATE_POLICIES = 88,
michael@0 129 SEC_OID_X509_POLICY_MAPPINGS = 89,
michael@0 130 SEC_OID_X509_POLICY_CONSTRAINTS = 90,
michael@0 131 SEC_OID_X509_AUTH_KEY_ID = 91,
michael@0 132 SEC_OID_X509_EXT_KEY_USAGE = 92,
michael@0 133 SEC_OID_X509_AUTH_INFO_ACCESS = 93,
michael@0 134
michael@0 135 SEC_OID_X509_CRL_NUMBER = 94,
michael@0 136 SEC_OID_X509_REASON_CODE = 95,
michael@0 137 SEC_OID_X509_INVALID_DATE = 96,
michael@0 138 /* End of x.509 v3 Extensions */
michael@0 139
michael@0 140 SEC_OID_X500_RSA_ENCRYPTION = 97,
michael@0 141
michael@0 142 /* alg 1485 additions */
michael@0 143 SEC_OID_RFC1274_UID = 98,
michael@0 144 SEC_OID_RFC1274_MAIL = 99,
michael@0 145
michael@0 146 /* PKCS 12 additions */
michael@0 147 SEC_OID_PKCS12 = 100,
michael@0 148 SEC_OID_PKCS12_MODE_IDS = 101,
michael@0 149 SEC_OID_PKCS12_ESPVK_IDS = 102,
michael@0 150 SEC_OID_PKCS12_BAG_IDS = 103,
michael@0 151 SEC_OID_PKCS12_CERT_BAG_IDS = 104,
michael@0 152 SEC_OID_PKCS12_OIDS = 105,
michael@0 153 SEC_OID_PKCS12_PBE_IDS = 106,
michael@0 154 SEC_OID_PKCS12_SIGNATURE_IDS = 107,
michael@0 155 SEC_OID_PKCS12_ENVELOPING_IDS = 108,
michael@0 156 /* SEC_OID_PKCS12_OFFLINE_TRANSPORT_MODE,
michael@0 157 SEC_OID_PKCS12_ONLINE_TRANSPORT_MODE, */
michael@0 158 SEC_OID_PKCS12_PKCS8_KEY_SHROUDING = 109,
michael@0 159 SEC_OID_PKCS12_KEY_BAG_ID = 110,
michael@0 160 SEC_OID_PKCS12_CERT_AND_CRL_BAG_ID = 111,
michael@0 161 SEC_OID_PKCS12_SECRET_BAG_ID = 112,
michael@0 162 SEC_OID_PKCS12_X509_CERT_CRL_BAG = 113,
michael@0 163 SEC_OID_PKCS12_SDSI_CERT_BAG = 114,
michael@0 164 SEC_OID_PKCS12_PBE_WITH_SHA1_AND_128_BIT_RC4 = 115,
michael@0 165 SEC_OID_PKCS12_PBE_WITH_SHA1_AND_40_BIT_RC4 = 116,
michael@0 166 SEC_OID_PKCS12_PBE_WITH_SHA1_AND_TRIPLE_DES_CBC = 117,
michael@0 167 SEC_OID_PKCS12_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC = 118,
michael@0 168 SEC_OID_PKCS12_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC = 119,
michael@0 169 SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_128_BIT_RC4 = 120,
michael@0 170 SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_40_BIT_RC4 = 121,
michael@0 171 SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_TRIPLE_DES = 122,
michael@0 172 SEC_OID_PKCS12_RSA_SIGNATURE_WITH_SHA1_DIGEST = 123,
michael@0 173 /* end of PKCS 12 additions */
michael@0 174
michael@0 175 /* DSA signatures */
michael@0 176 SEC_OID_ANSIX9_DSA_SIGNATURE = 124,
michael@0 177 SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST = 125,
michael@0 178 SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST = 126,
michael@0 179
michael@0 180 /* Verisign OIDs */
michael@0 181 SEC_OID_VERISIGN_USER_NOTICES = 127,
michael@0 182
michael@0 183 /* PKIX OIDs */
michael@0 184 SEC_OID_PKIX_CPS_POINTER_QUALIFIER = 128,
michael@0 185 SEC_OID_PKIX_USER_NOTICE_QUALIFIER = 129,
michael@0 186 SEC_OID_PKIX_OCSP = 130,
michael@0 187 SEC_OID_PKIX_OCSP_BASIC_RESPONSE = 131,
michael@0 188 SEC_OID_PKIX_OCSP_NONCE = 132,
michael@0 189 SEC_OID_PKIX_OCSP_CRL = 133,
michael@0 190 SEC_OID_PKIX_OCSP_RESPONSE = 134,
michael@0 191 SEC_OID_PKIX_OCSP_NO_CHECK = 135,
michael@0 192 SEC_OID_PKIX_OCSP_ARCHIVE_CUTOFF = 136,
michael@0 193 SEC_OID_PKIX_OCSP_SERVICE_LOCATOR = 137,
michael@0 194 SEC_OID_PKIX_REGCTRL_REGTOKEN = 138,
michael@0 195 SEC_OID_PKIX_REGCTRL_AUTHENTICATOR = 139,
michael@0 196 SEC_OID_PKIX_REGCTRL_PKIPUBINFO = 140,
michael@0 197 SEC_OID_PKIX_REGCTRL_PKI_ARCH_OPTIONS = 141,
michael@0 198 SEC_OID_PKIX_REGCTRL_OLD_CERT_ID = 142,
michael@0 199 SEC_OID_PKIX_REGCTRL_PROTOCOL_ENC_KEY = 143,
michael@0 200 SEC_OID_PKIX_REGINFO_UTF8_PAIRS = 144,
michael@0 201 SEC_OID_PKIX_REGINFO_CERT_REQUEST = 145,
michael@0 202 SEC_OID_EXT_KEY_USAGE_SERVER_AUTH = 146,
michael@0 203 SEC_OID_EXT_KEY_USAGE_CLIENT_AUTH = 147,
michael@0 204 SEC_OID_EXT_KEY_USAGE_CODE_SIGN = 148,
michael@0 205 SEC_OID_EXT_KEY_USAGE_EMAIL_PROTECT = 149,
michael@0 206 SEC_OID_EXT_KEY_USAGE_TIME_STAMP = 150,
michael@0 207 SEC_OID_OCSP_RESPONDER = 151,
michael@0 208
michael@0 209 /* Netscape Algorithm OIDs */
michael@0 210 SEC_OID_NETSCAPE_SMIME_KEA = 152,
michael@0 211
michael@0 212 /* Skipjack OID -- ### mwelch temporary */
michael@0 213 SEC_OID_FORTEZZA_SKIPJACK = 153,
michael@0 214
michael@0 215 /* PKCS 12 V2 oids */
michael@0 216 SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4 = 154,
michael@0 217 SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4 = 155,
michael@0 218 SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC = 156,
michael@0 219 SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_2KEY_TRIPLE_DES_CBC = 157,
michael@0 220 SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC = 158,
michael@0 221 SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC = 159,
michael@0 222 SEC_OID_PKCS12_SAFE_CONTENTS_ID = 160,
michael@0 223 SEC_OID_PKCS12_PKCS8_SHROUDED_KEY_BAG_ID = 161,
michael@0 224
michael@0 225 SEC_OID_PKCS12_V1_KEY_BAG_ID = 162,
michael@0 226 SEC_OID_PKCS12_V1_PKCS8_SHROUDED_KEY_BAG_ID = 163,
michael@0 227 SEC_OID_PKCS12_V1_CERT_BAG_ID = 164,
michael@0 228 SEC_OID_PKCS12_V1_CRL_BAG_ID = 165,
michael@0 229 SEC_OID_PKCS12_V1_SECRET_BAG_ID = 166,
michael@0 230 SEC_OID_PKCS12_V1_SAFE_CONTENTS_BAG_ID = 167,
michael@0 231 SEC_OID_PKCS9_X509_CERT = 168,
michael@0 232 SEC_OID_PKCS9_SDSI_CERT = 169,
michael@0 233 SEC_OID_PKCS9_X509_CRL = 170,
michael@0 234 SEC_OID_PKCS9_FRIENDLY_NAME = 171,
michael@0 235 SEC_OID_PKCS9_LOCAL_KEY_ID = 172,
michael@0 236 SEC_OID_BOGUS_KEY_USAGE = 173,
michael@0 237
michael@0 238 /*Diffe Helman OIDS */
michael@0 239 SEC_OID_X942_DIFFIE_HELMAN_KEY = 174,
michael@0 240
michael@0 241 /* Netscape other name types */
michael@0 242 /* SEC_OID_NETSCAPE_NICKNAME is an otherName field of type IA5String
michael@0 243 * in the subjectAltName certificate extension. NSS dropped support
michael@0 244 * for SEC_OID_NETSCAPE_NICKNAME in NSS 3.13. */
michael@0 245 SEC_OID_NETSCAPE_NICKNAME = 175,
michael@0 246
michael@0 247 /* Cert Server OIDS */
michael@0 248 SEC_OID_NETSCAPE_RECOVERY_REQUEST = 176,
michael@0 249
michael@0 250 /* New PSM certificate management OIDs */
michael@0 251 SEC_OID_CERT_RENEWAL_LOCATOR = 177,
michael@0 252 SEC_OID_NS_CERT_EXT_SCOPE_OF_USE = 178,
michael@0 253
michael@0 254 /* CMS (RFC2630) OIDs */
michael@0 255 SEC_OID_CMS_EPHEMERAL_STATIC_DIFFIE_HELLMAN = 179,
michael@0 256 SEC_OID_CMS_3DES_KEY_WRAP = 180,
michael@0 257 SEC_OID_CMS_RC2_KEY_WRAP = 181,
michael@0 258
michael@0 259 /* SMIME attributes */
michael@0 260 SEC_OID_SMIME_ENCRYPTION_KEY_PREFERENCE = 182,
michael@0 261
michael@0 262 /* AES OIDs */
michael@0 263 SEC_OID_AES_128_ECB = 183,
michael@0 264 SEC_OID_AES_128_CBC = 184,
michael@0 265 SEC_OID_AES_192_ECB = 185,
michael@0 266 SEC_OID_AES_192_CBC = 186,
michael@0 267 SEC_OID_AES_256_ECB = 187,
michael@0 268 SEC_OID_AES_256_CBC = 188,
michael@0 269
michael@0 270 SEC_OID_SDN702_DSA_SIGNATURE = 189,
michael@0 271
michael@0 272 SEC_OID_MS_SMIME_ENCRYPTION_KEY_PREFERENCE = 190,
michael@0 273
michael@0 274 SEC_OID_SHA256 = 191,
michael@0 275 SEC_OID_SHA384 = 192,
michael@0 276 SEC_OID_SHA512 = 193,
michael@0 277
michael@0 278 SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION = 194,
michael@0 279 SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION = 195,
michael@0 280 SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION = 196,
michael@0 281
michael@0 282 SEC_OID_AES_128_KEY_WRAP = 197,
michael@0 283 SEC_OID_AES_192_KEY_WRAP = 198,
michael@0 284 SEC_OID_AES_256_KEY_WRAP = 199,
michael@0 285
michael@0 286 /* Elliptic Curve Cryptography (ECC) OIDs */
michael@0 287 SEC_OID_ANSIX962_EC_PUBLIC_KEY = 200,
michael@0 288 SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE = 201,
michael@0 289
michael@0 290 #define SEC_OID_ANSIX962_ECDSA_SIGNATURE_WITH_SHA1_DIGEST \
michael@0 291 SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE
michael@0 292
michael@0 293 /* ANSI X9.62 named elliptic curves (prime field) */
michael@0 294 SEC_OID_ANSIX962_EC_PRIME192V1 = 202,
michael@0 295 SEC_OID_ANSIX962_EC_PRIME192V2 = 203,
michael@0 296 SEC_OID_ANSIX962_EC_PRIME192V3 = 204,
michael@0 297 SEC_OID_ANSIX962_EC_PRIME239V1 = 205,
michael@0 298 SEC_OID_ANSIX962_EC_PRIME239V2 = 206,
michael@0 299 SEC_OID_ANSIX962_EC_PRIME239V3 = 207,
michael@0 300 SEC_OID_ANSIX962_EC_PRIME256V1 = 208,
michael@0 301
michael@0 302 /* SECG named elliptic curves (prime field) */
michael@0 303 SEC_OID_SECG_EC_SECP112R1 = 209,
michael@0 304 SEC_OID_SECG_EC_SECP112R2 = 210,
michael@0 305 SEC_OID_SECG_EC_SECP128R1 = 211,
michael@0 306 SEC_OID_SECG_EC_SECP128R2 = 212,
michael@0 307 SEC_OID_SECG_EC_SECP160K1 = 213,
michael@0 308 SEC_OID_SECG_EC_SECP160R1 = 214,
michael@0 309 SEC_OID_SECG_EC_SECP160R2 = 215,
michael@0 310 SEC_OID_SECG_EC_SECP192K1 = 216,
michael@0 311 /* SEC_OID_SECG_EC_SECP192R1 is SEC_OID_ANSIX962_EC_PRIME192V1 */
michael@0 312 SEC_OID_SECG_EC_SECP224K1 = 217,
michael@0 313 SEC_OID_SECG_EC_SECP224R1 = 218,
michael@0 314 SEC_OID_SECG_EC_SECP256K1 = 219,
michael@0 315 /* SEC_OID_SECG_EC_SECP256R1 is SEC_OID_ANSIX962_EC_PRIME256V1 */
michael@0 316 SEC_OID_SECG_EC_SECP384R1 = 220,
michael@0 317 SEC_OID_SECG_EC_SECP521R1 = 221,
michael@0 318
michael@0 319 /* ANSI X9.62 named elliptic curves (characteristic two field) */
michael@0 320 SEC_OID_ANSIX962_EC_C2PNB163V1 = 222,
michael@0 321 SEC_OID_ANSIX962_EC_C2PNB163V2 = 223,
michael@0 322 SEC_OID_ANSIX962_EC_C2PNB163V3 = 224,
michael@0 323 SEC_OID_ANSIX962_EC_C2PNB176V1 = 225,
michael@0 324 SEC_OID_ANSIX962_EC_C2TNB191V1 = 226,
michael@0 325 SEC_OID_ANSIX962_EC_C2TNB191V2 = 227,
michael@0 326 SEC_OID_ANSIX962_EC_C2TNB191V3 = 228,
michael@0 327 SEC_OID_ANSIX962_EC_C2ONB191V4 = 229,
michael@0 328 SEC_OID_ANSIX962_EC_C2ONB191V5 = 230,
michael@0 329 SEC_OID_ANSIX962_EC_C2PNB208W1 = 231,
michael@0 330 SEC_OID_ANSIX962_EC_C2TNB239V1 = 232,
michael@0 331 SEC_OID_ANSIX962_EC_C2TNB239V2 = 233,
michael@0 332 SEC_OID_ANSIX962_EC_C2TNB239V3 = 234,
michael@0 333 SEC_OID_ANSIX962_EC_C2ONB239V4 = 235,
michael@0 334 SEC_OID_ANSIX962_EC_C2ONB239V5 = 236,
michael@0 335 SEC_OID_ANSIX962_EC_C2PNB272W1 = 237,
michael@0 336 SEC_OID_ANSIX962_EC_C2PNB304W1 = 238,
michael@0 337 SEC_OID_ANSIX962_EC_C2TNB359V1 = 239,
michael@0 338 SEC_OID_ANSIX962_EC_C2PNB368W1 = 240,
michael@0 339 SEC_OID_ANSIX962_EC_C2TNB431R1 = 241,
michael@0 340
michael@0 341 /* SECG named elliptic curves (characteristic two field) */
michael@0 342 SEC_OID_SECG_EC_SECT113R1 = 242,
michael@0 343 SEC_OID_SECG_EC_SECT113R2 = 243,
michael@0 344 SEC_OID_SECG_EC_SECT131R1 = 244,
michael@0 345 SEC_OID_SECG_EC_SECT131R2 = 245,
michael@0 346 SEC_OID_SECG_EC_SECT163K1 = 246,
michael@0 347 SEC_OID_SECG_EC_SECT163R1 = 247,
michael@0 348 SEC_OID_SECG_EC_SECT163R2 = 248,
michael@0 349 SEC_OID_SECG_EC_SECT193R1 = 249,
michael@0 350 SEC_OID_SECG_EC_SECT193R2 = 250,
michael@0 351 SEC_OID_SECG_EC_SECT233K1 = 251,
michael@0 352 SEC_OID_SECG_EC_SECT233R1 = 252,
michael@0 353 SEC_OID_SECG_EC_SECT239K1 = 253,
michael@0 354 SEC_OID_SECG_EC_SECT283K1 = 254,
michael@0 355 SEC_OID_SECG_EC_SECT283R1 = 255,
michael@0 356 SEC_OID_SECG_EC_SECT409K1 = 256,
michael@0 357 SEC_OID_SECG_EC_SECT409R1 = 257,
michael@0 358 SEC_OID_SECG_EC_SECT571K1 = 258,
michael@0 359 SEC_OID_SECG_EC_SECT571R1 = 259,
michael@0 360
michael@0 361 SEC_OID_NETSCAPE_AOLSCREENNAME = 260,
michael@0 362
michael@0 363 SEC_OID_AVA_SURNAME = 261,
michael@0 364 SEC_OID_AVA_SERIAL_NUMBER = 262,
michael@0 365 SEC_OID_AVA_STREET_ADDRESS = 263,
michael@0 366 SEC_OID_AVA_TITLE = 264,
michael@0 367 SEC_OID_AVA_POSTAL_ADDRESS = 265,
michael@0 368 SEC_OID_AVA_POSTAL_CODE = 266,
michael@0 369 SEC_OID_AVA_POST_OFFICE_BOX = 267,
michael@0 370 SEC_OID_AVA_GIVEN_NAME = 268,
michael@0 371 SEC_OID_AVA_INITIALS = 269,
michael@0 372 SEC_OID_AVA_GENERATION_QUALIFIER = 270,
michael@0 373 SEC_OID_AVA_HOUSE_IDENTIFIER = 271,
michael@0 374 SEC_OID_AVA_PSEUDONYM = 272,
michael@0 375
michael@0 376 /* More OIDs */
michael@0 377 SEC_OID_PKIX_CA_ISSUERS = 273,
michael@0 378 SEC_OID_PKCS9_EXTENSION_REQUEST = 274,
michael@0 379
michael@0 380 /* new EC Signature oids */
michael@0 381 SEC_OID_ANSIX962_ECDSA_SIGNATURE_RECOMMENDED_DIGEST = 275,
michael@0 382 SEC_OID_ANSIX962_ECDSA_SIGNATURE_SPECIFIED_DIGEST = 276,
michael@0 383 SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE = 277,
michael@0 384 SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE = 278,
michael@0 385 SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE = 279,
michael@0 386 SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE = 280,
michael@0 387
michael@0 388 /* More id-ce and id-pe OIDs from RFC 3280 */
michael@0 389 SEC_OID_X509_HOLD_INSTRUCTION_CODE = 281,
michael@0 390 SEC_OID_X509_DELTA_CRL_INDICATOR = 282,
michael@0 391 SEC_OID_X509_ISSUING_DISTRIBUTION_POINT = 283,
michael@0 392 SEC_OID_X509_CERT_ISSUER = 284,
michael@0 393 SEC_OID_X509_FRESHEST_CRL = 285,
michael@0 394 SEC_OID_X509_INHIBIT_ANY_POLICY = 286,
michael@0 395 SEC_OID_X509_SUBJECT_INFO_ACCESS = 287,
michael@0 396
michael@0 397 /* Camellia OIDs (RFC3657)*/
michael@0 398 SEC_OID_CAMELLIA_128_CBC = 288,
michael@0 399 SEC_OID_CAMELLIA_192_CBC = 289,
michael@0 400 SEC_OID_CAMELLIA_256_CBC = 290,
michael@0 401
michael@0 402 /* PKCS 5 V2 OIDS */
michael@0 403 SEC_OID_PKCS5_PBKDF2 = 291,
michael@0 404 SEC_OID_PKCS5_PBES2 = 292,
michael@0 405 SEC_OID_PKCS5_PBMAC1 = 293,
michael@0 406 SEC_OID_HMAC_SHA1 = 294,
michael@0 407 SEC_OID_HMAC_SHA224 = 295,
michael@0 408 SEC_OID_HMAC_SHA256 = 296,
michael@0 409 SEC_OID_HMAC_SHA384 = 297,
michael@0 410 SEC_OID_HMAC_SHA512 = 298,
michael@0 411
michael@0 412 SEC_OID_PKIX_TIMESTAMPING = 299,
michael@0 413 SEC_OID_PKIX_CA_REPOSITORY = 300,
michael@0 414
michael@0 415 SEC_OID_ISO_SHA1_WITH_RSA_SIGNATURE = 301,
michael@0 416
michael@0 417 SEC_OID_SEED_CBC = 302,
michael@0 418
michael@0 419 SEC_OID_X509_ANY_POLICY = 303,
michael@0 420
michael@0 421 SEC_OID_PKCS1_RSA_OAEP_ENCRYPTION = 304,
michael@0 422 SEC_OID_PKCS1_MGF1 = 305,
michael@0 423 SEC_OID_PKCS1_PSPECIFIED = 306,
michael@0 424 SEC_OID_PKCS1_RSA_PSS_SIGNATURE = 307,
michael@0 425 SEC_OID_PKCS1_SHA224_WITH_RSA_ENCRYPTION = 308,
michael@0 426
michael@0 427 SEC_OID_SHA224 = 309,
michael@0 428
michael@0 429 SEC_OID_EV_INCORPORATION_LOCALITY = 310,
michael@0 430 SEC_OID_EV_INCORPORATION_STATE = 311,
michael@0 431 SEC_OID_EV_INCORPORATION_COUNTRY = 312,
michael@0 432 SEC_OID_BUSINESS_CATEGORY = 313,
michael@0 433
michael@0 434 SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA224_DIGEST = 314,
michael@0 435 SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA256_DIGEST = 315,
michael@0 436
michael@0 437 /* Microsoft Trust List Signing
michael@0 438 * szOID_KP_CTL_USAGE_SIGNING
michael@0 439 * where KP stands for Key Purpose
michael@0 440 */
michael@0 441 SEC_OID_MS_EXT_KEY_USAGE_CTL_SIGNING = 316,
michael@0 442
michael@0 443 /* The 'name' attribute type in X.520 */
michael@0 444 SEC_OID_AVA_NAME = 317,
michael@0 445
michael@0 446 SEC_OID_TOTAL
michael@0 447 } SECOidTag;
michael@0 448
michael@0 449 #define SEC_OID_SECG_EC_SECP192R1 SEC_OID_ANSIX962_EC_PRIME192V1
michael@0 450 #define SEC_OID_SECG_EC_SECP256R1 SEC_OID_ANSIX962_EC_PRIME256V1
michael@0 451 #define SEC_OID_PKCS12_KEY_USAGE SEC_OID_X509_KEY_USAGE
michael@0 452
michael@0 453 /* fake OID for DSS sign/verify */
michael@0 454 #define SEC_OID_SHA SEC_OID_MISS_DSS
michael@0 455
michael@0 456 typedef enum {
michael@0 457 INVALID_CERT_EXTENSION = 0,
michael@0 458 UNSUPPORTED_CERT_EXTENSION = 1,
michael@0 459 SUPPORTED_CERT_EXTENSION = 2
michael@0 460 } SECSupportExtenTag;
michael@0 461
michael@0 462 struct SECOidDataStr {
michael@0 463 SECItem oid;
michael@0 464 SECOidTag offset;
michael@0 465 const char * desc;
michael@0 466 unsigned long mechanism;
michael@0 467 SECSupportExtenTag supportedExtension;
michael@0 468 /* only used for x.509 v3 extensions, so
michael@0 469 that we can print the names of those
michael@0 470 extensions that we don't even support */
michael@0 471 };
michael@0 472
michael@0 473 /* New Opaque extended OID table API.
michael@0 474 * These are algorithm policy Flags, used with functions
michael@0 475 * NSS_SetAlgorithmPolicy & NSS_GetAlgorithmPolicy.
michael@0 476 */
michael@0 477 #define NSS_USE_ALG_IN_CERT_SIGNATURE 0x00000001 /* CRLs and OCSP, too */
michael@0 478 #define NSS_USE_ALG_IN_CMS_SIGNATURE 0x00000002 /* used in S/MIME */
michael@0 479 #define NSS_USE_ALG_RESERVED 0xfffffffc /* may be used in future */
michael@0 480
michael@0 481 /* Code MUST NOT SET or CLEAR reserved bits, and must NOT depend on them
michael@0 482 * being all zeros or having any other known value. The reserved bits
michael@0 483 * must be ignored.
michael@0 484 */
michael@0 485
michael@0 486
michael@0 487 #endif /* _SECOIDT_H_ */

mercurial