1*f5b1c8a1SJohn Marino /* $OpenBSD$ */ 2*f5b1c8a1SJohn Marino /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3*f5b1c8a1SJohn Marino * All rights reserved. 4*f5b1c8a1SJohn Marino * 5*f5b1c8a1SJohn Marino * This package is an SSL implementation written 6*f5b1c8a1SJohn Marino * by Eric Young (eay@cryptsoft.com). 7*f5b1c8a1SJohn Marino * The implementation was written so as to conform with Netscapes SSL. 8*f5b1c8a1SJohn Marino * 9*f5b1c8a1SJohn Marino * This library is free for commercial and non-commercial use as long as 10*f5b1c8a1SJohn Marino * the following conditions are aheared to. The following conditions 11*f5b1c8a1SJohn Marino * apply to all code found in this distribution, be it the RC4, RSA, 12*f5b1c8a1SJohn Marino * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13*f5b1c8a1SJohn Marino * included with this distribution is covered by the same copyright terms 14*f5b1c8a1SJohn Marino * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15*f5b1c8a1SJohn Marino * 16*f5b1c8a1SJohn Marino * Copyright remains Eric Young's, and as such any Copyright notices in 17*f5b1c8a1SJohn Marino * the code are not to be removed. 18*f5b1c8a1SJohn Marino * If this package is used in a product, Eric Young should be given attribution 19*f5b1c8a1SJohn Marino * as the author of the parts of the library used. 20*f5b1c8a1SJohn Marino * This can be in the form of a textual message at program startup or 21*f5b1c8a1SJohn Marino * in documentation (online or textual) provided with the package. 22*f5b1c8a1SJohn Marino * 23*f5b1c8a1SJohn Marino * Redistribution and use in source and binary forms, with or without 24*f5b1c8a1SJohn Marino * modification, are permitted provided that the following conditions 25*f5b1c8a1SJohn Marino * are met: 26*f5b1c8a1SJohn Marino * 1. Redistributions of source code must retain the copyright 27*f5b1c8a1SJohn Marino * notice, this list of conditions and the following disclaimer. 28*f5b1c8a1SJohn Marino * 2. Redistributions in binary form must reproduce the above copyright 29*f5b1c8a1SJohn Marino * notice, this list of conditions and the following disclaimer in the 30*f5b1c8a1SJohn Marino * documentation and/or other materials provided with the distribution. 31*f5b1c8a1SJohn Marino * 3. All advertising materials mentioning features or use of this software 32*f5b1c8a1SJohn Marino * must display the following acknowledgement: 33*f5b1c8a1SJohn Marino * "This product includes cryptographic software written by 34*f5b1c8a1SJohn Marino * Eric Young (eay@cryptsoft.com)" 35*f5b1c8a1SJohn Marino * The word 'cryptographic' can be left out if the rouines from the library 36*f5b1c8a1SJohn Marino * being used are not cryptographic related :-). 37*f5b1c8a1SJohn Marino * 4. If you include any Windows specific code (or a derivative thereof) from 38*f5b1c8a1SJohn Marino * the apps directory (application code) you must include an acknowledgement: 39*f5b1c8a1SJohn Marino * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40*f5b1c8a1SJohn Marino * 41*f5b1c8a1SJohn Marino * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42*f5b1c8a1SJohn Marino * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43*f5b1c8a1SJohn Marino * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44*f5b1c8a1SJohn Marino * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45*f5b1c8a1SJohn Marino * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46*f5b1c8a1SJohn Marino * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47*f5b1c8a1SJohn Marino * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48*f5b1c8a1SJohn Marino * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49*f5b1c8a1SJohn Marino * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50*f5b1c8a1SJohn Marino * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51*f5b1c8a1SJohn Marino * SUCH DAMAGE. 52*f5b1c8a1SJohn Marino * 53*f5b1c8a1SJohn Marino * The licence and distribution terms for any publically available version or 54*f5b1c8a1SJohn Marino * derivative of this code cannot be changed. i.e. this code cannot simply be 55*f5b1c8a1SJohn Marino * copied and put under another distribution licence 56*f5b1c8a1SJohn Marino * [including the GNU Public Licence.] 57*f5b1c8a1SJohn Marino */ 58*f5b1c8a1SJohn Marino 59*f5b1c8a1SJohn Marino #ifndef HEADER_OBJECTS_H 60*f5b1c8a1SJohn Marino #define HEADER_OBJECTS_H 61*f5b1c8a1SJohn Marino 62*f5b1c8a1SJohn Marino #define USE_OBJ_MAC 63*f5b1c8a1SJohn Marino 64*f5b1c8a1SJohn Marino #ifdef USE_OBJ_MAC 65*f5b1c8a1SJohn Marino #include <openssl/obj_mac.h> 66*f5b1c8a1SJohn Marino #else 67*f5b1c8a1SJohn Marino #define SN_undef "UNDEF" 68*f5b1c8a1SJohn Marino #define LN_undef "undefined" 69*f5b1c8a1SJohn Marino #define NID_undef 0 70*f5b1c8a1SJohn Marino #define OBJ_undef 0L 71*f5b1c8a1SJohn Marino 72*f5b1c8a1SJohn Marino #define SN_Algorithm "Algorithm" 73*f5b1c8a1SJohn Marino #define LN_algorithm "algorithm" 74*f5b1c8a1SJohn Marino #define NID_algorithm 38 75*f5b1c8a1SJohn Marino #define OBJ_algorithm 1L,3L,14L,3L,2L 76*f5b1c8a1SJohn Marino 77*f5b1c8a1SJohn Marino #define LN_rsadsi "rsadsi" 78*f5b1c8a1SJohn Marino #define NID_rsadsi 1 79*f5b1c8a1SJohn Marino #define OBJ_rsadsi 1L,2L,840L,113549L 80*f5b1c8a1SJohn Marino 81*f5b1c8a1SJohn Marino #define LN_pkcs "pkcs" 82*f5b1c8a1SJohn Marino #define NID_pkcs 2 83*f5b1c8a1SJohn Marino #define OBJ_pkcs OBJ_rsadsi,1L 84*f5b1c8a1SJohn Marino 85*f5b1c8a1SJohn Marino #define SN_md2 "MD2" 86*f5b1c8a1SJohn Marino #define LN_md2 "md2" 87*f5b1c8a1SJohn Marino #define NID_md2 3 88*f5b1c8a1SJohn Marino #define OBJ_md2 OBJ_rsadsi,2L,2L 89*f5b1c8a1SJohn Marino 90*f5b1c8a1SJohn Marino #define SN_md5 "MD5" 91*f5b1c8a1SJohn Marino #define LN_md5 "md5" 92*f5b1c8a1SJohn Marino #define NID_md5 4 93*f5b1c8a1SJohn Marino #define OBJ_md5 OBJ_rsadsi,2L,5L 94*f5b1c8a1SJohn Marino 95*f5b1c8a1SJohn Marino #define SN_rc4 "RC4" 96*f5b1c8a1SJohn Marino #define LN_rc4 "rc4" 97*f5b1c8a1SJohn Marino #define NID_rc4 5 98*f5b1c8a1SJohn Marino #define OBJ_rc4 OBJ_rsadsi,3L,4L 99*f5b1c8a1SJohn Marino 100*f5b1c8a1SJohn Marino #define LN_rsaEncryption "rsaEncryption" 101*f5b1c8a1SJohn Marino #define NID_rsaEncryption 6 102*f5b1c8a1SJohn Marino #define OBJ_rsaEncryption OBJ_pkcs,1L,1L 103*f5b1c8a1SJohn Marino 104*f5b1c8a1SJohn Marino #define SN_md2WithRSAEncryption "RSA-MD2" 105*f5b1c8a1SJohn Marino #define LN_md2WithRSAEncryption "md2WithRSAEncryption" 106*f5b1c8a1SJohn Marino #define NID_md2WithRSAEncryption 7 107*f5b1c8a1SJohn Marino #define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L 108*f5b1c8a1SJohn Marino 109*f5b1c8a1SJohn Marino #define SN_md5WithRSAEncryption "RSA-MD5" 110*f5b1c8a1SJohn Marino #define LN_md5WithRSAEncryption "md5WithRSAEncryption" 111*f5b1c8a1SJohn Marino #define NID_md5WithRSAEncryption 8 112*f5b1c8a1SJohn Marino #define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L 113*f5b1c8a1SJohn Marino 114*f5b1c8a1SJohn Marino #define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" 115*f5b1c8a1SJohn Marino #define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" 116*f5b1c8a1SJohn Marino #define NID_pbeWithMD2AndDES_CBC 9 117*f5b1c8a1SJohn Marino #define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L 118*f5b1c8a1SJohn Marino 119*f5b1c8a1SJohn Marino #define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" 120*f5b1c8a1SJohn Marino #define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" 121*f5b1c8a1SJohn Marino #define NID_pbeWithMD5AndDES_CBC 10 122*f5b1c8a1SJohn Marino #define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L 123*f5b1c8a1SJohn Marino 124*f5b1c8a1SJohn Marino #define LN_X500 "X500" 125*f5b1c8a1SJohn Marino #define NID_X500 11 126*f5b1c8a1SJohn Marino #define OBJ_X500 2L,5L 127*f5b1c8a1SJohn Marino 128*f5b1c8a1SJohn Marino #define LN_X509 "X509" 129*f5b1c8a1SJohn Marino #define NID_X509 12 130*f5b1c8a1SJohn Marino #define OBJ_X509 OBJ_X500,4L 131*f5b1c8a1SJohn Marino 132*f5b1c8a1SJohn Marino #define SN_commonName "CN" 133*f5b1c8a1SJohn Marino #define LN_commonName "commonName" 134*f5b1c8a1SJohn Marino #define NID_commonName 13 135*f5b1c8a1SJohn Marino #define OBJ_commonName OBJ_X509,3L 136*f5b1c8a1SJohn Marino 137*f5b1c8a1SJohn Marino #define SN_countryName "C" 138*f5b1c8a1SJohn Marino #define LN_countryName "countryName" 139*f5b1c8a1SJohn Marino #define NID_countryName 14 140*f5b1c8a1SJohn Marino #define OBJ_countryName OBJ_X509,6L 141*f5b1c8a1SJohn Marino 142*f5b1c8a1SJohn Marino #define SN_localityName "L" 143*f5b1c8a1SJohn Marino #define LN_localityName "localityName" 144*f5b1c8a1SJohn Marino #define NID_localityName 15 145*f5b1c8a1SJohn Marino #define OBJ_localityName OBJ_X509,7L 146*f5b1c8a1SJohn Marino 147*f5b1c8a1SJohn Marino /* Postal Address? PA */ 148*f5b1c8a1SJohn Marino 149*f5b1c8a1SJohn Marino /* should be "ST" (rfc1327) but MS uses 'S' */ 150*f5b1c8a1SJohn Marino #define SN_stateOrProvinceName "ST" 151*f5b1c8a1SJohn Marino #define LN_stateOrProvinceName "stateOrProvinceName" 152*f5b1c8a1SJohn Marino #define NID_stateOrProvinceName 16 153*f5b1c8a1SJohn Marino #define OBJ_stateOrProvinceName OBJ_X509,8L 154*f5b1c8a1SJohn Marino 155*f5b1c8a1SJohn Marino #define SN_organizationName "O" 156*f5b1c8a1SJohn Marino #define LN_organizationName "organizationName" 157*f5b1c8a1SJohn Marino #define NID_organizationName 17 158*f5b1c8a1SJohn Marino #define OBJ_organizationName OBJ_X509,10L 159*f5b1c8a1SJohn Marino 160*f5b1c8a1SJohn Marino #define SN_organizationalUnitName "OU" 161*f5b1c8a1SJohn Marino #define LN_organizationalUnitName "organizationalUnitName" 162*f5b1c8a1SJohn Marino #define NID_organizationalUnitName 18 163*f5b1c8a1SJohn Marino #define OBJ_organizationalUnitName OBJ_X509,11L 164*f5b1c8a1SJohn Marino 165*f5b1c8a1SJohn Marino #define SN_rsa "RSA" 166*f5b1c8a1SJohn Marino #define LN_rsa "rsa" 167*f5b1c8a1SJohn Marino #define NID_rsa 19 168*f5b1c8a1SJohn Marino #define OBJ_rsa OBJ_X500,8L,1L,1L 169*f5b1c8a1SJohn Marino 170*f5b1c8a1SJohn Marino #define LN_pkcs7 "pkcs7" 171*f5b1c8a1SJohn Marino #define NID_pkcs7 20 172*f5b1c8a1SJohn Marino #define OBJ_pkcs7 OBJ_pkcs,7L 173*f5b1c8a1SJohn Marino 174*f5b1c8a1SJohn Marino #define LN_pkcs7_data "pkcs7-data" 175*f5b1c8a1SJohn Marino #define NID_pkcs7_data 21 176*f5b1c8a1SJohn Marino #define OBJ_pkcs7_data OBJ_pkcs7,1L 177*f5b1c8a1SJohn Marino 178*f5b1c8a1SJohn Marino #define LN_pkcs7_signed "pkcs7-signedData" 179*f5b1c8a1SJohn Marino #define NID_pkcs7_signed 22 180*f5b1c8a1SJohn Marino #define OBJ_pkcs7_signed OBJ_pkcs7,2L 181*f5b1c8a1SJohn Marino 182*f5b1c8a1SJohn Marino #define LN_pkcs7_enveloped "pkcs7-envelopedData" 183*f5b1c8a1SJohn Marino #define NID_pkcs7_enveloped 23 184*f5b1c8a1SJohn Marino #define OBJ_pkcs7_enveloped OBJ_pkcs7,3L 185*f5b1c8a1SJohn Marino 186*f5b1c8a1SJohn Marino #define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" 187*f5b1c8a1SJohn Marino #define NID_pkcs7_signedAndEnveloped 24 188*f5b1c8a1SJohn Marino #define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L 189*f5b1c8a1SJohn Marino 190*f5b1c8a1SJohn Marino #define LN_pkcs7_digest "pkcs7-digestData" 191*f5b1c8a1SJohn Marino #define NID_pkcs7_digest 25 192*f5b1c8a1SJohn Marino #define OBJ_pkcs7_digest OBJ_pkcs7,5L 193*f5b1c8a1SJohn Marino 194*f5b1c8a1SJohn Marino #define LN_pkcs7_encrypted "pkcs7-encryptedData" 195*f5b1c8a1SJohn Marino #define NID_pkcs7_encrypted 26 196*f5b1c8a1SJohn Marino #define OBJ_pkcs7_encrypted OBJ_pkcs7,6L 197*f5b1c8a1SJohn Marino 198*f5b1c8a1SJohn Marino #define LN_pkcs3 "pkcs3" 199*f5b1c8a1SJohn Marino #define NID_pkcs3 27 200*f5b1c8a1SJohn Marino #define OBJ_pkcs3 OBJ_pkcs,3L 201*f5b1c8a1SJohn Marino 202*f5b1c8a1SJohn Marino #define LN_dhKeyAgreement "dhKeyAgreement" 203*f5b1c8a1SJohn Marino #define NID_dhKeyAgreement 28 204*f5b1c8a1SJohn Marino #define OBJ_dhKeyAgreement OBJ_pkcs3,1L 205*f5b1c8a1SJohn Marino 206*f5b1c8a1SJohn Marino #define SN_des_ecb "DES-ECB" 207*f5b1c8a1SJohn Marino #define LN_des_ecb "des-ecb" 208*f5b1c8a1SJohn Marino #define NID_des_ecb 29 209*f5b1c8a1SJohn Marino #define OBJ_des_ecb OBJ_algorithm,6L 210*f5b1c8a1SJohn Marino 211*f5b1c8a1SJohn Marino #define SN_des_cfb64 "DES-CFB" 212*f5b1c8a1SJohn Marino #define LN_des_cfb64 "des-cfb" 213*f5b1c8a1SJohn Marino #define NID_des_cfb64 30 214*f5b1c8a1SJohn Marino /* IV + num */ 215*f5b1c8a1SJohn Marino #define OBJ_des_cfb64 OBJ_algorithm,9L 216*f5b1c8a1SJohn Marino 217*f5b1c8a1SJohn Marino #define SN_des_cbc "DES-CBC" 218*f5b1c8a1SJohn Marino #define LN_des_cbc "des-cbc" 219*f5b1c8a1SJohn Marino #define NID_des_cbc 31 220*f5b1c8a1SJohn Marino /* IV */ 221*f5b1c8a1SJohn Marino #define OBJ_des_cbc OBJ_algorithm,7L 222*f5b1c8a1SJohn Marino 223*f5b1c8a1SJohn Marino #define SN_des_ede "DES-EDE" 224*f5b1c8a1SJohn Marino #define LN_des_ede "des-ede" 225*f5b1c8a1SJohn Marino #define NID_des_ede 32 226*f5b1c8a1SJohn Marino /* ?? */ 227*f5b1c8a1SJohn Marino #define OBJ_des_ede OBJ_algorithm,17L 228*f5b1c8a1SJohn Marino 229*f5b1c8a1SJohn Marino #define SN_des_ede3 "DES-EDE3" 230*f5b1c8a1SJohn Marino #define LN_des_ede3 "des-ede3" 231*f5b1c8a1SJohn Marino #define NID_des_ede3 33 232*f5b1c8a1SJohn Marino 233*f5b1c8a1SJohn Marino #define SN_idea_cbc "IDEA-CBC" 234*f5b1c8a1SJohn Marino #define LN_idea_cbc "idea-cbc" 235*f5b1c8a1SJohn Marino #define NID_idea_cbc 34 236*f5b1c8a1SJohn Marino #define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L 237*f5b1c8a1SJohn Marino 238*f5b1c8a1SJohn Marino #define SN_idea_cfb64 "IDEA-CFB" 239*f5b1c8a1SJohn Marino #define LN_idea_cfb64 "idea-cfb" 240*f5b1c8a1SJohn Marino #define NID_idea_cfb64 35 241*f5b1c8a1SJohn Marino 242*f5b1c8a1SJohn Marino #define SN_idea_ecb "IDEA-ECB" 243*f5b1c8a1SJohn Marino #define LN_idea_ecb "idea-ecb" 244*f5b1c8a1SJohn Marino #define NID_idea_ecb 36 245*f5b1c8a1SJohn Marino 246*f5b1c8a1SJohn Marino #define SN_rc2_cbc "RC2-CBC" 247*f5b1c8a1SJohn Marino #define LN_rc2_cbc "rc2-cbc" 248*f5b1c8a1SJohn Marino #define NID_rc2_cbc 37 249*f5b1c8a1SJohn Marino #define OBJ_rc2_cbc OBJ_rsadsi,3L,2L 250*f5b1c8a1SJohn Marino 251*f5b1c8a1SJohn Marino #define SN_rc2_ecb "RC2-ECB" 252*f5b1c8a1SJohn Marino #define LN_rc2_ecb "rc2-ecb" 253*f5b1c8a1SJohn Marino #define NID_rc2_ecb 38 254*f5b1c8a1SJohn Marino 255*f5b1c8a1SJohn Marino #define SN_rc2_cfb64 "RC2-CFB" 256*f5b1c8a1SJohn Marino #define LN_rc2_cfb64 "rc2-cfb" 257*f5b1c8a1SJohn Marino #define NID_rc2_cfb64 39 258*f5b1c8a1SJohn Marino 259*f5b1c8a1SJohn Marino #define SN_rc2_ofb64 "RC2-OFB" 260*f5b1c8a1SJohn Marino #define LN_rc2_ofb64 "rc2-ofb" 261*f5b1c8a1SJohn Marino #define NID_rc2_ofb64 40 262*f5b1c8a1SJohn Marino 263*f5b1c8a1SJohn Marino #define SN_sha "SHA" 264*f5b1c8a1SJohn Marino #define LN_sha "sha" 265*f5b1c8a1SJohn Marino #define NID_sha 41 266*f5b1c8a1SJohn Marino #define OBJ_sha OBJ_algorithm,18L 267*f5b1c8a1SJohn Marino 268*f5b1c8a1SJohn Marino #define SN_shaWithRSAEncryption "RSA-SHA" 269*f5b1c8a1SJohn Marino #define LN_shaWithRSAEncryption "shaWithRSAEncryption" 270*f5b1c8a1SJohn Marino #define NID_shaWithRSAEncryption 42 271*f5b1c8a1SJohn Marino #define OBJ_shaWithRSAEncryption OBJ_algorithm,15L 272*f5b1c8a1SJohn Marino 273*f5b1c8a1SJohn Marino #define SN_des_ede_cbc "DES-EDE-CBC" 274*f5b1c8a1SJohn Marino #define LN_des_ede_cbc "des-ede-cbc" 275*f5b1c8a1SJohn Marino #define NID_des_ede_cbc 43 276*f5b1c8a1SJohn Marino 277*f5b1c8a1SJohn Marino #define SN_des_ede3_cbc "DES-EDE3-CBC" 278*f5b1c8a1SJohn Marino #define LN_des_ede3_cbc "des-ede3-cbc" 279*f5b1c8a1SJohn Marino #define NID_des_ede3_cbc 44 280*f5b1c8a1SJohn Marino #define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L 281*f5b1c8a1SJohn Marino 282*f5b1c8a1SJohn Marino #define SN_des_ofb64 "DES-OFB" 283*f5b1c8a1SJohn Marino #define LN_des_ofb64 "des-ofb" 284*f5b1c8a1SJohn Marino #define NID_des_ofb64 45 285*f5b1c8a1SJohn Marino #define OBJ_des_ofb64 OBJ_algorithm,8L 286*f5b1c8a1SJohn Marino 287*f5b1c8a1SJohn Marino #define SN_idea_ofb64 "IDEA-OFB" 288*f5b1c8a1SJohn Marino #define LN_idea_ofb64 "idea-ofb" 289*f5b1c8a1SJohn Marino #define NID_idea_ofb64 46 290*f5b1c8a1SJohn Marino 291*f5b1c8a1SJohn Marino #define LN_pkcs9 "pkcs9" 292*f5b1c8a1SJohn Marino #define NID_pkcs9 47 293*f5b1c8a1SJohn Marino #define OBJ_pkcs9 OBJ_pkcs,9L 294*f5b1c8a1SJohn Marino 295*f5b1c8a1SJohn Marino #define SN_pkcs9_emailAddress "Email" 296*f5b1c8a1SJohn Marino #define LN_pkcs9_emailAddress "emailAddress" 297*f5b1c8a1SJohn Marino #define NID_pkcs9_emailAddress 48 298*f5b1c8a1SJohn Marino #define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L 299*f5b1c8a1SJohn Marino 300*f5b1c8a1SJohn Marino #define LN_pkcs9_unstructuredName "unstructuredName" 301*f5b1c8a1SJohn Marino #define NID_pkcs9_unstructuredName 49 302*f5b1c8a1SJohn Marino #define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L 303*f5b1c8a1SJohn Marino 304*f5b1c8a1SJohn Marino #define LN_pkcs9_contentType "contentType" 305*f5b1c8a1SJohn Marino #define NID_pkcs9_contentType 50 306*f5b1c8a1SJohn Marino #define OBJ_pkcs9_contentType OBJ_pkcs9,3L 307*f5b1c8a1SJohn Marino 308*f5b1c8a1SJohn Marino #define LN_pkcs9_messageDigest "messageDigest" 309*f5b1c8a1SJohn Marino #define NID_pkcs9_messageDigest 51 310*f5b1c8a1SJohn Marino #define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L 311*f5b1c8a1SJohn Marino 312*f5b1c8a1SJohn Marino #define LN_pkcs9_signingTime "signingTime" 313*f5b1c8a1SJohn Marino #define NID_pkcs9_signingTime 52 314*f5b1c8a1SJohn Marino #define OBJ_pkcs9_signingTime OBJ_pkcs9,5L 315*f5b1c8a1SJohn Marino 316*f5b1c8a1SJohn Marino #define LN_pkcs9_countersignature "countersignature" 317*f5b1c8a1SJohn Marino #define NID_pkcs9_countersignature 53 318*f5b1c8a1SJohn Marino #define OBJ_pkcs9_countersignature OBJ_pkcs9,6L 319*f5b1c8a1SJohn Marino 320*f5b1c8a1SJohn Marino #define LN_pkcs9_challengePassword "challengePassword" 321*f5b1c8a1SJohn Marino #define NID_pkcs9_challengePassword 54 322*f5b1c8a1SJohn Marino #define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L 323*f5b1c8a1SJohn Marino 324*f5b1c8a1SJohn Marino #define LN_pkcs9_unstructuredAddress "unstructuredAddress" 325*f5b1c8a1SJohn Marino #define NID_pkcs9_unstructuredAddress 55 326*f5b1c8a1SJohn Marino #define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L 327*f5b1c8a1SJohn Marino 328*f5b1c8a1SJohn Marino #define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" 329*f5b1c8a1SJohn Marino #define NID_pkcs9_extCertAttributes 56 330*f5b1c8a1SJohn Marino #define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L 331*f5b1c8a1SJohn Marino 332*f5b1c8a1SJohn Marino #define SN_netscape "Netscape" 333*f5b1c8a1SJohn Marino #define LN_netscape "Netscape Communications Corp." 334*f5b1c8a1SJohn Marino #define NID_netscape 57 335*f5b1c8a1SJohn Marino #define OBJ_netscape 2L,16L,840L,1L,113730L 336*f5b1c8a1SJohn Marino 337*f5b1c8a1SJohn Marino #define SN_netscape_cert_extension "nsCertExt" 338*f5b1c8a1SJohn Marino #define LN_netscape_cert_extension "Netscape Certificate Extension" 339*f5b1c8a1SJohn Marino #define NID_netscape_cert_extension 58 340*f5b1c8a1SJohn Marino #define OBJ_netscape_cert_extension OBJ_netscape,1L 341*f5b1c8a1SJohn Marino 342*f5b1c8a1SJohn Marino #define SN_netscape_data_type "nsDataType" 343*f5b1c8a1SJohn Marino #define LN_netscape_data_type "Netscape Data Type" 344*f5b1c8a1SJohn Marino #define NID_netscape_data_type 59 345*f5b1c8a1SJohn Marino #define OBJ_netscape_data_type OBJ_netscape,2L 346*f5b1c8a1SJohn Marino 347*f5b1c8a1SJohn Marino #define SN_des_ede_cfb64 "DES-EDE-CFB" 348*f5b1c8a1SJohn Marino #define LN_des_ede_cfb64 "des-ede-cfb" 349*f5b1c8a1SJohn Marino #define NID_des_ede_cfb64 60 350*f5b1c8a1SJohn Marino 351*f5b1c8a1SJohn Marino #define SN_des_ede3_cfb64 "DES-EDE3-CFB" 352*f5b1c8a1SJohn Marino #define LN_des_ede3_cfb64 "des-ede3-cfb" 353*f5b1c8a1SJohn Marino #define NID_des_ede3_cfb64 61 354*f5b1c8a1SJohn Marino 355*f5b1c8a1SJohn Marino #define SN_des_ede_ofb64 "DES-EDE-OFB" 356*f5b1c8a1SJohn Marino #define LN_des_ede_ofb64 "des-ede-ofb" 357*f5b1c8a1SJohn Marino #define NID_des_ede_ofb64 62 358*f5b1c8a1SJohn Marino 359*f5b1c8a1SJohn Marino #define SN_des_ede3_ofb64 "DES-EDE3-OFB" 360*f5b1c8a1SJohn Marino #define LN_des_ede3_ofb64 "des-ede3-ofb" 361*f5b1c8a1SJohn Marino #define NID_des_ede3_ofb64 63 362*f5b1c8a1SJohn Marino 363*f5b1c8a1SJohn Marino /* I'm not sure about the object ID */ 364*f5b1c8a1SJohn Marino #define SN_sha1 "SHA1" 365*f5b1c8a1SJohn Marino #define LN_sha1 "sha1" 366*f5b1c8a1SJohn Marino #define NID_sha1 64 367*f5b1c8a1SJohn Marino #define OBJ_sha1 OBJ_algorithm,26L 368*f5b1c8a1SJohn Marino /* 28 Jun 1996 - eay */ 369*f5b1c8a1SJohn Marino /* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */ 370*f5b1c8a1SJohn Marino 371*f5b1c8a1SJohn Marino #define SN_sha1WithRSAEncryption "RSA-SHA1" 372*f5b1c8a1SJohn Marino #define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" 373*f5b1c8a1SJohn Marino #define NID_sha1WithRSAEncryption 65 374*f5b1c8a1SJohn Marino #define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L 375*f5b1c8a1SJohn Marino 376*f5b1c8a1SJohn Marino #define SN_dsaWithSHA "DSA-SHA" 377*f5b1c8a1SJohn Marino #define LN_dsaWithSHA "dsaWithSHA" 378*f5b1c8a1SJohn Marino #define NID_dsaWithSHA 66 379*f5b1c8a1SJohn Marino #define OBJ_dsaWithSHA OBJ_algorithm,13L 380*f5b1c8a1SJohn Marino 381*f5b1c8a1SJohn Marino #define SN_dsa_2 "DSA-old" 382*f5b1c8a1SJohn Marino #define LN_dsa_2 "dsaEncryption-old" 383*f5b1c8a1SJohn Marino #define NID_dsa_2 67 384*f5b1c8a1SJohn Marino #define OBJ_dsa_2 OBJ_algorithm,12L 385*f5b1c8a1SJohn Marino 386*f5b1c8a1SJohn Marino /* proposed by microsoft to RSA */ 387*f5b1c8a1SJohn Marino #define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" 388*f5b1c8a1SJohn Marino #define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" 389*f5b1c8a1SJohn Marino #define NID_pbeWithSHA1AndRC2_CBC 68 390*f5b1c8a1SJohn Marino #define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L 391*f5b1c8a1SJohn Marino 392*f5b1c8a1SJohn Marino /* proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now 393*f5b1c8a1SJohn Marino * defined explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something 394*f5b1c8a1SJohn Marino * completely different. 395*f5b1c8a1SJohn Marino */ 396*f5b1c8a1SJohn Marino #define LN_id_pbkdf2 "PBKDF2" 397*f5b1c8a1SJohn Marino #define NID_id_pbkdf2 69 398*f5b1c8a1SJohn Marino #define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L 399*f5b1c8a1SJohn Marino 400*f5b1c8a1SJohn Marino #define SN_dsaWithSHA1_2 "DSA-SHA1-old" 401*f5b1c8a1SJohn Marino #define LN_dsaWithSHA1_2 "dsaWithSHA1-old" 402*f5b1c8a1SJohn Marino #define NID_dsaWithSHA1_2 70 403*f5b1c8a1SJohn Marino /* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ 404*f5b1c8a1SJohn Marino #define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L 405*f5b1c8a1SJohn Marino 406*f5b1c8a1SJohn Marino #define SN_netscape_cert_type "nsCertType" 407*f5b1c8a1SJohn Marino #define LN_netscape_cert_type "Netscape Cert Type" 408*f5b1c8a1SJohn Marino #define NID_netscape_cert_type 71 409*f5b1c8a1SJohn Marino #define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L 410*f5b1c8a1SJohn Marino 411*f5b1c8a1SJohn Marino #define SN_netscape_base_url "nsBaseUrl" 412*f5b1c8a1SJohn Marino #define LN_netscape_base_url "Netscape Base Url" 413*f5b1c8a1SJohn Marino #define NID_netscape_base_url 72 414*f5b1c8a1SJohn Marino #define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L 415*f5b1c8a1SJohn Marino 416*f5b1c8a1SJohn Marino #define SN_netscape_revocation_url "nsRevocationUrl" 417*f5b1c8a1SJohn Marino #define LN_netscape_revocation_url "Netscape Revocation Url" 418*f5b1c8a1SJohn Marino #define NID_netscape_revocation_url 73 419*f5b1c8a1SJohn Marino #define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L 420*f5b1c8a1SJohn Marino 421*f5b1c8a1SJohn Marino #define SN_netscape_ca_revocation_url "nsCaRevocationUrl" 422*f5b1c8a1SJohn Marino #define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" 423*f5b1c8a1SJohn Marino #define NID_netscape_ca_revocation_url 74 424*f5b1c8a1SJohn Marino #define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L 425*f5b1c8a1SJohn Marino 426*f5b1c8a1SJohn Marino #define SN_netscape_renewal_url "nsRenewalUrl" 427*f5b1c8a1SJohn Marino #define LN_netscape_renewal_url "Netscape Renewal Url" 428*f5b1c8a1SJohn Marino #define NID_netscape_renewal_url 75 429*f5b1c8a1SJohn Marino #define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L 430*f5b1c8a1SJohn Marino 431*f5b1c8a1SJohn Marino #define SN_netscape_ca_policy_url "nsCaPolicyUrl" 432*f5b1c8a1SJohn Marino #define LN_netscape_ca_policy_url "Netscape CA Policy Url" 433*f5b1c8a1SJohn Marino #define NID_netscape_ca_policy_url 76 434*f5b1c8a1SJohn Marino #define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L 435*f5b1c8a1SJohn Marino 436*f5b1c8a1SJohn Marino #define SN_netscape_ssl_server_name "nsSslServerName" 437*f5b1c8a1SJohn Marino #define LN_netscape_ssl_server_name "Netscape SSL Server Name" 438*f5b1c8a1SJohn Marino #define NID_netscape_ssl_server_name 77 439*f5b1c8a1SJohn Marino #define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L 440*f5b1c8a1SJohn Marino 441*f5b1c8a1SJohn Marino #define SN_netscape_comment "nsComment" 442*f5b1c8a1SJohn Marino #define LN_netscape_comment "Netscape Comment" 443*f5b1c8a1SJohn Marino #define NID_netscape_comment 78 444*f5b1c8a1SJohn Marino #define OBJ_netscape_comment OBJ_netscape_cert_extension,13L 445*f5b1c8a1SJohn Marino 446*f5b1c8a1SJohn Marino #define SN_netscape_cert_sequence "nsCertSequence" 447*f5b1c8a1SJohn Marino #define LN_netscape_cert_sequence "Netscape Certificate Sequence" 448*f5b1c8a1SJohn Marino #define NID_netscape_cert_sequence 79 449*f5b1c8a1SJohn Marino #define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L 450*f5b1c8a1SJohn Marino 451*f5b1c8a1SJohn Marino #define SN_desx_cbc "DESX-CBC" 452*f5b1c8a1SJohn Marino #define LN_desx_cbc "desx-cbc" 453*f5b1c8a1SJohn Marino #define NID_desx_cbc 80 454*f5b1c8a1SJohn Marino 455*f5b1c8a1SJohn Marino #define SN_id_ce "id-ce" 456*f5b1c8a1SJohn Marino #define NID_id_ce 81 457*f5b1c8a1SJohn Marino #define OBJ_id_ce 2L,5L,29L 458*f5b1c8a1SJohn Marino 459*f5b1c8a1SJohn Marino #define SN_subject_key_identifier "subjectKeyIdentifier" 460*f5b1c8a1SJohn Marino #define LN_subject_key_identifier "X509v3 Subject Key Identifier" 461*f5b1c8a1SJohn Marino #define NID_subject_key_identifier 82 462*f5b1c8a1SJohn Marino #define OBJ_subject_key_identifier OBJ_id_ce,14L 463*f5b1c8a1SJohn Marino 464*f5b1c8a1SJohn Marino #define SN_key_usage "keyUsage" 465*f5b1c8a1SJohn Marino #define LN_key_usage "X509v3 Key Usage" 466*f5b1c8a1SJohn Marino #define NID_key_usage 83 467*f5b1c8a1SJohn Marino #define OBJ_key_usage OBJ_id_ce,15L 468*f5b1c8a1SJohn Marino 469*f5b1c8a1SJohn Marino #define SN_private_key_usage_period "privateKeyUsagePeriod" 470*f5b1c8a1SJohn Marino #define LN_private_key_usage_period "X509v3 Private Key Usage Period" 471*f5b1c8a1SJohn Marino #define NID_private_key_usage_period 84 472*f5b1c8a1SJohn Marino #define OBJ_private_key_usage_period OBJ_id_ce,16L 473*f5b1c8a1SJohn Marino 474*f5b1c8a1SJohn Marino #define SN_subject_alt_name "subjectAltName" 475*f5b1c8a1SJohn Marino #define LN_subject_alt_name "X509v3 Subject Alternative Name" 476*f5b1c8a1SJohn Marino #define NID_subject_alt_name 85 477*f5b1c8a1SJohn Marino #define OBJ_subject_alt_name OBJ_id_ce,17L 478*f5b1c8a1SJohn Marino 479*f5b1c8a1SJohn Marino #define SN_issuer_alt_name "issuerAltName" 480*f5b1c8a1SJohn Marino #define LN_issuer_alt_name "X509v3 Issuer Alternative Name" 481*f5b1c8a1SJohn Marino #define NID_issuer_alt_name 86 482*f5b1c8a1SJohn Marino #define OBJ_issuer_alt_name OBJ_id_ce,18L 483*f5b1c8a1SJohn Marino 484*f5b1c8a1SJohn Marino #define SN_basic_constraints "basicConstraints" 485*f5b1c8a1SJohn Marino #define LN_basic_constraints "X509v3 Basic Constraints" 486*f5b1c8a1SJohn Marino #define NID_basic_constraints 87 487*f5b1c8a1SJohn Marino #define OBJ_basic_constraints OBJ_id_ce,19L 488*f5b1c8a1SJohn Marino 489*f5b1c8a1SJohn Marino #define SN_crl_number "crlNumber" 490*f5b1c8a1SJohn Marino #define LN_crl_number "X509v3 CRL Number" 491*f5b1c8a1SJohn Marino #define NID_crl_number 88 492*f5b1c8a1SJohn Marino #define OBJ_crl_number OBJ_id_ce,20L 493*f5b1c8a1SJohn Marino 494*f5b1c8a1SJohn Marino #define SN_certificate_policies "certificatePolicies" 495*f5b1c8a1SJohn Marino #define LN_certificate_policies "X509v3 Certificate Policies" 496*f5b1c8a1SJohn Marino #define NID_certificate_policies 89 497*f5b1c8a1SJohn Marino #define OBJ_certificate_policies OBJ_id_ce,32L 498*f5b1c8a1SJohn Marino 499*f5b1c8a1SJohn Marino #define SN_authority_key_identifier "authorityKeyIdentifier" 500*f5b1c8a1SJohn Marino #define LN_authority_key_identifier "X509v3 Authority Key Identifier" 501*f5b1c8a1SJohn Marino #define NID_authority_key_identifier 90 502*f5b1c8a1SJohn Marino #define OBJ_authority_key_identifier OBJ_id_ce,35L 503*f5b1c8a1SJohn Marino 504*f5b1c8a1SJohn Marino #define SN_bf_cbc "BF-CBC" 505*f5b1c8a1SJohn Marino #define LN_bf_cbc "bf-cbc" 506*f5b1c8a1SJohn Marino #define NID_bf_cbc 91 507*f5b1c8a1SJohn Marino #define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L 508*f5b1c8a1SJohn Marino 509*f5b1c8a1SJohn Marino #define SN_bf_ecb "BF-ECB" 510*f5b1c8a1SJohn Marino #define LN_bf_ecb "bf-ecb" 511*f5b1c8a1SJohn Marino #define NID_bf_ecb 92 512*f5b1c8a1SJohn Marino 513*f5b1c8a1SJohn Marino #define SN_bf_cfb64 "BF-CFB" 514*f5b1c8a1SJohn Marino #define LN_bf_cfb64 "bf-cfb" 515*f5b1c8a1SJohn Marino #define NID_bf_cfb64 93 516*f5b1c8a1SJohn Marino 517*f5b1c8a1SJohn Marino #define SN_bf_ofb64 "BF-OFB" 518*f5b1c8a1SJohn Marino #define LN_bf_ofb64 "bf-ofb" 519*f5b1c8a1SJohn Marino #define NID_bf_ofb64 94 520*f5b1c8a1SJohn Marino 521*f5b1c8a1SJohn Marino #define SN_mdc2 "MDC2" 522*f5b1c8a1SJohn Marino #define LN_mdc2 "mdc2" 523*f5b1c8a1SJohn Marino #define NID_mdc2 95 524*f5b1c8a1SJohn Marino #define OBJ_mdc2 2L,5L,8L,3L,101L 525*f5b1c8a1SJohn Marino /* An alternative? 1L,3L,14L,3L,2L,19L */ 526*f5b1c8a1SJohn Marino 527*f5b1c8a1SJohn Marino #define SN_mdc2WithRSA "RSA-MDC2" 528*f5b1c8a1SJohn Marino #define LN_mdc2WithRSA "mdc2withRSA" 529*f5b1c8a1SJohn Marino #define NID_mdc2WithRSA 96 530*f5b1c8a1SJohn Marino #define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L 531*f5b1c8a1SJohn Marino 532*f5b1c8a1SJohn Marino #define SN_rc4_40 "RC4-40" 533*f5b1c8a1SJohn Marino #define LN_rc4_40 "rc4-40" 534*f5b1c8a1SJohn Marino #define NID_rc4_40 97 535*f5b1c8a1SJohn Marino 536*f5b1c8a1SJohn Marino #define SN_rc2_40_cbc "RC2-40-CBC" 537*f5b1c8a1SJohn Marino #define LN_rc2_40_cbc "rc2-40-cbc" 538*f5b1c8a1SJohn Marino #define NID_rc2_40_cbc 98 539*f5b1c8a1SJohn Marino 540*f5b1c8a1SJohn Marino #define SN_givenName "G" 541*f5b1c8a1SJohn Marino #define LN_givenName "givenName" 542*f5b1c8a1SJohn Marino #define NID_givenName 99 543*f5b1c8a1SJohn Marino #define OBJ_givenName OBJ_X509,42L 544*f5b1c8a1SJohn Marino 545*f5b1c8a1SJohn Marino #define SN_surname "S" 546*f5b1c8a1SJohn Marino #define LN_surname "surname" 547*f5b1c8a1SJohn Marino #define NID_surname 100 548*f5b1c8a1SJohn Marino #define OBJ_surname OBJ_X509,4L 549*f5b1c8a1SJohn Marino 550*f5b1c8a1SJohn Marino #define SN_initials "I" 551*f5b1c8a1SJohn Marino #define LN_initials "initials" 552*f5b1c8a1SJohn Marino #define NID_initials 101 553*f5b1c8a1SJohn Marino #define OBJ_initials OBJ_X509,43L 554*f5b1c8a1SJohn Marino 555*f5b1c8a1SJohn Marino #define SN_uniqueIdentifier "UID" 556*f5b1c8a1SJohn Marino #define LN_uniqueIdentifier "uniqueIdentifier" 557*f5b1c8a1SJohn Marino #define NID_uniqueIdentifier 102 558*f5b1c8a1SJohn Marino #define OBJ_uniqueIdentifier OBJ_X509,45L 559*f5b1c8a1SJohn Marino 560*f5b1c8a1SJohn Marino #define SN_crl_distribution_points "crlDistributionPoints" 561*f5b1c8a1SJohn Marino #define LN_crl_distribution_points "X509v3 CRL Distribution Points" 562*f5b1c8a1SJohn Marino #define NID_crl_distribution_points 103 563*f5b1c8a1SJohn Marino #define OBJ_crl_distribution_points OBJ_id_ce,31L 564*f5b1c8a1SJohn Marino 565*f5b1c8a1SJohn Marino #define SN_md5WithRSA "RSA-NP-MD5" 566*f5b1c8a1SJohn Marino #define LN_md5WithRSA "md5WithRSA" 567*f5b1c8a1SJohn Marino #define NID_md5WithRSA 104 568*f5b1c8a1SJohn Marino #define OBJ_md5WithRSA OBJ_algorithm,3L 569*f5b1c8a1SJohn Marino 570*f5b1c8a1SJohn Marino #define SN_serialNumber "SN" 571*f5b1c8a1SJohn Marino #define LN_serialNumber "serialNumber" 572*f5b1c8a1SJohn Marino #define NID_serialNumber 105 573*f5b1c8a1SJohn Marino #define OBJ_serialNumber OBJ_X509,5L 574*f5b1c8a1SJohn Marino 575*f5b1c8a1SJohn Marino #define SN_title "T" 576*f5b1c8a1SJohn Marino #define LN_title "title" 577*f5b1c8a1SJohn Marino #define NID_title 106 578*f5b1c8a1SJohn Marino #define OBJ_title OBJ_X509,12L 579*f5b1c8a1SJohn Marino 580*f5b1c8a1SJohn Marino #define SN_description "D" 581*f5b1c8a1SJohn Marino #define LN_description "description" 582*f5b1c8a1SJohn Marino #define NID_description 107 583*f5b1c8a1SJohn Marino #define OBJ_description OBJ_X509,13L 584*f5b1c8a1SJohn Marino 585*f5b1c8a1SJohn Marino /* CAST5 is CAST-128, I'm just sticking with the documentation */ 586*f5b1c8a1SJohn Marino #define SN_cast5_cbc "CAST5-CBC" 587*f5b1c8a1SJohn Marino #define LN_cast5_cbc "cast5-cbc" 588*f5b1c8a1SJohn Marino #define NID_cast5_cbc 108 589*f5b1c8a1SJohn Marino #define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L 590*f5b1c8a1SJohn Marino 591*f5b1c8a1SJohn Marino #define SN_cast5_ecb "CAST5-ECB" 592*f5b1c8a1SJohn Marino #define LN_cast5_ecb "cast5-ecb" 593*f5b1c8a1SJohn Marino #define NID_cast5_ecb 109 594*f5b1c8a1SJohn Marino 595*f5b1c8a1SJohn Marino #define SN_cast5_cfb64 "CAST5-CFB" 596*f5b1c8a1SJohn Marino #define LN_cast5_cfb64 "cast5-cfb" 597*f5b1c8a1SJohn Marino #define NID_cast5_cfb64 110 598*f5b1c8a1SJohn Marino 599*f5b1c8a1SJohn Marino #define SN_cast5_ofb64 "CAST5-OFB" 600*f5b1c8a1SJohn Marino #define LN_cast5_ofb64 "cast5-ofb" 601*f5b1c8a1SJohn Marino #define NID_cast5_ofb64 111 602*f5b1c8a1SJohn Marino 603*f5b1c8a1SJohn Marino #define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" 604*f5b1c8a1SJohn Marino #define NID_pbeWithMD5AndCast5_CBC 112 605*f5b1c8a1SJohn Marino #define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L 606*f5b1c8a1SJohn Marino 607*f5b1c8a1SJohn Marino /* This is one sun will soon be using :-( 608*f5b1c8a1SJohn Marino * id-dsa-with-sha1 ID ::= { 609*f5b1c8a1SJohn Marino * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } 610*f5b1c8a1SJohn Marino */ 611*f5b1c8a1SJohn Marino #define SN_dsaWithSHA1 "DSA-SHA1" 612*f5b1c8a1SJohn Marino #define LN_dsaWithSHA1 "dsaWithSHA1" 613*f5b1c8a1SJohn Marino #define NID_dsaWithSHA1 113 614*f5b1c8a1SJohn Marino #define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L 615*f5b1c8a1SJohn Marino 616*f5b1c8a1SJohn Marino #define NID_md5_sha1 114 617*f5b1c8a1SJohn Marino #define SN_md5_sha1 "MD5-SHA1" 618*f5b1c8a1SJohn Marino #define LN_md5_sha1 "md5-sha1" 619*f5b1c8a1SJohn Marino 620*f5b1c8a1SJohn Marino #define SN_sha1WithRSA "RSA-SHA1-2" 621*f5b1c8a1SJohn Marino #define LN_sha1WithRSA "sha1WithRSA" 622*f5b1c8a1SJohn Marino #define NID_sha1WithRSA 115 623*f5b1c8a1SJohn Marino #define OBJ_sha1WithRSA OBJ_algorithm,29L 624*f5b1c8a1SJohn Marino 625*f5b1c8a1SJohn Marino #define SN_dsa "DSA" 626*f5b1c8a1SJohn Marino #define LN_dsa "dsaEncryption" 627*f5b1c8a1SJohn Marino #define NID_dsa 116 628*f5b1c8a1SJohn Marino #define OBJ_dsa 1L,2L,840L,10040L,4L,1L 629*f5b1c8a1SJohn Marino 630*f5b1c8a1SJohn Marino #define SN_ripemd160 "RIPEMD160" 631*f5b1c8a1SJohn Marino #define LN_ripemd160 "ripemd160" 632*f5b1c8a1SJohn Marino #define NID_ripemd160 117 633*f5b1c8a1SJohn Marino #define OBJ_ripemd160 1L,3L,36L,3L,2L,1L 634*f5b1c8a1SJohn Marino 635*f5b1c8a1SJohn Marino /* The name should actually be rsaSignatureWithripemd160, but I'm going 636*f5b1c8a1SJohn Marino * to continue using the convention I'm using with the other ciphers */ 637*f5b1c8a1SJohn Marino #define SN_ripemd160WithRSA "RSA-RIPEMD160" 638*f5b1c8a1SJohn Marino #define LN_ripemd160WithRSA "ripemd160WithRSA" 639*f5b1c8a1SJohn Marino #define NID_ripemd160WithRSA 119 640*f5b1c8a1SJohn Marino #define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L 641*f5b1c8a1SJohn Marino 642*f5b1c8a1SJohn Marino /* Taken from rfc2040 643*f5b1c8a1SJohn Marino * RC5_CBC_Parameters ::= SEQUENCE { 644*f5b1c8a1SJohn Marino * version INTEGER (v1_0(16)), 645*f5b1c8a1SJohn Marino * rounds INTEGER (8..127), 646*f5b1c8a1SJohn Marino * blockSizeInBits INTEGER (64, 128), 647*f5b1c8a1SJohn Marino * iv OCTET STRING OPTIONAL 648*f5b1c8a1SJohn Marino * } 649*f5b1c8a1SJohn Marino */ 650*f5b1c8a1SJohn Marino #define SN_rc5_cbc "RC5-CBC" 651*f5b1c8a1SJohn Marino #define LN_rc5_cbc "rc5-cbc" 652*f5b1c8a1SJohn Marino #define NID_rc5_cbc 120 653*f5b1c8a1SJohn Marino #define OBJ_rc5_cbc OBJ_rsadsi,3L,8L 654*f5b1c8a1SJohn Marino 655*f5b1c8a1SJohn Marino #define SN_rc5_ecb "RC5-ECB" 656*f5b1c8a1SJohn Marino #define LN_rc5_ecb "rc5-ecb" 657*f5b1c8a1SJohn Marino #define NID_rc5_ecb 121 658*f5b1c8a1SJohn Marino 659*f5b1c8a1SJohn Marino #define SN_rc5_cfb64 "RC5-CFB" 660*f5b1c8a1SJohn Marino #define LN_rc5_cfb64 "rc5-cfb" 661*f5b1c8a1SJohn Marino #define NID_rc5_cfb64 122 662*f5b1c8a1SJohn Marino 663*f5b1c8a1SJohn Marino #define SN_rc5_ofb64 "RC5-OFB" 664*f5b1c8a1SJohn Marino #define LN_rc5_ofb64 "rc5-ofb" 665*f5b1c8a1SJohn Marino #define NID_rc5_ofb64 123 666*f5b1c8a1SJohn Marino 667*f5b1c8a1SJohn Marino #define SN_rle_compression "RLE" 668*f5b1c8a1SJohn Marino #define LN_rle_compression "run length compression" 669*f5b1c8a1SJohn Marino #define NID_rle_compression 124 670*f5b1c8a1SJohn Marino #define OBJ_rle_compression 1L,1L,1L,1L,666L,1L 671*f5b1c8a1SJohn Marino 672*f5b1c8a1SJohn Marino #define SN_zlib_compression "ZLIB" 673*f5b1c8a1SJohn Marino #define LN_zlib_compression "zlib compression" 674*f5b1c8a1SJohn Marino #define NID_zlib_compression 125 675*f5b1c8a1SJohn Marino #define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L 676*f5b1c8a1SJohn Marino 677*f5b1c8a1SJohn Marino #define SN_ext_key_usage "extendedKeyUsage" 678*f5b1c8a1SJohn Marino #define LN_ext_key_usage "X509v3 Extended Key Usage" 679*f5b1c8a1SJohn Marino #define NID_ext_key_usage 126 680*f5b1c8a1SJohn Marino #define OBJ_ext_key_usage OBJ_id_ce,37 681*f5b1c8a1SJohn Marino 682*f5b1c8a1SJohn Marino #define SN_id_pkix "PKIX" 683*f5b1c8a1SJohn Marino #define NID_id_pkix 127 684*f5b1c8a1SJohn Marino #define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L 685*f5b1c8a1SJohn Marino 686*f5b1c8a1SJohn Marino #define SN_id_kp "id-kp" 687*f5b1c8a1SJohn Marino #define NID_id_kp 128 688*f5b1c8a1SJohn Marino #define OBJ_id_kp OBJ_id_pkix,3L 689*f5b1c8a1SJohn Marino 690*f5b1c8a1SJohn Marino /* PKIX extended key usage OIDs */ 691*f5b1c8a1SJohn Marino 692*f5b1c8a1SJohn Marino #define SN_server_auth "serverAuth" 693*f5b1c8a1SJohn Marino #define LN_server_auth "TLS Web Server Authentication" 694*f5b1c8a1SJohn Marino #define NID_server_auth 129 695*f5b1c8a1SJohn Marino #define OBJ_server_auth OBJ_id_kp,1L 696*f5b1c8a1SJohn Marino 697*f5b1c8a1SJohn Marino #define SN_client_auth "clientAuth" 698*f5b1c8a1SJohn Marino #define LN_client_auth "TLS Web Client Authentication" 699*f5b1c8a1SJohn Marino #define NID_client_auth 130 700*f5b1c8a1SJohn Marino #define OBJ_client_auth OBJ_id_kp,2L 701*f5b1c8a1SJohn Marino 702*f5b1c8a1SJohn Marino #define SN_code_sign "codeSigning" 703*f5b1c8a1SJohn Marino #define LN_code_sign "Code Signing" 704*f5b1c8a1SJohn Marino #define NID_code_sign 131 705*f5b1c8a1SJohn Marino #define OBJ_code_sign OBJ_id_kp,3L 706*f5b1c8a1SJohn Marino 707*f5b1c8a1SJohn Marino #define SN_email_protect "emailProtection" 708*f5b1c8a1SJohn Marino #define LN_email_protect "E-mail Protection" 709*f5b1c8a1SJohn Marino #define NID_email_protect 132 710*f5b1c8a1SJohn Marino #define OBJ_email_protect OBJ_id_kp,4L 711*f5b1c8a1SJohn Marino 712*f5b1c8a1SJohn Marino #define SN_time_stamp "timeStamping" 713*f5b1c8a1SJohn Marino #define LN_time_stamp "Time Stamping" 714*f5b1c8a1SJohn Marino #define NID_time_stamp 133 715*f5b1c8a1SJohn Marino #define OBJ_time_stamp OBJ_id_kp,8L 716*f5b1c8a1SJohn Marino 717*f5b1c8a1SJohn Marino /* Additional extended key usage OIDs: Microsoft */ 718*f5b1c8a1SJohn Marino 719*f5b1c8a1SJohn Marino #define SN_ms_code_ind "msCodeInd" 720*f5b1c8a1SJohn Marino #define LN_ms_code_ind "Microsoft Individual Code Signing" 721*f5b1c8a1SJohn Marino #define NID_ms_code_ind 134 722*f5b1c8a1SJohn Marino #define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L 723*f5b1c8a1SJohn Marino 724*f5b1c8a1SJohn Marino #define SN_ms_code_com "msCodeCom" 725*f5b1c8a1SJohn Marino #define LN_ms_code_com "Microsoft Commercial Code Signing" 726*f5b1c8a1SJohn Marino #define NID_ms_code_com 135 727*f5b1c8a1SJohn Marino #define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L 728*f5b1c8a1SJohn Marino 729*f5b1c8a1SJohn Marino #define SN_ms_ctl_sign "msCTLSign" 730*f5b1c8a1SJohn Marino #define LN_ms_ctl_sign "Microsoft Trust List Signing" 731*f5b1c8a1SJohn Marino #define NID_ms_ctl_sign 136 732*f5b1c8a1SJohn Marino #define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L 733*f5b1c8a1SJohn Marino 734*f5b1c8a1SJohn Marino #define SN_ms_sgc "msSGC" 735*f5b1c8a1SJohn Marino #define LN_ms_sgc "Microsoft Server Gated Crypto" 736*f5b1c8a1SJohn Marino #define NID_ms_sgc 137 737*f5b1c8a1SJohn Marino #define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L 738*f5b1c8a1SJohn Marino 739*f5b1c8a1SJohn Marino #define SN_ms_efs "msEFS" 740*f5b1c8a1SJohn Marino #define LN_ms_efs "Microsoft Encrypted File System" 741*f5b1c8a1SJohn Marino #define NID_ms_efs 138 742*f5b1c8a1SJohn Marino #define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L 743*f5b1c8a1SJohn Marino 744*f5b1c8a1SJohn Marino /* Additional usage: Netscape */ 745*f5b1c8a1SJohn Marino 746*f5b1c8a1SJohn Marino #define SN_ns_sgc "nsSGC" 747*f5b1c8a1SJohn Marino #define LN_ns_sgc "Netscape Server Gated Crypto" 748*f5b1c8a1SJohn Marino #define NID_ns_sgc 139 749*f5b1c8a1SJohn Marino #define OBJ_ns_sgc OBJ_netscape,4L,1L 750*f5b1c8a1SJohn Marino 751*f5b1c8a1SJohn Marino #define SN_delta_crl "deltaCRL" 752*f5b1c8a1SJohn Marino #define LN_delta_crl "X509v3 Delta CRL Indicator" 753*f5b1c8a1SJohn Marino #define NID_delta_crl 140 754*f5b1c8a1SJohn Marino #define OBJ_delta_crl OBJ_id_ce,27L 755*f5b1c8a1SJohn Marino 756*f5b1c8a1SJohn Marino #define SN_crl_reason "CRLReason" 757*f5b1c8a1SJohn Marino #define LN_crl_reason "CRL Reason Code" 758*f5b1c8a1SJohn Marino #define NID_crl_reason 141 759*f5b1c8a1SJohn Marino #define OBJ_crl_reason OBJ_id_ce,21L 760*f5b1c8a1SJohn Marino 761*f5b1c8a1SJohn Marino #define SN_invalidity_date "invalidityDate" 762*f5b1c8a1SJohn Marino #define LN_invalidity_date "Invalidity Date" 763*f5b1c8a1SJohn Marino #define NID_invalidity_date 142 764*f5b1c8a1SJohn Marino #define OBJ_invalidity_date OBJ_id_ce,24L 765*f5b1c8a1SJohn Marino 766*f5b1c8a1SJohn Marino #define SN_sxnet "SXNetID" 767*f5b1c8a1SJohn Marino #define LN_sxnet "Strong Extranet ID" 768*f5b1c8a1SJohn Marino #define NID_sxnet 143 769*f5b1c8a1SJohn Marino #define OBJ_sxnet 1L,3L,101L,1L,4L,1L 770*f5b1c8a1SJohn Marino 771*f5b1c8a1SJohn Marino /* PKCS12 and related OBJECT IDENTIFIERS */ 772*f5b1c8a1SJohn Marino 773*f5b1c8a1SJohn Marino #define OBJ_pkcs12 OBJ_pkcs,12L 774*f5b1c8a1SJohn Marino #define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 775*f5b1c8a1SJohn Marino 776*f5b1c8a1SJohn Marino #define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" 777*f5b1c8a1SJohn Marino #define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" 778*f5b1c8a1SJohn Marino #define NID_pbe_WithSHA1And128BitRC4 144 779*f5b1c8a1SJohn Marino #define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L 780*f5b1c8a1SJohn Marino 781*f5b1c8a1SJohn Marino #define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" 782*f5b1c8a1SJohn Marino #define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" 783*f5b1c8a1SJohn Marino #define NID_pbe_WithSHA1And40BitRC4 145 784*f5b1c8a1SJohn Marino #define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L 785*f5b1c8a1SJohn Marino 786*f5b1c8a1SJohn Marino #define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" 787*f5b1c8a1SJohn Marino #define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" 788*f5b1c8a1SJohn Marino #define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 789*f5b1c8a1SJohn Marino #define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L 790*f5b1c8a1SJohn Marino 791*f5b1c8a1SJohn Marino #define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" 792*f5b1c8a1SJohn Marino #define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" 793*f5b1c8a1SJohn Marino #define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 794*f5b1c8a1SJohn Marino #define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L 795*f5b1c8a1SJohn Marino 796*f5b1c8a1SJohn Marino #define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" 797*f5b1c8a1SJohn Marino #define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" 798*f5b1c8a1SJohn Marino #define NID_pbe_WithSHA1And128BitRC2_CBC 148 799*f5b1c8a1SJohn Marino #define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L 800*f5b1c8a1SJohn Marino 801*f5b1c8a1SJohn Marino #define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" 802*f5b1c8a1SJohn Marino #define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" 803*f5b1c8a1SJohn Marino #define NID_pbe_WithSHA1And40BitRC2_CBC 149 804*f5b1c8a1SJohn Marino #define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L 805*f5b1c8a1SJohn Marino 806*f5b1c8a1SJohn Marino #define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L 807*f5b1c8a1SJohn Marino 808*f5b1c8a1SJohn Marino #define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L 809*f5b1c8a1SJohn Marino 810*f5b1c8a1SJohn Marino #define LN_keyBag "keyBag" 811*f5b1c8a1SJohn Marino #define NID_keyBag 150 812*f5b1c8a1SJohn Marino #define OBJ_keyBag OBJ_pkcs12_BagIds, 1L 813*f5b1c8a1SJohn Marino 814*f5b1c8a1SJohn Marino #define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" 815*f5b1c8a1SJohn Marino #define NID_pkcs8ShroudedKeyBag 151 816*f5b1c8a1SJohn Marino #define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L 817*f5b1c8a1SJohn Marino 818*f5b1c8a1SJohn Marino #define LN_certBag "certBag" 819*f5b1c8a1SJohn Marino #define NID_certBag 152 820*f5b1c8a1SJohn Marino #define OBJ_certBag OBJ_pkcs12_BagIds, 3L 821*f5b1c8a1SJohn Marino 822*f5b1c8a1SJohn Marino #define LN_crlBag "crlBag" 823*f5b1c8a1SJohn Marino #define NID_crlBag 153 824*f5b1c8a1SJohn Marino #define OBJ_crlBag OBJ_pkcs12_BagIds, 4L 825*f5b1c8a1SJohn Marino 826*f5b1c8a1SJohn Marino #define LN_secretBag "secretBag" 827*f5b1c8a1SJohn Marino #define NID_secretBag 154 828*f5b1c8a1SJohn Marino #define OBJ_secretBag OBJ_pkcs12_BagIds, 5L 829*f5b1c8a1SJohn Marino 830*f5b1c8a1SJohn Marino #define LN_safeContentsBag "safeContentsBag" 831*f5b1c8a1SJohn Marino #define NID_safeContentsBag 155 832*f5b1c8a1SJohn Marino #define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L 833*f5b1c8a1SJohn Marino 834*f5b1c8a1SJohn Marino #define LN_friendlyName "friendlyName" 835*f5b1c8a1SJohn Marino #define NID_friendlyName 156 836*f5b1c8a1SJohn Marino #define OBJ_friendlyName OBJ_pkcs9, 20L 837*f5b1c8a1SJohn Marino 838*f5b1c8a1SJohn Marino #define LN_localKeyID "localKeyID" 839*f5b1c8a1SJohn Marino #define NID_localKeyID 157 840*f5b1c8a1SJohn Marino #define OBJ_localKeyID OBJ_pkcs9, 21L 841*f5b1c8a1SJohn Marino 842*f5b1c8a1SJohn Marino #define OBJ_certTypes OBJ_pkcs9, 22L 843*f5b1c8a1SJohn Marino 844*f5b1c8a1SJohn Marino #define LN_x509Certificate "x509Certificate" 845*f5b1c8a1SJohn Marino #define NID_x509Certificate 158 846*f5b1c8a1SJohn Marino #define OBJ_x509Certificate OBJ_certTypes, 1L 847*f5b1c8a1SJohn Marino 848*f5b1c8a1SJohn Marino #define LN_sdsiCertificate "sdsiCertificate" 849*f5b1c8a1SJohn Marino #define NID_sdsiCertificate 159 850*f5b1c8a1SJohn Marino #define OBJ_sdsiCertificate OBJ_certTypes, 2L 851*f5b1c8a1SJohn Marino 852*f5b1c8a1SJohn Marino #define OBJ_crlTypes OBJ_pkcs9, 23L 853*f5b1c8a1SJohn Marino 854*f5b1c8a1SJohn Marino #define LN_x509Crl "x509Crl" 855*f5b1c8a1SJohn Marino #define NID_x509Crl 160 856*f5b1c8a1SJohn Marino #define OBJ_x509Crl OBJ_crlTypes, 1L 857*f5b1c8a1SJohn Marino 858*f5b1c8a1SJohn Marino /* PKCS#5 v2 OIDs */ 859*f5b1c8a1SJohn Marino 860*f5b1c8a1SJohn Marino #define LN_pbes2 "PBES2" 861*f5b1c8a1SJohn Marino #define NID_pbes2 161 862*f5b1c8a1SJohn Marino #define OBJ_pbes2 OBJ_pkcs,5L,13L 863*f5b1c8a1SJohn Marino 864*f5b1c8a1SJohn Marino #define LN_pbmac1 "PBMAC1" 865*f5b1c8a1SJohn Marino #define NID_pbmac1 162 866*f5b1c8a1SJohn Marino #define OBJ_pbmac1 OBJ_pkcs,5L,14L 867*f5b1c8a1SJohn Marino 868*f5b1c8a1SJohn Marino #define LN_hmacWithSHA1 "hmacWithSHA1" 869*f5b1c8a1SJohn Marino #define NID_hmacWithSHA1 163 870*f5b1c8a1SJohn Marino #define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L 871*f5b1c8a1SJohn Marino 872*f5b1c8a1SJohn Marino /* Policy Qualifier Ids */ 873*f5b1c8a1SJohn Marino 874*f5b1c8a1SJohn Marino #define LN_id_qt_cps "Policy Qualifier CPS" 875*f5b1c8a1SJohn Marino #define SN_id_qt_cps "id-qt-cps" 876*f5b1c8a1SJohn Marino #define NID_id_qt_cps 164 877*f5b1c8a1SJohn Marino #define OBJ_id_qt_cps OBJ_id_pkix,2L,1L 878*f5b1c8a1SJohn Marino 879*f5b1c8a1SJohn Marino #define LN_id_qt_unotice "Policy Qualifier User Notice" 880*f5b1c8a1SJohn Marino #define SN_id_qt_unotice "id-qt-unotice" 881*f5b1c8a1SJohn Marino #define NID_id_qt_unotice 165 882*f5b1c8a1SJohn Marino #define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L 883*f5b1c8a1SJohn Marino 884*f5b1c8a1SJohn Marino #define SN_rc2_64_cbc "RC2-64-CBC" 885*f5b1c8a1SJohn Marino #define LN_rc2_64_cbc "rc2-64-cbc" 886*f5b1c8a1SJohn Marino #define NID_rc2_64_cbc 166 887*f5b1c8a1SJohn Marino 888*f5b1c8a1SJohn Marino #define SN_SMIMECapabilities "SMIME-CAPS" 889*f5b1c8a1SJohn Marino #define LN_SMIMECapabilities "S/MIME Capabilities" 890*f5b1c8a1SJohn Marino #define NID_SMIMECapabilities 167 891*f5b1c8a1SJohn Marino #define OBJ_SMIMECapabilities OBJ_pkcs9,15L 892*f5b1c8a1SJohn Marino 893*f5b1c8a1SJohn Marino #define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" 894*f5b1c8a1SJohn Marino #define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" 895*f5b1c8a1SJohn Marino #define NID_pbeWithMD2AndRC2_CBC 168 896*f5b1c8a1SJohn Marino #define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L 897*f5b1c8a1SJohn Marino 898*f5b1c8a1SJohn Marino #define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" 899*f5b1c8a1SJohn Marino #define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" 900*f5b1c8a1SJohn Marino #define NID_pbeWithMD5AndRC2_CBC 169 901*f5b1c8a1SJohn Marino #define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L 902*f5b1c8a1SJohn Marino 903*f5b1c8a1SJohn Marino #define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" 904*f5b1c8a1SJohn Marino #define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" 905*f5b1c8a1SJohn Marino #define NID_pbeWithSHA1AndDES_CBC 170 906*f5b1c8a1SJohn Marino #define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L 907*f5b1c8a1SJohn Marino 908*f5b1c8a1SJohn Marino /* Extension request OIDs */ 909*f5b1c8a1SJohn Marino 910*f5b1c8a1SJohn Marino #define LN_ms_ext_req "Microsoft Extension Request" 911*f5b1c8a1SJohn Marino #define SN_ms_ext_req "msExtReq" 912*f5b1c8a1SJohn Marino #define NID_ms_ext_req 171 913*f5b1c8a1SJohn Marino #define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L 914*f5b1c8a1SJohn Marino 915*f5b1c8a1SJohn Marino #define LN_ext_req "Extension Request" 916*f5b1c8a1SJohn Marino #define SN_ext_req "extReq" 917*f5b1c8a1SJohn Marino #define NID_ext_req 172 918*f5b1c8a1SJohn Marino #define OBJ_ext_req OBJ_pkcs9,14L 919*f5b1c8a1SJohn Marino 920*f5b1c8a1SJohn Marino #define SN_name "name" 921*f5b1c8a1SJohn Marino #define LN_name "name" 922*f5b1c8a1SJohn Marino #define NID_name 173 923*f5b1c8a1SJohn Marino #define OBJ_name OBJ_X509,41L 924*f5b1c8a1SJohn Marino 925*f5b1c8a1SJohn Marino #define SN_dnQualifier "dnQualifier" 926*f5b1c8a1SJohn Marino #define LN_dnQualifier "dnQualifier" 927*f5b1c8a1SJohn Marino #define NID_dnQualifier 174 928*f5b1c8a1SJohn Marino #define OBJ_dnQualifier OBJ_X509,46L 929*f5b1c8a1SJohn Marino 930*f5b1c8a1SJohn Marino #define SN_id_pe "id-pe" 931*f5b1c8a1SJohn Marino #define NID_id_pe 175 932*f5b1c8a1SJohn Marino #define OBJ_id_pe OBJ_id_pkix,1L 933*f5b1c8a1SJohn Marino 934*f5b1c8a1SJohn Marino #define SN_id_ad "id-ad" 935*f5b1c8a1SJohn Marino #define NID_id_ad 176 936*f5b1c8a1SJohn Marino #define OBJ_id_ad OBJ_id_pkix,48L 937*f5b1c8a1SJohn Marino 938*f5b1c8a1SJohn Marino #define SN_info_access "authorityInfoAccess" 939*f5b1c8a1SJohn Marino #define LN_info_access "Authority Information Access" 940*f5b1c8a1SJohn Marino #define NID_info_access 177 941*f5b1c8a1SJohn Marino #define OBJ_info_access OBJ_id_pe,1L 942*f5b1c8a1SJohn Marino 943*f5b1c8a1SJohn Marino #define SN_ad_OCSP "OCSP" 944*f5b1c8a1SJohn Marino #define LN_ad_OCSP "OCSP" 945*f5b1c8a1SJohn Marino #define NID_ad_OCSP 178 946*f5b1c8a1SJohn Marino #define OBJ_ad_OCSP OBJ_id_ad,1L 947*f5b1c8a1SJohn Marino 948*f5b1c8a1SJohn Marino #define SN_ad_ca_issuers "caIssuers" 949*f5b1c8a1SJohn Marino #define LN_ad_ca_issuers "CA Issuers" 950*f5b1c8a1SJohn Marino #define NID_ad_ca_issuers 179 951*f5b1c8a1SJohn Marino #define OBJ_ad_ca_issuers OBJ_id_ad,2L 952*f5b1c8a1SJohn Marino 953*f5b1c8a1SJohn Marino #define SN_OCSP_sign "OCSPSigning" 954*f5b1c8a1SJohn Marino #define LN_OCSP_sign "OCSP Signing" 955*f5b1c8a1SJohn Marino #define NID_OCSP_sign 180 956*f5b1c8a1SJohn Marino #define OBJ_OCSP_sign OBJ_id_kp,9L 957*f5b1c8a1SJohn Marino #endif /* USE_OBJ_MAC */ 958*f5b1c8a1SJohn Marino 959*f5b1c8a1SJohn Marino #include <openssl/bio.h> 960*f5b1c8a1SJohn Marino #include <openssl/asn1.h> 961*f5b1c8a1SJohn Marino 962*f5b1c8a1SJohn Marino #define OBJ_NAME_TYPE_UNDEF 0x00 963*f5b1c8a1SJohn Marino #define OBJ_NAME_TYPE_MD_METH 0x01 964*f5b1c8a1SJohn Marino #define OBJ_NAME_TYPE_CIPHER_METH 0x02 965*f5b1c8a1SJohn Marino #define OBJ_NAME_TYPE_PKEY_METH 0x03 966*f5b1c8a1SJohn Marino #define OBJ_NAME_TYPE_COMP_METH 0x04 967*f5b1c8a1SJohn Marino #define OBJ_NAME_TYPE_NUM 0x05 968*f5b1c8a1SJohn Marino 969*f5b1c8a1SJohn Marino #define OBJ_NAME_ALIAS 0x8000 970*f5b1c8a1SJohn Marino 971*f5b1c8a1SJohn Marino #define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 972*f5b1c8a1SJohn Marino #define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 973*f5b1c8a1SJohn Marino 974*f5b1c8a1SJohn Marino 975*f5b1c8a1SJohn Marino #ifdef __cplusplus 976*f5b1c8a1SJohn Marino extern "C" { 977*f5b1c8a1SJohn Marino #endif 978*f5b1c8a1SJohn Marino 979*f5b1c8a1SJohn Marino typedef struct obj_name_st { 980*f5b1c8a1SJohn Marino int type; 981*f5b1c8a1SJohn Marino int alias; 982*f5b1c8a1SJohn Marino const char *name; 983*f5b1c8a1SJohn Marino const char *data; 984*f5b1c8a1SJohn Marino } OBJ_NAME; 985*f5b1c8a1SJohn Marino 986*f5b1c8a1SJohn Marino #define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) 987*f5b1c8a1SJohn Marino 988*f5b1c8a1SJohn Marino 989*f5b1c8a1SJohn Marino int OBJ_NAME_init(void); 990*f5b1c8a1SJohn Marino int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *), 991*f5b1c8a1SJohn Marino int (*cmp_func)(const char *, const char *), 992*f5b1c8a1SJohn Marino void (*free_func)(const char *, int, const char *)); 993*f5b1c8a1SJohn Marino const char *OBJ_NAME_get(const char *name, int type); 994*f5b1c8a1SJohn Marino int OBJ_NAME_add(const char *name, int type, const char *data); 995*f5b1c8a1SJohn Marino int OBJ_NAME_remove(const char *name, int type); 996*f5b1c8a1SJohn Marino void OBJ_NAME_cleanup(int type); /* -1 for everything */ 997*f5b1c8a1SJohn Marino void OBJ_NAME_do_all(int type, void (*fn)(const OBJ_NAME *, void *arg), 998*f5b1c8a1SJohn Marino void *arg); 999*f5b1c8a1SJohn Marino void OBJ_NAME_do_all_sorted(int type, void (*fn)(const OBJ_NAME *, void *arg), 1000*f5b1c8a1SJohn Marino void *arg); 1001*f5b1c8a1SJohn Marino 1002*f5b1c8a1SJohn Marino ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o); 1003*f5b1c8a1SJohn Marino ASN1_OBJECT * OBJ_nid2obj(int n); 1004*f5b1c8a1SJohn Marino const char * OBJ_nid2ln(int n); 1005*f5b1c8a1SJohn Marino const char * OBJ_nid2sn(int n); 1006*f5b1c8a1SJohn Marino int OBJ_obj2nid(const ASN1_OBJECT *o); 1007*f5b1c8a1SJohn Marino ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name); 1008*f5b1c8a1SJohn Marino int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); 1009*f5b1c8a1SJohn Marino int OBJ_txt2nid(const char *s); 1010*f5b1c8a1SJohn Marino int OBJ_ln2nid(const char *s); 1011*f5b1c8a1SJohn Marino int OBJ_sn2nid(const char *s); 1012*f5b1c8a1SJohn Marino int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); 1013*f5b1c8a1SJohn Marino const void * OBJ_bsearch_(const void *key, const void *base, int num, 1014*f5b1c8a1SJohn Marino int size, int (*cmp)(const void *, const void *)); 1015*f5b1c8a1SJohn Marino const void * OBJ_bsearch_ex_(const void *key, const void *base, int num, 1016*f5b1c8a1SJohn Marino int size, int (*cmp)(const void *, const void *), 1017*f5b1c8a1SJohn Marino int flags); 1018*f5b1c8a1SJohn Marino 1019*f5b1c8a1SJohn Marino #define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ 1020*f5b1c8a1SJohn Marino static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ 1021*f5b1c8a1SJohn Marino static int nm##_cmp(type1 const *, type2 const *); \ 1022*f5b1c8a1SJohn Marino scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) 1023*f5b1c8a1SJohn Marino 1024*f5b1c8a1SJohn Marino #define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ 1025*f5b1c8a1SJohn Marino _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) 1026*f5b1c8a1SJohn Marino #define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ 1027*f5b1c8a1SJohn Marino type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) 1028*f5b1c8a1SJohn Marino 1029*f5b1c8a1SJohn Marino /* 1030*f5b1c8a1SJohn Marino * Unsolved problem: if a type is actually a pointer type, like 1031*f5b1c8a1SJohn Marino * nid_triple is, then its impossible to get a const where you need 1032*f5b1c8a1SJohn Marino * it. Consider: 1033*f5b1c8a1SJohn Marino * 1034*f5b1c8a1SJohn Marino * typedef int nid_triple[3]; 1035*f5b1c8a1SJohn Marino * const void *a_; 1036*f5b1c8a1SJohn Marino * const nid_triple const *a = a_; 1037*f5b1c8a1SJohn Marino * 1038*f5b1c8a1SJohn Marino * The assignement discards a const because what you really want is: 1039*f5b1c8a1SJohn Marino * 1040*f5b1c8a1SJohn Marino * const int const * const *a = a_; 1041*f5b1c8a1SJohn Marino * 1042*f5b1c8a1SJohn Marino * But if you do that, you lose the fact that a is an array of 3 ints, 1043*f5b1c8a1SJohn Marino * which breaks comparison functions. 1044*f5b1c8a1SJohn Marino * 1045*f5b1c8a1SJohn Marino * Thus we end up having to cast, sadly, or unpack the 1046*f5b1c8a1SJohn Marino * declarations. Or, as I finally did in this case, delcare nid_triple 1047*f5b1c8a1SJohn Marino * to be a struct, which it should have been in the first place. 1048*f5b1c8a1SJohn Marino * 1049*f5b1c8a1SJohn Marino * Ben, August 2008. 1050*f5b1c8a1SJohn Marino * 1051*f5b1c8a1SJohn Marino * Also, strictly speaking not all types need be const, but handling 1052*f5b1c8a1SJohn Marino * the non-constness means a lot of complication, and in practice 1053*f5b1c8a1SJohn Marino * comparison routines do always not touch their arguments. 1054*f5b1c8a1SJohn Marino */ 1055*f5b1c8a1SJohn Marino 1056*f5b1c8a1SJohn Marino #define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ 1057*f5b1c8a1SJohn Marino static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ 1058*f5b1c8a1SJohn Marino { \ 1059*f5b1c8a1SJohn Marino type1 const *a = a_; \ 1060*f5b1c8a1SJohn Marino type2 const *b = b_; \ 1061*f5b1c8a1SJohn Marino return nm##_cmp(a,b); \ 1062*f5b1c8a1SJohn Marino } \ 1063*f5b1c8a1SJohn Marino static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ 1064*f5b1c8a1SJohn Marino { \ 1065*f5b1c8a1SJohn Marino return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ 1066*f5b1c8a1SJohn Marino nm##_cmp_BSEARCH_CMP_FN); \ 1067*f5b1c8a1SJohn Marino } \ 1068*f5b1c8a1SJohn Marino extern void dummy_prototype(void) 1069*f5b1c8a1SJohn Marino 1070*f5b1c8a1SJohn Marino #define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ 1071*f5b1c8a1SJohn Marino static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ 1072*f5b1c8a1SJohn Marino { \ 1073*f5b1c8a1SJohn Marino type1 const *a = a_; \ 1074*f5b1c8a1SJohn Marino type2 const *b = b_; \ 1075*f5b1c8a1SJohn Marino return nm##_cmp(a,b); \ 1076*f5b1c8a1SJohn Marino } \ 1077*f5b1c8a1SJohn Marino type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ 1078*f5b1c8a1SJohn Marino { \ 1079*f5b1c8a1SJohn Marino return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ 1080*f5b1c8a1SJohn Marino nm##_cmp_BSEARCH_CMP_FN); \ 1081*f5b1c8a1SJohn Marino } \ 1082*f5b1c8a1SJohn Marino extern void dummy_prototype(void) 1083*f5b1c8a1SJohn Marino 1084*f5b1c8a1SJohn Marino #define OBJ_bsearch(type1,key,type2,base,num,cmp) \ 1085*f5b1c8a1SJohn Marino ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ 1086*f5b1c8a1SJohn Marino num,sizeof(type2), \ 1087*f5b1c8a1SJohn Marino ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ 1088*f5b1c8a1SJohn Marino (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ 1089*f5b1c8a1SJohn Marino cmp##_BSEARCH_CMP_FN))) 1090*f5b1c8a1SJohn Marino 1091*f5b1c8a1SJohn Marino #define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ 1092*f5b1c8a1SJohn Marino ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ 1093*f5b1c8a1SJohn Marino num,sizeof(type2), \ 1094*f5b1c8a1SJohn Marino ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ 1095*f5b1c8a1SJohn Marino (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ 1096*f5b1c8a1SJohn Marino cmp##_BSEARCH_CMP_FN)),flags) 1097*f5b1c8a1SJohn Marino 1098*f5b1c8a1SJohn Marino int OBJ_new_nid(int num); 1099*f5b1c8a1SJohn Marino int OBJ_add_object(const ASN1_OBJECT *obj); 1100*f5b1c8a1SJohn Marino int OBJ_create(const char *oid, const char *sn, const char *ln); 1101*f5b1c8a1SJohn Marino void OBJ_cleanup(void ); 1102*f5b1c8a1SJohn Marino int OBJ_create_objects(BIO *in); 1103*f5b1c8a1SJohn Marino 1104*f5b1c8a1SJohn Marino int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); 1105*f5b1c8a1SJohn Marino int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); 1106*f5b1c8a1SJohn Marino int OBJ_add_sigid(int signid, int dig_id, int pkey_id); 1107*f5b1c8a1SJohn Marino void OBJ_sigid_free(void); 1108*f5b1c8a1SJohn Marino 1109*f5b1c8a1SJohn Marino extern int obj_cleanup_defer; 1110*f5b1c8a1SJohn Marino void check_defer(int nid); 1111*f5b1c8a1SJohn Marino 1112*f5b1c8a1SJohn Marino /* BEGIN ERROR CODES */ 1113*f5b1c8a1SJohn Marino /* The following lines are auto generated by the script mkerr.pl. Any changes 1114*f5b1c8a1SJohn Marino * made after this point may be overwritten when the script is next run. 1115*f5b1c8a1SJohn Marino */ 1116*f5b1c8a1SJohn Marino void ERR_load_OBJ_strings(void); 1117*f5b1c8a1SJohn Marino 1118*f5b1c8a1SJohn Marino /* Error codes for the OBJ functions. */ 1119*f5b1c8a1SJohn Marino 1120*f5b1c8a1SJohn Marino /* Function codes. */ 1121*f5b1c8a1SJohn Marino #define OBJ_F_OBJ_ADD_OBJECT 105 1122*f5b1c8a1SJohn Marino #define OBJ_F_OBJ_CREATE 100 1123*f5b1c8a1SJohn Marino #define OBJ_F_OBJ_DUP 101 1124*f5b1c8a1SJohn Marino #define OBJ_F_OBJ_NAME_NEW_INDEX 106 1125*f5b1c8a1SJohn Marino #define OBJ_F_OBJ_NID2LN 102 1126*f5b1c8a1SJohn Marino #define OBJ_F_OBJ_NID2OBJ 103 1127*f5b1c8a1SJohn Marino #define OBJ_F_OBJ_NID2SN 104 1128*f5b1c8a1SJohn Marino 1129*f5b1c8a1SJohn Marino /* Reason codes. */ 1130*f5b1c8a1SJohn Marino #define OBJ_R_MALLOC_FAILURE 100 1131*f5b1c8a1SJohn Marino #define OBJ_R_UNKNOWN_NID 101 1132*f5b1c8a1SJohn Marino 1133*f5b1c8a1SJohn Marino #ifdef __cplusplus 1134*f5b1c8a1SJohn Marino } 1135*f5b1c8a1SJohn Marino #endif 1136*f5b1c8a1SJohn Marino #endif 1137