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