Back to index

lightning-sunbird  0.9+nobinonly
secoidt.h
Go to the documentation of this file.
00001 /* ***** BEGIN LICENSE BLOCK *****
00002  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00003  *
00004  * The contents of this file are subject to the Mozilla Public License Version
00005  * 1.1 (the "License"); you may not use this file except in compliance with
00006  * the License. You may obtain a copy of the License at
00007  * http://www.mozilla.org/MPL/
00008  *
00009  * Software distributed under the License is distributed on an "AS IS" basis,
00010  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00011  * for the specific language governing rights and limitations under the
00012  * License.
00013  *
00014  * The Original Code is the Netscape security libraries.
00015  *
00016  * The Initial Developer of the Original Code is
00017  * Netscape Communications Corporation.
00018  * Portions created by the Initial Developer are Copyright (C) 1994-2000
00019  * the Initial Developer. All Rights Reserved.
00020  *
00021  * Contributor(s):
00022  *   Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either the GNU General Public License Version 2 or later (the "GPL"), or
00026  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037 
00038 #ifndef _SECOIDT_H_
00039 #define _SECOIDT_H_
00040 /*
00041  * secoidt.h - public data structures for ASN.1 OID functions
00042  *
00043  * $Id: secoidt.h,v 1.19.28.1 2006/01/21 19:01:35 rrelyea%redhat.com Exp $
00044  */
00045 
00046 #include "secitem.h"
00047 
00048 typedef struct SECOidDataStr SECOidData;
00049 typedef struct SECAlgorithmIDStr SECAlgorithmID;
00050 
00051 /*
00052 ** An X.500 algorithm identifier
00053 */
00054 struct SECAlgorithmIDStr {
00055     SECItem algorithm;
00056     SECItem parameters;
00057 };
00058 
00059 /*
00060  * Misc object IDs - these numbers are for convenient handling.
00061  * They are mapped into real object IDs
00062  *
00063  * NOTE: the order of these entries must mach the array "oids" of SECOidData
00064  * in util/secoid.c.
00065  */
00066 typedef enum {
00067     SEC_OID_UNKNOWN = 0,
00068     SEC_OID_MD2 = 1,
00069     SEC_OID_MD4 = 2,
00070     SEC_OID_MD5 = 3,
00071     SEC_OID_SHA1 = 4,
00072     SEC_OID_RC2_CBC = 5,
00073     SEC_OID_RC4 = 6,
00074     SEC_OID_DES_EDE3_CBC = 7,
00075     SEC_OID_RC5_CBC_PAD = 8,
00076     SEC_OID_DES_ECB = 9,
00077     SEC_OID_DES_CBC = 10,
00078     SEC_OID_DES_OFB = 11,
00079     SEC_OID_DES_CFB = 12,
00080     SEC_OID_DES_MAC = 13,
00081     SEC_OID_DES_EDE = 14,
00082     SEC_OID_ISO_SHA_WITH_RSA_SIGNATURE = 15,
00083     SEC_OID_PKCS1_RSA_ENCRYPTION = 16,
00084     SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION = 17,
00085     SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION = 18,
00086     SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION = 19,
00087     SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION = 20,
00088     SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC = 21,
00089     SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC = 22,
00090     SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC = 23,
00091     SEC_OID_PKCS7 = 24,
00092     SEC_OID_PKCS7_DATA = 25,
00093     SEC_OID_PKCS7_SIGNED_DATA = 26,
00094     SEC_OID_PKCS7_ENVELOPED_DATA = 27,
00095     SEC_OID_PKCS7_SIGNED_ENVELOPED_DATA = 28,
00096     SEC_OID_PKCS7_DIGESTED_DATA = 29,
00097     SEC_OID_PKCS7_ENCRYPTED_DATA = 30,
00098     SEC_OID_PKCS9_EMAIL_ADDRESS = 31,
00099     SEC_OID_PKCS9_UNSTRUCTURED_NAME = 32,
00100     SEC_OID_PKCS9_CONTENT_TYPE = 33,
00101     SEC_OID_PKCS9_MESSAGE_DIGEST = 34,
00102     SEC_OID_PKCS9_SIGNING_TIME = 35,
00103     SEC_OID_PKCS9_COUNTER_SIGNATURE = 36,
00104     SEC_OID_PKCS9_CHALLENGE_PASSWORD = 37,
00105     SEC_OID_PKCS9_UNSTRUCTURED_ADDRESS = 38,
00106     SEC_OID_PKCS9_EXTENDED_CERTIFICATE_ATTRIBUTES = 39,
00107     SEC_OID_PKCS9_SMIME_CAPABILITIES = 40,
00108     SEC_OID_AVA_COMMON_NAME = 41,
00109     SEC_OID_AVA_COUNTRY_NAME = 42,
00110     SEC_OID_AVA_LOCALITY = 43,
00111     SEC_OID_AVA_STATE_OR_PROVINCE = 44,
00112     SEC_OID_AVA_ORGANIZATION_NAME = 45,
00113     SEC_OID_AVA_ORGANIZATIONAL_UNIT_NAME = 46,
00114     SEC_OID_AVA_DN_QUALIFIER = 47,
00115     SEC_OID_AVA_DC = 48,
00116 
00117     SEC_OID_NS_TYPE_GIF = 49,
00118     SEC_OID_NS_TYPE_JPEG = 50,
00119     SEC_OID_NS_TYPE_URL = 51,
00120     SEC_OID_NS_TYPE_HTML = 52,
00121     SEC_OID_NS_TYPE_CERT_SEQUENCE = 53,
00122     SEC_OID_MISSI_KEA_DSS_OLD = 54,
00123     SEC_OID_MISSI_DSS_OLD = 55,
00124     SEC_OID_MISSI_KEA_DSS = 56,
00125     SEC_OID_MISSI_DSS = 57,
00126     SEC_OID_MISSI_KEA = 58,
00127     SEC_OID_MISSI_ALT_KEA = 59,
00128 
00129     /* Netscape private certificate extensions */
00130     SEC_OID_NS_CERT_EXT_NETSCAPE_OK = 60,
00131     SEC_OID_NS_CERT_EXT_ISSUER_LOGO = 61,
00132     SEC_OID_NS_CERT_EXT_SUBJECT_LOGO = 62,
00133     SEC_OID_NS_CERT_EXT_CERT_TYPE = 63,
00134     SEC_OID_NS_CERT_EXT_BASE_URL = 64,
00135     SEC_OID_NS_CERT_EXT_REVOCATION_URL = 65,
00136     SEC_OID_NS_CERT_EXT_CA_REVOCATION_URL = 66,
00137     SEC_OID_NS_CERT_EXT_CA_CRL_URL = 67,
00138     SEC_OID_NS_CERT_EXT_CA_CERT_URL = 68,
00139     SEC_OID_NS_CERT_EXT_CERT_RENEWAL_URL = 69,
00140     SEC_OID_NS_CERT_EXT_CA_POLICY_URL = 70,
00141     SEC_OID_NS_CERT_EXT_HOMEPAGE_URL = 71,
00142     SEC_OID_NS_CERT_EXT_ENTITY_LOGO = 72,
00143     SEC_OID_NS_CERT_EXT_USER_PICTURE = 73,
00144     SEC_OID_NS_CERT_EXT_SSL_SERVER_NAME = 74,
00145     SEC_OID_NS_CERT_EXT_COMMENT = 75,
00146     SEC_OID_NS_CERT_EXT_LOST_PASSWORD_URL = 76,
00147     SEC_OID_NS_CERT_EXT_CERT_RENEWAL_TIME = 77,
00148     SEC_OID_NS_KEY_USAGE_GOVT_APPROVED = 78,
00149 
00150     /* x.509 v3 Extensions */
00151     SEC_OID_X509_SUBJECT_DIRECTORY_ATTR = 79,
00152     SEC_OID_X509_SUBJECT_KEY_ID = 80,
00153     SEC_OID_X509_KEY_USAGE = 81,
00154     SEC_OID_X509_PRIVATE_KEY_USAGE_PERIOD = 82,
00155     SEC_OID_X509_SUBJECT_ALT_NAME = 83,
00156     SEC_OID_X509_ISSUER_ALT_NAME = 84,
00157     SEC_OID_X509_BASIC_CONSTRAINTS = 85,
00158     SEC_OID_X509_NAME_CONSTRAINTS = 86,
00159     SEC_OID_X509_CRL_DIST_POINTS = 87,
00160     SEC_OID_X509_CERTIFICATE_POLICIES = 88,
00161     SEC_OID_X509_POLICY_MAPPINGS = 89,
00162     SEC_OID_X509_POLICY_CONSTRAINTS = 90,
00163     SEC_OID_X509_AUTH_KEY_ID = 91,
00164     SEC_OID_X509_EXT_KEY_USAGE = 92,
00165     SEC_OID_X509_AUTH_INFO_ACCESS = 93,
00166 
00167     SEC_OID_X509_CRL_NUMBER = 94,
00168     SEC_OID_X509_REASON_CODE = 95,
00169     SEC_OID_X509_INVALID_DATE = 96,
00170     /* End of x.509 v3 Extensions */    
00171 
00172     SEC_OID_X500_RSA_ENCRYPTION = 97,
00173 
00174     /* alg 1485 additions */
00175     SEC_OID_RFC1274_UID = 98,
00176     SEC_OID_RFC1274_MAIL = 99,
00177 
00178     /* PKCS 12 additions */
00179     SEC_OID_PKCS12 = 100,
00180     SEC_OID_PKCS12_MODE_IDS = 101,
00181     SEC_OID_PKCS12_ESPVK_IDS = 102,
00182     SEC_OID_PKCS12_BAG_IDS = 103,
00183     SEC_OID_PKCS12_CERT_BAG_IDS = 104,
00184     SEC_OID_PKCS12_OIDS = 105,
00185     SEC_OID_PKCS12_PBE_IDS = 106,
00186     SEC_OID_PKCS12_SIGNATURE_IDS = 107,
00187     SEC_OID_PKCS12_ENVELOPING_IDS = 108,
00188    /* SEC_OID_PKCS12_OFFLINE_TRANSPORT_MODE,
00189     SEC_OID_PKCS12_ONLINE_TRANSPORT_MODE, */
00190     SEC_OID_PKCS12_PKCS8_KEY_SHROUDING = 109,
00191     SEC_OID_PKCS12_KEY_BAG_ID = 110,
00192     SEC_OID_PKCS12_CERT_AND_CRL_BAG_ID = 111,
00193     SEC_OID_PKCS12_SECRET_BAG_ID = 112,
00194     SEC_OID_PKCS12_X509_CERT_CRL_BAG = 113,
00195     SEC_OID_PKCS12_SDSI_CERT_BAG = 114,
00196     SEC_OID_PKCS12_PBE_WITH_SHA1_AND_128_BIT_RC4 = 115,
00197     SEC_OID_PKCS12_PBE_WITH_SHA1_AND_40_BIT_RC4 = 116,
00198     SEC_OID_PKCS12_PBE_WITH_SHA1_AND_TRIPLE_DES_CBC = 117,
00199     SEC_OID_PKCS12_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC = 118,
00200     SEC_OID_PKCS12_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC = 119,
00201     SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_128_BIT_RC4 = 120,
00202     SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_40_BIT_RC4 = 121,
00203     SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_TRIPLE_DES = 122,
00204     SEC_OID_PKCS12_RSA_SIGNATURE_WITH_SHA1_DIGEST = 123,
00205     /* end of PKCS 12 additions */
00206 
00207     /* DSA signatures */
00208     SEC_OID_ANSIX9_DSA_SIGNATURE = 124,
00209     SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST = 125,
00210     SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST = 126,
00211 
00212     /* Verisign OIDs */
00213     SEC_OID_VERISIGN_USER_NOTICES = 127,
00214 
00215     /* PKIX OIDs */
00216     SEC_OID_PKIX_CPS_POINTER_QUALIFIER = 128,
00217     SEC_OID_PKIX_USER_NOTICE_QUALIFIER = 129,
00218     SEC_OID_PKIX_OCSP = 130,
00219     SEC_OID_PKIX_OCSP_BASIC_RESPONSE = 131,
00220     SEC_OID_PKIX_OCSP_NONCE = 132,
00221     SEC_OID_PKIX_OCSP_CRL = 133,
00222     SEC_OID_PKIX_OCSP_RESPONSE = 134,
00223     SEC_OID_PKIX_OCSP_NO_CHECK = 135,
00224     SEC_OID_PKIX_OCSP_ARCHIVE_CUTOFF = 136,
00225     SEC_OID_PKIX_OCSP_SERVICE_LOCATOR = 137,
00226     SEC_OID_PKIX_REGCTRL_REGTOKEN = 138,
00227     SEC_OID_PKIX_REGCTRL_AUTHENTICATOR = 139,
00228     SEC_OID_PKIX_REGCTRL_PKIPUBINFO = 140,
00229     SEC_OID_PKIX_REGCTRL_PKI_ARCH_OPTIONS = 141,
00230     SEC_OID_PKIX_REGCTRL_OLD_CERT_ID = 142,
00231     SEC_OID_PKIX_REGCTRL_PROTOCOL_ENC_KEY = 143,
00232     SEC_OID_PKIX_REGINFO_UTF8_PAIRS = 144,
00233     SEC_OID_PKIX_REGINFO_CERT_REQUEST = 145,
00234     SEC_OID_EXT_KEY_USAGE_SERVER_AUTH = 146,
00235     SEC_OID_EXT_KEY_USAGE_CLIENT_AUTH = 147,
00236     SEC_OID_EXT_KEY_USAGE_CODE_SIGN = 148,
00237     SEC_OID_EXT_KEY_USAGE_EMAIL_PROTECT = 149,
00238     SEC_OID_EXT_KEY_USAGE_TIME_STAMP = 150,
00239     SEC_OID_OCSP_RESPONDER = 151,
00240 
00241     /* Netscape Algorithm OIDs */
00242     SEC_OID_NETSCAPE_SMIME_KEA = 152,
00243 
00244     /* Skipjack OID -- ### mwelch temporary */
00245     SEC_OID_FORTEZZA_SKIPJACK = 153,
00246 
00247     /* PKCS 12 V2 oids */
00248     SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4 = 154,
00249     SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4 = 155,
00250     SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC = 156,
00251     SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_2KEY_TRIPLE_DES_CBC = 157,
00252     SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC = 158,
00253     SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC = 159,
00254     SEC_OID_PKCS12_SAFE_CONTENTS_ID = 160,
00255     SEC_OID_PKCS12_PKCS8_SHROUDED_KEY_BAG_ID = 161,
00256 
00257     SEC_OID_PKCS12_V1_KEY_BAG_ID = 162,
00258     SEC_OID_PKCS12_V1_PKCS8_SHROUDED_KEY_BAG_ID = 163,
00259     SEC_OID_PKCS12_V1_CERT_BAG_ID = 164,
00260     SEC_OID_PKCS12_V1_CRL_BAG_ID = 165,
00261     SEC_OID_PKCS12_V1_SECRET_BAG_ID = 166,
00262     SEC_OID_PKCS12_V1_SAFE_CONTENTS_BAG_ID = 167,
00263     SEC_OID_PKCS9_X509_CERT = 168,
00264     SEC_OID_PKCS9_SDSI_CERT = 169,
00265     SEC_OID_PKCS9_X509_CRL = 170,
00266     SEC_OID_PKCS9_FRIENDLY_NAME = 171,
00267     SEC_OID_PKCS9_LOCAL_KEY_ID = 172,
00268     SEC_OID_PKCS12_KEY_USAGE = 173,
00269 
00270     /*Diffe Helman OIDS */
00271     SEC_OID_X942_DIFFIE_HELMAN_KEY = 174,
00272 
00273     /* Netscape other name types */
00274     SEC_OID_NETSCAPE_NICKNAME = 175,
00275 
00276     /* Cert Server OIDS */
00277     SEC_OID_NETSCAPE_RECOVERY_REQUEST = 176,
00278 
00279     /* New PSM certificate management OIDs */
00280     SEC_OID_CERT_RENEWAL_LOCATOR = 177,
00281     SEC_OID_NS_CERT_EXT_SCOPE_OF_USE = 178,
00282     
00283     /* CMS (RFC2630) OIDs */
00284     SEC_OID_CMS_EPHEMERAL_STATIC_DIFFIE_HELLMAN = 179,
00285     SEC_OID_CMS_3DES_KEY_WRAP = 180,
00286     SEC_OID_CMS_RC2_KEY_WRAP = 181,
00287 
00288     /* SMIME attributes */
00289     SEC_OID_SMIME_ENCRYPTION_KEY_PREFERENCE = 182,
00290 
00291     /* AES OIDs */
00292     SEC_OID_AES_128_ECB     = 183,
00293     SEC_OID_AES_128_CBC     = 184,
00294     SEC_OID_AES_192_ECB     = 185,
00295     SEC_OID_AES_192_CBC     = 186,
00296     SEC_OID_AES_256_ECB     = 187,
00297     SEC_OID_AES_256_CBC     = 188,
00298 
00299     SEC_OID_SDN702_DSA_SIGNATURE = 189,
00300 
00301     SEC_OID_MS_SMIME_ENCRYPTION_KEY_PREFERENCE = 190,
00302 
00303     SEC_OID_SHA256              = 191,
00304     SEC_OID_SHA384              = 192,
00305     SEC_OID_SHA512              = 193,
00306 
00307     SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION = 194,
00308     SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION = 195,
00309     SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION = 196,
00310 
00311     SEC_OID_AES_128_KEY_WRAP       = 197,
00312     SEC_OID_AES_192_KEY_WRAP       = 198,
00313     SEC_OID_AES_256_KEY_WRAP       = 199,
00314 
00315     /* Elliptic Curve Cryptography (ECC) OIDs */
00316     SEC_OID_ANSIX962_EC_PUBLIC_KEY  = 200,
00317     SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE = 201,
00318 
00319 #define SEC_OID_ANSIX962_ECDSA_SIGNATURE_WITH_SHA1_DIGEST \
00320        SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE
00321 
00322     /* ANSI X9.62 named elliptic curves (prime field) */
00323     SEC_OID_ANSIX962_EC_PRIME192V1  = 202,
00324     SEC_OID_ANSIX962_EC_PRIME192V2  = 203,
00325     SEC_OID_ANSIX962_EC_PRIME192V3  = 204,
00326     SEC_OID_ANSIX962_EC_PRIME239V1  = 205,
00327     SEC_OID_ANSIX962_EC_PRIME239V2  = 206,
00328     SEC_OID_ANSIX962_EC_PRIME239V3  = 207,
00329     SEC_OID_ANSIX962_EC_PRIME256V1  = 208,
00330 
00331     /* SECG named elliptic curves (prime field) */
00332     SEC_OID_SECG_EC_SECP112R1       = 209,
00333     SEC_OID_SECG_EC_SECP112R2       = 210,
00334     SEC_OID_SECG_EC_SECP128R1       = 211,
00335     SEC_OID_SECG_EC_SECP128R2       = 212,
00336     SEC_OID_SECG_EC_SECP160K1       = 213,
00337     SEC_OID_SECG_EC_SECP160R1       = 214, 
00338     SEC_OID_SECG_EC_SECP160R2       = 215,
00339     SEC_OID_SECG_EC_SECP192K1       = 216,
00340     /* SEC_OID_SECG_EC_SECP192R1 is SEC_OID_ANSIX962_EC_PRIME192V1 */
00341     SEC_OID_SECG_EC_SECP224K1       = 217,
00342     SEC_OID_SECG_EC_SECP224R1       = 218,
00343     SEC_OID_SECG_EC_SECP256K1       = 219,
00344     /* SEC_OID_SECG_EC_SECP256R1 is SEC_OID_ANSIX962_EC_PRIME256V1 */
00345     SEC_OID_SECG_EC_SECP384R1       = 220,
00346     SEC_OID_SECG_EC_SECP521R1       = 221,
00347 
00348     /* ANSI X9.62 named elliptic curves (characteristic two field) */
00349     SEC_OID_ANSIX962_EC_C2PNB163V1  = 222,
00350     SEC_OID_ANSIX962_EC_C2PNB163V2  = 223,
00351     SEC_OID_ANSIX962_EC_C2PNB163V3  = 224,
00352     SEC_OID_ANSIX962_EC_C2PNB176V1  = 225,
00353     SEC_OID_ANSIX962_EC_C2TNB191V1  = 226,
00354     SEC_OID_ANSIX962_EC_C2TNB191V2  = 227,
00355     SEC_OID_ANSIX962_EC_C2TNB191V3  = 228,
00356     SEC_OID_ANSIX962_EC_C2ONB191V4  = 229,
00357     SEC_OID_ANSIX962_EC_C2ONB191V5  = 230,
00358     SEC_OID_ANSIX962_EC_C2PNB208W1  = 231,
00359     SEC_OID_ANSIX962_EC_C2TNB239V1  = 232,
00360     SEC_OID_ANSIX962_EC_C2TNB239V2  = 233,
00361     SEC_OID_ANSIX962_EC_C2TNB239V3  = 234,
00362     SEC_OID_ANSIX962_EC_C2ONB239V4  = 235,
00363     SEC_OID_ANSIX962_EC_C2ONB239V5  = 236,
00364     SEC_OID_ANSIX962_EC_C2PNB272W1  = 237,
00365     SEC_OID_ANSIX962_EC_C2PNB304W1  = 238,
00366     SEC_OID_ANSIX962_EC_C2TNB359V1  = 239,
00367     SEC_OID_ANSIX962_EC_C2PNB368W1  = 240,
00368     SEC_OID_ANSIX962_EC_C2TNB431R1  = 241,
00369 
00370     /* SECG named elliptic curves (characteristic two field) */
00371     SEC_OID_SECG_EC_SECT113R1       = 242,
00372     SEC_OID_SECG_EC_SECT113R2       = 243,
00373     SEC_OID_SECG_EC_SECT131R1       = 244,
00374     SEC_OID_SECG_EC_SECT131R2       = 245,
00375     SEC_OID_SECG_EC_SECT163K1       = 246,
00376     SEC_OID_SECG_EC_SECT163R1       = 247,
00377     SEC_OID_SECG_EC_SECT163R2       = 248,
00378     SEC_OID_SECG_EC_SECT193R1       = 249,
00379     SEC_OID_SECG_EC_SECT193R2       = 250,
00380     SEC_OID_SECG_EC_SECT233K1       = 251,
00381     SEC_OID_SECG_EC_SECT233R1       = 252,
00382     SEC_OID_SECG_EC_SECT239K1       = 253,
00383     SEC_OID_SECG_EC_SECT283K1       = 254,
00384     SEC_OID_SECG_EC_SECT283R1       = 255,
00385     SEC_OID_SECG_EC_SECT409K1       = 256,
00386     SEC_OID_SECG_EC_SECT409R1       = 257,
00387     SEC_OID_SECG_EC_SECT571K1       = 258,
00388     SEC_OID_SECG_EC_SECT571R1       = 259,
00389 
00390     SEC_OID_NETSCAPE_AOLSCREENNAME  = 260,
00391 
00392     SEC_OID_AVA_SURNAME              = 261,
00393     SEC_OID_AVA_SERIAL_NUMBER        = 262,
00394     SEC_OID_AVA_STREET_ADDRESS       = 263,
00395     SEC_OID_AVA_TITLE                = 264,
00396     SEC_OID_AVA_POSTAL_ADDRESS       = 265,
00397     SEC_OID_AVA_POSTAL_CODE          = 266,
00398     SEC_OID_AVA_POST_OFFICE_BOX      = 267,
00399     SEC_OID_AVA_GIVEN_NAME           = 268,
00400     SEC_OID_AVA_INITIALS             = 269,
00401     SEC_OID_AVA_GENERATION_QUALIFIER = 270,
00402     SEC_OID_AVA_HOUSE_IDENTIFIER     = 271,
00403     SEC_OID_AVA_PSEUDONYM            = 272,
00404 
00405     /* More OIDs */
00406     SEC_OID_PKIX_CA_ISSUERS          = 273,
00407     SEC_OID_PKCS9_EXTENSION_REQUEST  = 274,
00408 
00409     /* new EC Signature oids */
00410     SEC_OID_ANSIX962_ECDSA_SIGNATURE_RECOMMENDED_DIGEST = 275,
00411     SEC_OID_ANSIX962_ECDSA_SIGNATURE_SPECIFIED_DIGEST = 276,
00412     SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE = 277,
00413     SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE = 278,
00414     SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE = 279,
00415     SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE = 280,
00416     SEC_OID_TOTAL
00417 } SECOidTag;
00418 
00419 #define SEC_OID_SECG_EC_SECP192R1 SEC_OID_ANSIX962_EC_PRIME192V1
00420 #define SEC_OID_SECG_EC_SECP256R1 SEC_OID_ANSIX962_EC_PRIME256V1
00421 
00422 /* fake OID for DSS sign/verify */
00423 #define SEC_OID_SHA SEC_OID_MISS_DSS
00424 
00425 typedef enum {
00426     INVALID_CERT_EXTENSION = 0,
00427     UNSUPPORTED_CERT_EXTENSION = 1,
00428     SUPPORTED_CERT_EXTENSION = 2
00429 } SECSupportExtenTag;
00430 
00431 struct SECOidDataStr {
00432     SECItem            oid;
00433     SECOidTag          offset;
00434     const char *       desc;
00435     unsigned long      mechanism;
00436     SECSupportExtenTag supportedExtension;       
00437                             /* only used for x.509 v3 extensions, so
00438                                that we can print the names of those
00439                                extensions that we don't even support */
00440 };
00441 
00442 #endif /* _SECOIDT_H_ */