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