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