summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/objects
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libcrypto/objects/o_names.c369
-rw-r--r--src/lib/libcrypto/objects/obj_dat.c668
-rw-r--r--src/lib/libcrypto/objects/obj_dat.pl307
-rw-r--r--src/lib/libcrypto/objects/obj_err.c101
-rw-r--r--src/lib/libcrypto/objects/obj_lib.c127
-rw-r--r--src/lib/libcrypto/objects/obj_mac.num667
-rw-r--r--src/lib/libcrypto/objects/objects.README44
-rw-r--r--src/lib/libcrypto/objects/objects.h1044
-rw-r--r--src/lib/libcrypto/objects/objects.pl230
-rw-r--r--src/lib/libcrypto/objects/objects.txt938
10 files changed, 0 insertions, 4495 deletions
diff --git a/src/lib/libcrypto/objects/o_names.c b/src/lib/libcrypto/objects/o_names.c
deleted file mode 100644
index 28c9370ca3..0000000000
--- a/src/lib/libcrypto/objects/o_names.c
+++ /dev/null
@@ -1,369 +0,0 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4
5#include <openssl/err.h>
6#include <openssl/lhash.h>
7#include <openssl/objects.h>
8#include <openssl/safestack.h>
9#include <openssl/e_os2.h>
10
11/* Later versions of DEC C has started to add lnkage information to certain
12 * functions, which makes it tricky to use them as values to regular function
13 * pointers. One way is to define a macro that takes care of casting them
14 * correctly.
15 */
16#ifdef OPENSSL_SYS_VMS_DECC
17# define OPENSSL_strcmp (int (*)(const char *,const char *))strcmp
18#else
19# define OPENSSL_strcmp strcmp
20#endif
21
22/* I use the ex_data stuff to manage the identifiers for the obj_name_types
23 * that applications may define. I only really use the free function field.
24 */
25static LHASH *names_lh=NULL;
26static int names_type_num=OBJ_NAME_TYPE_NUM;
27
28typedef struct name_funcs_st
29 {
30 unsigned long (*hash_func)(const char *name);
31 int (*cmp_func)(const char *a,const char *b);
32 void (*free_func)(const char *, int, const char *);
33 } NAME_FUNCS;
34
35DECLARE_STACK_OF(NAME_FUNCS)
36IMPLEMENT_STACK_OF(NAME_FUNCS)
37
38static STACK_OF(NAME_FUNCS) *name_funcs_stack;
39
40/* The LHASH callbacks now use the raw "void *" prototypes and do per-variable
41 * casting in the functions. This prevents function pointer casting without the
42 * need for macro-generated wrapper functions. */
43
44/* static unsigned long obj_name_hash(OBJ_NAME *a); */
45static unsigned long obj_name_hash(const void *a_void);
46/* static int obj_name_cmp(OBJ_NAME *a,OBJ_NAME *b); */
47static int obj_name_cmp(const void *a_void,const void *b_void);
48
49int OBJ_NAME_init(void)
50 {
51 if (names_lh != NULL) return(1);
52 MemCheck_off();
53 names_lh=lh_new(obj_name_hash, obj_name_cmp);
54 MemCheck_on();
55 return(names_lh != NULL);
56 }
57
58int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
59 int (*cmp_func)(const char *, const char *),
60 void (*free_func)(const char *, int, const char *))
61 {
62 int ret;
63 int i;
64 NAME_FUNCS *name_funcs;
65
66 if (name_funcs_stack == NULL)
67 {
68 MemCheck_off();
69 name_funcs_stack=sk_NAME_FUNCS_new_null();
70 MemCheck_on();
71 }
72 if ((name_funcs_stack == NULL))
73 {
74 /* ERROR */
75 return(0);
76 }
77 ret=names_type_num;
78 names_type_num++;
79 for (i=sk_NAME_FUNCS_num(name_funcs_stack); i<names_type_num; i++)
80 {
81 MemCheck_off();
82 name_funcs = OPENSSL_malloc(sizeof(NAME_FUNCS));
83 MemCheck_on();
84 if (!name_funcs)
85 {
86 OBJerr(OBJ_F_OBJ_NAME_NEW_INDEX,ERR_R_MALLOC_FAILURE);
87 return(0);
88 }
89 name_funcs->hash_func = lh_strhash;
90 name_funcs->cmp_func = OPENSSL_strcmp;
91 name_funcs->free_func = 0; /* NULL is often declared to
92 * ((void *)0), which according
93 * to Compaq C is not really
94 * compatible with a function
95 * pointer. -- Richard Levitte*/
96 MemCheck_off();
97 sk_NAME_FUNCS_push(name_funcs_stack,name_funcs);
98 MemCheck_on();
99 }
100 name_funcs = sk_NAME_FUNCS_value(name_funcs_stack, ret);
101 if (hash_func != NULL)
102 name_funcs->hash_func = hash_func;
103 if (cmp_func != NULL)
104 name_funcs->cmp_func = cmp_func;
105 if (free_func != NULL)
106 name_funcs->free_func = free_func;
107 return(ret);
108 }
109
110/* static int obj_name_cmp(OBJ_NAME *a, OBJ_NAME *b) */
111static int obj_name_cmp(const void *a_void, const void *b_void)
112 {
113 int ret;
114 OBJ_NAME *a = (OBJ_NAME *)a_void;
115 OBJ_NAME *b = (OBJ_NAME *)b_void;
116
117 ret=a->type-b->type;
118 if (ret == 0)
119 {
120 if ((name_funcs_stack != NULL)
121 && (sk_NAME_FUNCS_num(name_funcs_stack) > a->type))
122 {
123 ret=sk_NAME_FUNCS_value(name_funcs_stack,
124 a->type)->cmp_func(a->name,b->name);
125 }
126 else
127 ret=strcmp(a->name,b->name);
128 }
129 return(ret);
130 }
131
132/* static unsigned long obj_name_hash(OBJ_NAME *a) */
133static unsigned long obj_name_hash(const void *a_void)
134 {
135 unsigned long ret;
136 OBJ_NAME *a = (OBJ_NAME *)a_void;
137
138 if ((name_funcs_stack != NULL) && (sk_NAME_FUNCS_num(name_funcs_stack) > a->type))
139 {
140 ret=sk_NAME_FUNCS_value(name_funcs_stack,
141 a->type)->hash_func(a->name);
142 }
143 else
144 {
145 ret=lh_strhash(a->name);
146 }
147 ret^=a->type;
148 return(ret);
149 }
150
151const char *OBJ_NAME_get(const char *name, int type)
152 {
153 OBJ_NAME on,*ret;
154 int num=0,alias;
155
156 if (name == NULL) return(NULL);
157 if ((names_lh == NULL) && !OBJ_NAME_init()) return(NULL);
158
159 alias=type&OBJ_NAME_ALIAS;
160 type&= ~OBJ_NAME_ALIAS;
161
162 on.name=name;
163 on.type=type;
164
165 for (;;)
166 {
167 ret=(OBJ_NAME *)lh_retrieve(names_lh,&on);
168 if (ret == NULL) return(NULL);
169 if ((ret->alias) && !alias)
170 {
171 if (++num > 10) return(NULL);
172 on.name=ret->data;
173 }
174 else
175 {
176 return(ret->data);
177 }
178 }
179 }
180
181int OBJ_NAME_add(const char *name, int type, const char *data)
182 {
183 OBJ_NAME *onp,*ret;
184 int alias;
185
186 if ((names_lh == NULL) && !OBJ_NAME_init()) return(0);
187
188 alias=type&OBJ_NAME_ALIAS;
189 type&= ~OBJ_NAME_ALIAS;
190
191 onp=(OBJ_NAME *)OPENSSL_malloc(sizeof(OBJ_NAME));
192 if (onp == NULL)
193 {
194 /* ERROR */
195 return(0);
196 }
197
198 onp->name=name;
199 onp->alias=alias;
200 onp->type=type;
201 onp->data=data;
202
203 ret=(OBJ_NAME *)lh_insert(names_lh,onp);
204 if (ret != NULL)
205 {
206 /* free things */
207 if ((name_funcs_stack != NULL) && (sk_NAME_FUNCS_num(name_funcs_stack) > ret->type))
208 {
209 /* XXX: I'm not sure I understand why the free
210 * function should get three arguments...
211 * -- Richard Levitte
212 */
213 sk_NAME_FUNCS_value(name_funcs_stack,
214 ret->type)->free_func(ret->name,ret->type,ret->data);
215 }
216 OPENSSL_free(ret);
217 }
218 else
219 {
220 if (lh_error(names_lh))
221 {
222 /* ERROR */
223 return(0);
224 }
225 }
226 return(1);
227 }
228
229int OBJ_NAME_remove(const char *name, int type)
230 {
231 OBJ_NAME on,*ret;
232
233 if (names_lh == NULL) return(0);
234
235 type&= ~OBJ_NAME_ALIAS;
236 on.name=name;
237 on.type=type;
238 ret=(OBJ_NAME *)lh_delete(names_lh,&on);
239 if (ret != NULL)
240 {
241 /* free things */
242 if ((name_funcs_stack != NULL) && (sk_NAME_FUNCS_num(name_funcs_stack) > ret->type))
243 {
244 /* XXX: I'm not sure I understand why the free
245 * function should get three arguments...
246 * -- Richard Levitte
247 */
248 sk_NAME_FUNCS_value(name_funcs_stack,
249 ret->type)->free_func(ret->name,ret->type,ret->data);
250 }
251 OPENSSL_free(ret);
252 return(1);
253 }
254 else
255 return(0);
256 }
257
258struct doall
259 {
260 int type;
261 void (*fn)(const OBJ_NAME *,void *arg);
262 void *arg;
263 };
264
265static void do_all_fn(const OBJ_NAME *name,struct doall *d)
266 {
267 if(name->type == d->type)
268 d->fn(name,d->arg);
269 }
270
271static IMPLEMENT_LHASH_DOALL_ARG_FN(do_all_fn, const OBJ_NAME *, struct doall *)
272
273void OBJ_NAME_do_all(int type,void (*fn)(const OBJ_NAME *,void *arg),void *arg)
274 {
275 struct doall d;
276
277 d.type=type;
278 d.fn=fn;
279 d.arg=arg;
280
281 lh_doall_arg(names_lh,LHASH_DOALL_ARG_FN(do_all_fn),&d);
282 }
283
284struct doall_sorted
285 {
286 int type;
287 int n;
288 const OBJ_NAME **names;
289 };
290
291static void do_all_sorted_fn(const OBJ_NAME *name,void *d_)
292 {
293 struct doall_sorted *d=d_;
294
295 if(name->type != d->type)
296 return;
297
298 d->names[d->n++]=name;
299 }
300
301static int do_all_sorted_cmp(const void *n1_,const void *n2_)
302 {
303 const OBJ_NAME * const *n1=n1_;
304 const OBJ_NAME * const *n2=n2_;
305
306 return strcmp((*n1)->name,(*n2)->name);
307 }
308
309void OBJ_NAME_do_all_sorted(int type,void (*fn)(const OBJ_NAME *,void *arg),
310 void *arg)
311 {
312 struct doall_sorted d;
313 int n;
314
315 d.type=type;
316 d.names=OPENSSL_malloc(lh_num_items(names_lh)*sizeof *d.names);
317 d.n=0;
318 OBJ_NAME_do_all(type,do_all_sorted_fn,&d);
319
320 qsort((void *)d.names,d.n,sizeof *d.names,do_all_sorted_cmp);
321
322 for(n=0 ; n < d.n ; ++n)
323 fn(d.names[n],arg);
324
325 OPENSSL_free((void *)d.names);
326 }
327
328static int free_type;
329
330static void names_lh_free(OBJ_NAME *onp)
331{
332 if(onp == NULL)
333 return;
334
335 if ((free_type < 0) || (free_type == onp->type))
336 {
337 OBJ_NAME_remove(onp->name,onp->type);
338 }
339 }
340
341static IMPLEMENT_LHASH_DOALL_FN(names_lh_free, OBJ_NAME *)
342
343static void name_funcs_free(NAME_FUNCS *ptr)
344 {
345 OPENSSL_free(ptr);
346 }
347
348void OBJ_NAME_cleanup(int type)
349 {
350 unsigned long down_load;
351
352 if (names_lh == NULL) return;
353
354 free_type=type;
355 down_load=names_lh->down_load;
356 names_lh->down_load=0;
357
358 lh_doall(names_lh,LHASH_DOALL_FN(names_lh_free));
359 if (type < 0)
360 {
361 lh_free(names_lh);
362 sk_NAME_FUNCS_pop_free(name_funcs_stack,name_funcs_free);
363 names_lh=NULL;
364 name_funcs_stack = NULL;
365 }
366 else
367 names_lh->down_load=down_load;
368 }
369
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c
deleted file mode 100644
index f549d078ef..0000000000
--- a/src/lib/libcrypto/objects/obj_dat.c
+++ /dev/null
@@ -1,668 +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 OPENSSL_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
75static unsigned char lvalues[1];
76static ASN1_OBJECT nid_objs[1];
77static ASN1_OBJECT *sn_objs[1];
78static ASN1_OBJECT *ln_objs[1];
79static ASN1_OBJECT *obj_objs[1];
80#endif
81
82static int sn_cmp(const void *a, const void *b);
83static int ln_cmp(const void *a, const void *b);
84static int obj_cmp(const void *a, const void *b);
85#define ADDED_DATA 0
86#define ADDED_SNAME 1
87#define ADDED_LNAME 2
88#define ADDED_NID 3
89
90typedef struct added_obj_st
91 {
92 int type;
93 ASN1_OBJECT *obj;
94 } ADDED_OBJ;
95
96static int new_nid=NUM_NID;
97static LHASH *added=NULL;
98
99static int sn_cmp(const void *a, const void *b)
100 {
101 const ASN1_OBJECT * const *ap = a, * const *bp = b;
102 return(strcmp((*ap)->sn,(*bp)->sn));
103 }
104
105static int ln_cmp(const void *a, const void *b)
106 {
107 const ASN1_OBJECT * const *ap = a, * const *bp = b;
108 return(strcmp((*ap)->ln,(*bp)->ln));
109 }
110
111/* static unsigned long add_hash(ADDED_OBJ *ca) */
112static unsigned long add_hash(const void *ca_void)
113 {
114 const ASN1_OBJECT *a;
115 int i;
116 unsigned long ret=0;
117 unsigned char *p;
118 ADDED_OBJ *ca = (ADDED_OBJ *)ca_void;
119
120 a=ca->obj;
121 switch (ca->type)
122 {
123 case ADDED_DATA:
124 ret=a->length<<20L;
125 p=(unsigned char *)a->data;
126 for (i=0; i<a->length; i++)
127 ret^=p[i]<<((i*3)%24);
128 break;
129 case ADDED_SNAME:
130 ret=lh_strhash(a->sn);
131 break;
132 case ADDED_LNAME:
133 ret=lh_strhash(a->ln);
134 break;
135 case ADDED_NID:
136 ret=a->nid;
137 break;
138 default:
139 /* abort(); */
140 return 0;
141 }
142 ret&=0x3fffffffL;
143 ret|=ca->type<<30L;
144 return(ret);
145 }
146
147/* static int add_cmp(ADDED_OBJ *ca, ADDED_OBJ *cb) */
148static int add_cmp(const void *ca_void, const void *cb_void)
149 {
150 ASN1_OBJECT *a,*b;
151 int i;
152 ADDED_OBJ *ca = (ADDED_OBJ *)ca_void;
153 ADDED_OBJ *cb = (ADDED_OBJ *)cb_void;
154
155 i=ca->type-cb->type;
156 if (i) return(i);
157 a=ca->obj;
158 b=cb->obj;
159 switch (ca->type)
160 {
161 case ADDED_DATA:
162 i=(a->length - b->length);
163 if (i) return(i);
164 return(memcmp(a->data,b->data,a->length));
165 case ADDED_SNAME:
166 if (a->sn == NULL) return(-1);
167 else if (b->sn == NULL) return(1);
168 else return(strcmp(a->sn,b->sn));
169 case ADDED_LNAME:
170 if (a->ln == NULL) return(-1);
171 else if (b->ln == NULL) return(1);
172 else return(strcmp(a->ln,b->ln));
173 case ADDED_NID:
174 return(a->nid-b->nid);
175 default:
176 /* abort(); */
177 return 0;
178 }
179 }
180
181static int init_added(void)
182 {
183 if (added != NULL) return(1);
184 added=lh_new(add_hash,add_cmp);
185 return(added != NULL);
186 }
187
188static void cleanup1(ADDED_OBJ *a)
189 {
190 a->obj->nid=0;
191 a->obj->flags|=ASN1_OBJECT_FLAG_DYNAMIC|
192 ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|
193 ASN1_OBJECT_FLAG_DYNAMIC_DATA;
194 }
195
196static void cleanup2(ADDED_OBJ *a)
197 { a->obj->nid++; }
198
199static void cleanup3(ADDED_OBJ *a)
200 {
201 if (--a->obj->nid == 0)
202 ASN1_OBJECT_free(a->obj);
203 OPENSSL_free(a);
204 }
205
206static IMPLEMENT_LHASH_DOALL_FN(cleanup1, ADDED_OBJ *)
207static IMPLEMENT_LHASH_DOALL_FN(cleanup2, ADDED_OBJ *)
208static IMPLEMENT_LHASH_DOALL_FN(cleanup3, ADDED_OBJ *)
209
210void OBJ_cleanup(void)
211 {
212 if (added == NULL) return;
213 added->down_load=0;
214 lh_doall(added,LHASH_DOALL_FN(cleanup1)); /* zero counters */
215 lh_doall(added,LHASH_DOALL_FN(cleanup2)); /* set counters */
216 lh_doall(added,LHASH_DOALL_FN(cleanup3)); /* free objects */
217 lh_free(added);
218 added=NULL;
219 }
220
221int OBJ_new_nid(int num)
222 {
223 int i;
224
225 i=new_nid;
226 new_nid+=num;
227 return(i);
228 }
229
230int OBJ_add_object(const ASN1_OBJECT *obj)
231 {
232 ASN1_OBJECT *o;
233 ADDED_OBJ *ao[4]={NULL,NULL,NULL,NULL},*aop;
234 int i;
235
236 if (added == NULL)
237 if (!init_added()) return(0);
238 if ((o=OBJ_dup(obj)) == NULL) goto err;
239 if (!(ao[ADDED_NID]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2;
240 if ((o->length != 0) && (obj->data != NULL))
241 if (!(ao[ADDED_DATA]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2;
242 if (o->sn != NULL)
243 if (!(ao[ADDED_SNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2;
244 if (o->ln != NULL)
245 if (!(ao[ADDED_LNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)))) goto err2;
246
247 for (i=ADDED_DATA; i<=ADDED_NID; i++)
248 {
249 if (ao[i] != NULL)
250 {
251 ao[i]->type=i;
252 ao[i]->obj=o;
253 aop=(ADDED_OBJ *)lh_insert(added,ao[i]);
254 /* memory leak, buit should not normally matter */
255 if (aop != NULL)
256 OPENSSL_free(aop);
257 }
258 }
259 o->flags&= ~(ASN1_OBJECT_FLAG_DYNAMIC|ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|
260 ASN1_OBJECT_FLAG_DYNAMIC_DATA);
261
262 return(o->nid);
263err2:
264 OBJerr(OBJ_F_OBJ_ADD_OBJECT,ERR_R_MALLOC_FAILURE);
265err:
266 for (i=ADDED_DATA; i<=ADDED_NID; i++)
267 if (ao[i] != NULL) OPENSSL_free(ao[i]);
268 if (o != NULL) OPENSSL_free(o);
269 return(NID_undef);
270 }
271
272ASN1_OBJECT *OBJ_nid2obj(int n)
273 {
274 ADDED_OBJ ad,*adp;
275 ASN1_OBJECT ob;
276
277 if ((n >= 0) && (n < NUM_NID))
278 {
279 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef))
280 {
281 OBJerr(OBJ_F_OBJ_NID2OBJ,OBJ_R_UNKNOWN_NID);
282 return(NULL);
283 }
284 return((ASN1_OBJECT *)&(nid_objs[n]));
285 }
286 else if (added == NULL)
287 return(NULL);
288 else
289 {
290 ad.type=ADDED_NID;
291 ad.obj= &ob;
292 ob.nid=n;
293 adp=(ADDED_OBJ *)lh_retrieve(added,&ad);
294 if (adp != NULL)
295 return(adp->obj);
296 else
297 {
298 OBJerr(OBJ_F_OBJ_NID2OBJ,OBJ_R_UNKNOWN_NID);
299 return(NULL);
300 }
301 }
302 }
303
304const char *OBJ_nid2sn(int n)
305 {
306 ADDED_OBJ ad,*adp;
307 ASN1_OBJECT ob;
308
309 if ((n >= 0) && (n < NUM_NID))
310 {
311 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef))
312 {
313 OBJerr(OBJ_F_OBJ_NID2SN,OBJ_R_UNKNOWN_NID);
314 return(NULL);
315 }
316 return(nid_objs[n].sn);
317 }
318 else if (added == NULL)
319 return(NULL);
320 else
321 {
322 ad.type=ADDED_NID;
323 ad.obj= &ob;
324 ob.nid=n;
325 adp=(ADDED_OBJ *)lh_retrieve(added,&ad);
326 if (adp != NULL)
327 return(adp->obj->sn);
328 else
329 {
330 OBJerr(OBJ_F_OBJ_NID2SN,OBJ_R_UNKNOWN_NID);
331 return(NULL);
332 }
333 }
334 }
335
336const char *OBJ_nid2ln(int n)
337 {
338 ADDED_OBJ ad,*adp;
339 ASN1_OBJECT ob;
340
341 if ((n >= 0) && (n < NUM_NID))
342 {
343 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef))
344 {
345 OBJerr(OBJ_F_OBJ_NID2LN,OBJ_R_UNKNOWN_NID);
346 return(NULL);
347 }
348 return(nid_objs[n].ln);
349 }
350 else if (added == NULL)
351 return(NULL);
352 else
353 {
354 ad.type=ADDED_NID;
355 ad.obj= &ob;
356 ob.nid=n;
357 adp=(ADDED_OBJ *)lh_retrieve(added,&ad);
358 if (adp != NULL)
359 return(adp->obj->ln);
360 else
361 {
362 OBJerr(OBJ_F_OBJ_NID2LN,OBJ_R_UNKNOWN_NID);
363 return(NULL);
364 }
365 }
366 }
367
368int OBJ_obj2nid(const ASN1_OBJECT *a)
369 {
370 ASN1_OBJECT **op;
371 ADDED_OBJ ad,*adp;
372
373 if (a == NULL)
374 return(NID_undef);
375 if (a->nid != 0)
376 return(a->nid);
377
378 if (added != NULL)
379 {
380 ad.type=ADDED_DATA;
381 ad.obj=(ASN1_OBJECT *)a; /* XXX: ugly but harmless */
382 adp=(ADDED_OBJ *)lh_retrieve(added,&ad);
383 if (adp != NULL) return (adp->obj->nid);
384 }
385 op=(ASN1_OBJECT **)OBJ_bsearch((char *)&a,(char *)obj_objs,NUM_OBJ,
386 sizeof(ASN1_OBJECT *),obj_cmp);
387 if (op == NULL)
388 return(NID_undef);
389 return((*op)->nid);
390 }
391
392/* Convert an object name into an ASN1_OBJECT
393 * if "noname" is not set then search for short and long names first.
394 * This will convert the "dotted" form into an object: unlike OBJ_txt2nid
395 * it can be used with any objects, not just registered ones.
396 */
397
398ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name)
399 {
400 int nid = NID_undef;
401 ASN1_OBJECT *op=NULL;
402 unsigned char *buf,*p;
403 int i, j;
404
405 if(!no_name) {
406 if( ((nid = OBJ_sn2nid(s)) != NID_undef) ||
407 ((nid = OBJ_ln2nid(s)) != NID_undef) )
408 return OBJ_nid2obj(nid);
409 }
410
411 /* Work out size of content octets */
412 i=a2d_ASN1_OBJECT(NULL,0,s,-1);
413 if (i <= 0) {
414 /* Clear the error */
415 ERR_get_error();
416 return NULL;
417 }
418 /* Work out total size */
419 j = ASN1_object_size(0,i,V_ASN1_OBJECT);
420
421 if((buf=(unsigned char *)OPENSSL_malloc(j)) == NULL) return NULL;
422
423 p = buf;
424 /* Write out tag+length */
425 ASN1_put_object(&p,0,i,V_ASN1_OBJECT,V_ASN1_UNIVERSAL);
426 /* Write out contents */
427 a2d_ASN1_OBJECT(p,i,s,-1);
428
429 p=buf;
430 op=d2i_ASN1_OBJECT(NULL,&p,j);
431 OPENSSL_free(buf);
432 return op;
433 }
434
435int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
436{
437 int i,idx=0,n=0,len,nid;
438 unsigned long l;
439 unsigned char *p;
440 const char *s;
441 char tbuf[DECIMAL_SIZE(i)+DECIMAL_SIZE(l)+2];
442
443 if (buf_len <= 0) return(0);
444
445 if ((a == NULL) || (a->data == NULL)) {
446 buf[0]='\0';
447 return(0);
448 }
449
450 if (no_name || (nid=OBJ_obj2nid(a)) == NID_undef) {
451 len=a->length;
452 p=a->data;
453
454 idx=0;
455 l=0;
456 while (idx < a->length) {
457 l|=(p[idx]&0x7f);
458 if (!(p[idx] & 0x80)) break;
459 l<<=7L;
460 idx++;
461 }
462 idx++;
463 i=(int)(l/40);
464 if (i > 2) i=2;
465 l-=(long)(i*40);
466
467 BIO_snprintf(tbuf,sizeof tbuf,"%d.%lu",i,l);
468 i=strlen(tbuf);
469 BUF_strlcpy(buf,tbuf,buf_len);
470 buf_len-=i;
471 buf+=i;
472 n+=i;
473
474 l=0;
475 for (; idx<len; idx++) {
476 l|=p[idx]&0x7f;
477 if (!(p[idx] & 0x80)) {
478 BIO_snprintf(tbuf,sizeof tbuf,".%lu",l);
479 i=strlen(tbuf);
480 if (buf_len > 0)
481 BUF_strlcpy(buf,tbuf,buf_len);
482 buf_len-=i;
483 buf+=i;
484 n+=i;
485 l=0;
486 }
487 l<<=7L;
488 }
489 } else {
490 s=OBJ_nid2ln(nid);
491 if (s == NULL)
492 s=OBJ_nid2sn(nid);
493 BUF_strlcpy(buf,s,buf_len);
494 n=strlen(s);
495 }
496 return(n);
497}
498
499int OBJ_txt2nid(const char *s)
500{
501 ASN1_OBJECT *obj;
502 int nid;
503 obj = OBJ_txt2obj(s, 0);
504 nid = OBJ_obj2nid(obj);
505 ASN1_OBJECT_free(obj);
506 return nid;
507}
508
509int OBJ_ln2nid(const char *s)
510 {
511 ASN1_OBJECT o,*oo= &o,**op;
512 ADDED_OBJ ad,*adp;
513
514 o.ln=s;
515 if (added != NULL)
516 {
517 ad.type=ADDED_LNAME;
518 ad.obj= &o;
519 adp=(ADDED_OBJ *)lh_retrieve(added,&ad);
520 if (adp != NULL) return (adp->obj->nid);
521 }
522 op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)ln_objs,NUM_LN,
523 sizeof(ASN1_OBJECT *),ln_cmp);
524 if (op == NULL) return(NID_undef);
525 return((*op)->nid);
526 }
527
528int OBJ_sn2nid(const char *s)
529 {
530 ASN1_OBJECT o,*oo= &o,**op;
531 ADDED_OBJ ad,*adp;
532
533 o.sn=s;
534 if (added != NULL)
535 {
536 ad.type=ADDED_SNAME;
537 ad.obj= &o;
538 adp=(ADDED_OBJ *)lh_retrieve(added,&ad);
539 if (adp != NULL) return (adp->obj->nid);
540 }
541 op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)sn_objs,NUM_SN,
542 sizeof(ASN1_OBJECT *),sn_cmp);
543 if (op == NULL) return(NID_undef);
544 return((*op)->nid);
545 }
546
547static int obj_cmp(const void *ap, const void *bp)
548 {
549 int j;
550 ASN1_OBJECT *a= *(ASN1_OBJECT **)ap;
551 ASN1_OBJECT *b= *(ASN1_OBJECT **)bp;
552
553 j=(a->length - b->length);
554 if (j) return(j);
555 return(memcmp(a->data,b->data,a->length));
556 }
557
558const char *OBJ_bsearch(const char *key, const char *base, int num, int size,
559 int (*cmp)(const void *, const void *))
560 {
561 int l,h,i,c;
562 const char *p;
563
564 if (num == 0) return(NULL);
565 l=0;
566 h=num;
567 while (l < h)
568 {
569 i=(l+h)/2;
570 p= &(base[i*size]);
571 c=(*cmp)(key,p);
572 if (c < 0)
573 h=i;
574 else if (c > 0)
575 l=i+1;
576 else
577 return(p);
578 }
579#ifdef CHARSET_EBCDIC
580/* THIS IS A KLUDGE - Because the *_obj is sorted in ASCII order, and
581 * I don't have perl (yet), we revert to a *LINEAR* search
582 * when the object wasn't found in the binary search.
583 */
584 for (i=0; i<num; ++i) {
585 p= &(base[i*size]);
586 if ((*cmp)(key,p) == 0)
587 return p;
588 }
589#endif
590 return(NULL);
591 }
592
593int OBJ_create_objects(BIO *in)
594 {
595 MS_STATIC char buf[512];
596 int i,num=0;
597 char *o,*s,*l=NULL;
598
599 for (;;)
600 {
601 s=o=NULL;
602 i=BIO_gets(in,buf,512);
603 if (i <= 0) return(num);
604 buf[i-1]='\0';
605 if (!isalnum((unsigned char)buf[0])) return(num);
606 o=s=buf;
607 while (isdigit((unsigned char)*s) || (*s == '.'))
608 s++;
609 if (*s != '\0')
610 {
611 *(s++)='\0';
612 while (isspace((unsigned char)*s))
613 s++;
614 if (*s == '\0')
615 s=NULL;
616 else
617 {
618 l=s;
619 while ((*l != '\0') && !isspace((unsigned char)*l))
620 l++;
621 if (*l != '\0')
622 {
623 *(l++)='\0';
624 while (isspace((unsigned char)*l))
625 l++;
626 if (*l == '\0') l=NULL;
627 }
628 else
629 l=NULL;
630 }
631 }
632 else
633 s=NULL;
634 if ((o == NULL) || (*o == '\0')) return(num);
635 if (!OBJ_create(o,s,l)) return(num);
636 num++;
637 }
638 /* return(num); */
639 }
640
641int OBJ_create(const char *oid, const char *sn, const char *ln)
642 {
643 int ok=0;
644 ASN1_OBJECT *op=NULL;
645 unsigned char *buf;
646 int i;
647
648 i=a2d_ASN1_OBJECT(NULL,0,oid,-1);
649 if (i <= 0) return(0);
650
651 if ((buf=(unsigned char *)OPENSSL_malloc(i)) == NULL)
652 {
653 OBJerr(OBJ_F_OBJ_CREATE,ERR_R_MALLOC_FAILURE);
654 return(0);
655 }
656 i=a2d_ASN1_OBJECT(buf,i,oid,-1);
657 if (i == 0)
658 goto err;
659 op=(ASN1_OBJECT *)ASN1_OBJECT_create(OBJ_new_nid(1),buf,i,sn,ln);
660 if (op == NULL)
661 goto err;
662 ok=OBJ_add_object(op);
663err:
664 ASN1_OBJECT_free(op);
665 OPENSSL_free(buf);
666 return(ok);
667 }
668
diff --git a/src/lib/libcrypto/objects/obj_dat.pl b/src/lib/libcrypto/objects/obj_dat.pl
deleted file mode 100644
index d0371661f9..0000000000
--- a/src/lib/libcrypto/objects/obj_dat.pl
+++ /dev/null
@@ -1,307 +0,0 @@
1#!/usr/local/bin/perl
2
3# fixes bug in floating point emulation on sparc64 when
4# this script produces off-by-one output on sparc64
5use integer;
6
7sub obj_cmp
8 {
9 local(@a,@b,$_,$r);
10
11 $A=$obj_len{$obj{$nid{$a}}};
12 $B=$obj_len{$obj{$nid{$b}}};
13
14 $r=($A-$B);
15 return($r) if $r != 0;
16
17 $A=$obj_der{$obj{$nid{$a}}};
18 $B=$obj_der{$obj{$nid{$b}}};
19
20 return($A cmp $B);
21 }
22
23sub expand_obj
24 {
25 local(*v)=@_;
26 local($k,$d);
27 local($i);
28
29 do {
30 $i=0;
31 foreach $k (keys %v)
32 {
33 if (($v{$k} =~ s/(OBJ_[^,]+),/$v{$1},/))
34 { $i++; }
35 }
36 } while($i);
37 foreach $k (keys %v)
38 {
39 @a=split(/,/,$v{$k});
40 $objn{$k}=$#a+1;
41 }
42 return(%objn);
43 }
44
45open (IN,"$ARGV[0]") || die "Can't open input file $ARGV[0]";
46open (OUT,">$ARGV[1]") || die "Can't open output file $ARGV[1]";
47
48while (<IN>)
49 {
50 next unless /^\#define\s+(\S+)\s+(.*)$/;
51 $v=$1;
52 $d=$2;
53 $d =~ s/^\"//;
54 $d =~ s/\"$//;
55 if ($v =~ /^SN_(.*)$/)
56 {
57 if(defined $snames{$d})
58 {
59 print "WARNING: Duplicate short name \"$d\"\n";
60 }
61 else
62 { $snames{$d} = "X"; }
63 $sn{$1}=$d;
64 }
65 elsif ($v =~ /^LN_(.*)$/)
66 {
67 if(defined $lnames{$d})
68 {
69 print "WARNING: Duplicate long name \"$d\"\n";
70 }
71 else
72 { $lnames{$d} = "X"; }
73 $ln{$1}=$d;
74 }
75 elsif ($v =~ /^NID_(.*)$/)
76 { $nid{$d}=$1; }
77 elsif ($v =~ /^OBJ_(.*)$/)
78 {
79 $obj{$1}=$v;
80 $objd{$v}=$d;
81 }
82 }
83close IN;
84
85%ob=&expand_obj(*objd);
86
87@a=sort { $a <=> $b } keys %nid;
88$n=$a[$#a]+1;
89
90@lvalues=();
91$lvalues=0;
92
93for ($i=0; $i<$n; $i++)
94 {
95 if (!defined($nid{$i}))
96 {
97 push(@out,"{NULL,NULL,NID_undef,0,NULL},\n");
98 }
99 else
100 {
101 $sn=defined($sn{$nid{$i}})?"$sn{$nid{$i}}":"NULL";
102 $ln=defined($ln{$nid{$i}})?"$ln{$nid{$i}}":"NULL";
103
104 if ($sn eq "NULL") {
105 $sn=$ln;
106 $sn{$nid{$i}} = $ln;
107 }
108
109 if ($ln eq "NULL") {
110 $ln=$sn;
111 $ln{$nid{$i}} = $sn;
112 }
113
114 $out ="{";
115 $out.="\"$sn\"";
116 $out.=","."\"$ln\"";
117 $out.=",NID_$nid{$i},";
118 if (defined($obj{$nid{$i}}))
119 {
120 $v=$objd{$obj{$nid{$i}}};
121 $v =~ s/L//g;
122 $v =~ s/,/ /g;
123 $r=&der_it($v);
124 $z="";
125 $length=0;
126 foreach (unpack("C*",$r))
127 {
128 $z.=sprintf("0x%02X,",$_);
129 $length++;
130 }
131 $obj_der{$obj{$nid{$i}}}=$z;
132 $obj_len{$obj{$nid{$i}}}=$length;
133
134 push(@lvalues,sprintf("%-45s/* [%3d] %s */\n",
135 $z,$lvalues,$obj{$nid{$i}}));
136 $out.="$length,&(lvalues[$lvalues]),0";
137 $lvalues+=$length;
138 }
139 else
140 {
141 $out.="0,NULL";
142 }
143 $out.="},\n";
144 push(@out,$out);
145 }
146 }
147
148@a=grep(defined($sn{$nid{$_}}),0 .. $n);
149foreach (sort { $sn{$nid{$a}} cmp $sn{$nid{$b}} } @a)
150 {
151 push(@sn,sprintf("&(nid_objs[%2d]),/* \"$sn{$nid{$_}}\" */\n",$_));
152 }
153
154@a=grep(defined($ln{$nid{$_}}),0 .. $n);
155foreach (sort { $ln{$nid{$a}} cmp $ln{$nid{$b}} } @a)
156 {
157 push(@ln,sprintf("&(nid_objs[%2d]),/* \"$ln{$nid{$_}}\" */\n",$_));
158 }
159
160@a=grep(defined($obj{$nid{$_}}),0 .. $n);
161foreach (sort obj_cmp @a)
162 {
163 $m=$obj{$nid{$_}};
164 $v=$objd{$m};
165 $v =~ s/L//g;
166 $v =~ s/,/ /g;
167 push(@ob,sprintf("&(nid_objs[%2d]),/* %-32s %s */\n",$_,$m,$v));
168 }
169
170print OUT <<'EOF';
171/* crypto/objects/obj_dat.h */
172
173/* THIS FILE IS GENERATED FROM objects.h by obj_dat.pl via the
174 * following command:
175 * perl obj_dat.pl obj_mac.h obj_dat.h
176 */
177
178/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
179 * All rights reserved.
180 *
181 * This package is an SSL implementation written
182 * by Eric Young (eay@cryptsoft.com).
183 * The implementation was written so as to conform with Netscapes SSL.
184 *
185 * This library is free for commercial and non-commercial use as long as
186 * the following conditions are aheared to. The following conditions
187 * apply to all code found in this distribution, be it the RC4, RSA,
188 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
189 * included with this distribution is covered by the same copyright terms
190 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
191 *
192 * Copyright remains Eric Young's, and as such any Copyright notices in
193 * the code are not to be removed.
194 * If this package is used in a product, Eric Young should be given attribution
195 * as the author of the parts of the library used.
196 * This can be in the form of a textual message at program startup or
197 * in documentation (online or textual) provided with the package.
198 *
199 * Redistribution and use in source and binary forms, with or without
200 * modification, are permitted provided that the following conditions
201 * are met:
202 * 1. Redistributions of source code must retain the copyright
203 * notice, this list of conditions and the following disclaimer.
204 * 2. Redistributions in binary form must reproduce the above copyright
205 * notice, this list of conditions and the following disclaimer in the
206 * documentation and/or other materials provided with the distribution.
207 * 3. All advertising materials mentioning features or use of this software
208 * must display the following acknowledgement:
209 * "This product includes cryptographic software written by
210 * Eric Young (eay@cryptsoft.com)"
211 * The word 'cryptographic' can be left out if the rouines from the library
212 * being used are not cryptographic related :-).
213 * 4. If you include any Windows specific code (or a derivative thereof) from
214 * the apps directory (application code) you must include an acknowledgement:
215 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
216 *
217 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
218 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
219 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
220 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
221 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
222 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
223 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
224 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
225 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
226 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
227 * SUCH DAMAGE.
228 *
229 * The licence and distribution terms for any publically available version or
230 * derivative of this code cannot be changed. i.e. this code cannot simply be
231 * copied and put under another distribution licence
232 * [including the GNU Public Licence.]
233 */
234
235EOF
236
237printf OUT "#define NUM_NID %d\n",$n;
238printf OUT "#define NUM_SN %d\n",$#sn+1;
239printf OUT "#define NUM_LN %d\n",$#ln+1;
240printf OUT "#define NUM_OBJ %d\n\n",$#ob+1;
241
242printf OUT "static unsigned char lvalues[%d]={\n",$lvalues+1;
243print OUT @lvalues;
244print OUT "};\n\n";
245
246printf OUT "static ASN1_OBJECT nid_objs[NUM_NID]={\n";
247foreach (@out)
248 {
249 if (length($_) > 75)
250 {
251 $out="";
252 foreach (split(/,/))
253 {
254 $t=$out.$_.",";
255 if (length($t) > 70)
256 {
257 print OUT "$out\n";
258 $t="\t$_,";
259 }
260 $out=$t;
261 }
262 chop $out;
263 print OUT "$out";
264 }
265 else
266 { print OUT $_; }
267 }
268print OUT "};\n\n";
269
270printf OUT "static ASN1_OBJECT *sn_objs[NUM_SN]={\n";
271print OUT @sn;
272print OUT "};\n\n";
273
274printf OUT "static ASN1_OBJECT *ln_objs[NUM_LN]={\n";
275print OUT @ln;
276print OUT "};\n\n";
277
278printf OUT "static ASN1_OBJECT *obj_objs[NUM_OBJ]={\n";
279print OUT @ob;
280print OUT "};\n\n";
281
282close OUT;
283
284sub der_it
285 {
286 local($v)=@_;
287 local(@a,$i,$ret,@r);
288
289 @a=split(/\s+/,$v);
290 $ret.=pack("C*",$a[0]*40+$a[1]);
291 shift @a;
292 shift @a;
293 foreach (@a)
294 {
295 @r=();
296 $t=0;
297 while ($_ >= 128)
298 {
299 $x=$_%128;
300 $_/=128;
301 push(@r,((($t++)?0x80:0)|$x));
302 }
303 push(@r,((($t++)?0x80:0)|$_));
304 $ret.=pack("C*",reverse(@r));
305 }
306 return($ret);
307 }
diff --git a/src/lib/libcrypto/objects/obj_err.c b/src/lib/libcrypto/objects/obj_err.c
deleted file mode 100644
index 2b5f43e3cc..0000000000
--- a/src/lib/libcrypto/objects/obj_err.c
+++ /dev/null
@@ -1,101 +0,0 @@
1/* crypto/objects/obj_err.c */
2/* ====================================================================
3 * Copyright (c) 1999-2004 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 OPENSSL_NO_ERR
67static ERR_STRING_DATA OBJ_str_functs[]=
68 {
69{ERR_PACK(0,OBJ_F_OBJ_ADD_OBJECT,0), "OBJ_add_object"},
70{ERR_PACK(0,OBJ_F_OBJ_CREATE,0), "OBJ_create"},
71{ERR_PACK(0,OBJ_F_OBJ_DUP,0), "OBJ_dup"},
72{ERR_PACK(0,OBJ_F_OBJ_NAME_NEW_INDEX,0), "OBJ_NAME_new_index"},
73{ERR_PACK(0,OBJ_F_OBJ_NID2LN,0), "OBJ_nid2ln"},
74{ERR_PACK(0,OBJ_F_OBJ_NID2OBJ,0), "OBJ_nid2obj"},
75{ERR_PACK(0,OBJ_F_OBJ_NID2SN,0), "OBJ_nid2sn"},
76{0,NULL}
77 };
78
79static ERR_STRING_DATA OBJ_str_reasons[]=
80 {
81{OBJ_R_MALLOC_FAILURE ,"malloc failure"},
82{OBJ_R_UNKNOWN_NID ,"unknown nid"},
83{0,NULL}
84 };
85
86#endif
87
88void ERR_load_OBJ_strings(void)
89 {
90 static int init=1;
91
92 if (init)
93 {
94 init=0;
95#ifndef OPENSSL_NO_ERR
96 ERR_load_strings(ERR_LIB_OBJ,OBJ_str_functs);
97 ERR_load_strings(ERR_LIB_OBJ,OBJ_str_reasons);
98#endif
99
100 }
101 }
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c
deleted file mode 100644
index b0b0f2ff24..0000000000
--- a/src/lib/libcrypto/objects/obj_lib.c
+++ /dev/null
@@ -1,127 +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
65ASN1_OBJECT *OBJ_dup(const 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((ASN1_OBJECT *)o); /* XXX: ugh! Why? What kind of
74 duplication is this??? */
75
76 r=ASN1_OBJECT_new();
77 if (r == NULL)
78 {
79 OBJerr(OBJ_F_OBJ_DUP,ERR_R_ASN1_LIB);
80 return(NULL);
81 }
82 r->data=OPENSSL_malloc(o->length);
83 if (r->data == NULL)
84 goto err;
85 memcpy(r->data,o->data,o->length);
86 r->length=o->length;
87 r->nid=o->nid;
88 r->ln=r->sn=NULL;
89 if (o->ln != NULL)
90 {
91 i=strlen(o->ln)+1;
92 r->ln=ln=OPENSSL_malloc(i);
93 if (r->ln == NULL) goto err;
94 memcpy(ln,o->ln,i);
95 }
96
97 if (o->sn != NULL)
98 {
99 char *s;
100
101 i=strlen(o->sn)+1;
102 r->sn=s=OPENSSL_malloc(i);
103 if (r->sn == NULL) goto err;
104 memcpy(s,o->sn,i);
105 }
106 r->flags=o->flags|(ASN1_OBJECT_FLAG_DYNAMIC|
107 ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|ASN1_OBJECT_FLAG_DYNAMIC_DATA);
108 return(r);
109err:
110 OBJerr(OBJ_F_OBJ_DUP,ERR_R_MALLOC_FAILURE);
111 if (r != NULL)
112 {
113 if (ln != NULL) OPENSSL_free(ln);
114 if (r->data != NULL) OPENSSL_free(r->data);
115 OPENSSL_free(r);
116 }
117 return(NULL);
118 }
119
120int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
121 {
122 int ret;
123
124 ret=(a->length-b->length);
125 if (ret) return(ret);
126 return(memcmp(a->data,b->data,a->length));
127 }
diff --git a/src/lib/libcrypto/objects/obj_mac.num b/src/lib/libcrypto/objects/obj_mac.num
deleted file mode 100644
index 0e64a929ba..0000000000
--- a/src/lib/libcrypto/objects/obj_mac.num
+++ /dev/null
@@ -1,667 +0,0 @@
1undef 0
2rsadsi 1
3pkcs 2
4md2 3
5md5 4
6rc4 5
7rsaEncryption 6
8md2WithRSAEncryption 7
9md5WithRSAEncryption 8
10pbeWithMD2AndDES_CBC 9
11pbeWithMD5AndDES_CBC 10
12X500 11
13X509 12
14commonName 13
15countryName 14
16localityName 15
17stateOrProvinceName 16
18organizationName 17
19organizationalUnitName 18
20rsa 19
21pkcs7 20
22pkcs7_data 21
23pkcs7_signed 22
24pkcs7_enveloped 23
25pkcs7_signedAndEnveloped 24
26pkcs7_digest 25
27pkcs7_encrypted 26
28pkcs3 27
29dhKeyAgreement 28
30des_ecb 29
31des_cfb64 30
32des_cbc 31
33des_ede_ecb 32
34des_ede3_ecb 33
35idea_cbc 34
36idea_cfb64 35
37idea_ecb 36
38rc2_cbc 37
39rc2_ecb 38
40rc2_cfb64 39
41rc2_ofb64 40
42sha 41
43shaWithRSAEncryption 42
44des_ede_cbc 43
45des_ede3_cbc 44
46des_ofb64 45
47idea_ofb64 46
48pkcs9 47
49pkcs9_emailAddress 48
50pkcs9_unstructuredName 49
51pkcs9_contentType 50
52pkcs9_messageDigest 51
53pkcs9_signingTime 52
54pkcs9_countersignature 53
55pkcs9_challengePassword 54
56pkcs9_unstructuredAddress 55
57pkcs9_extCertAttributes 56
58netscape 57
59netscape_cert_extension 58
60netscape_data_type 59
61des_ede_cfb64 60
62des_ede3_cfb64 61
63des_ede_ofb64 62
64des_ede3_ofb64 63
65sha1 64
66sha1WithRSAEncryption 65
67dsaWithSHA 66
68dsa_2 67
69pbeWithSHA1AndRC2_CBC 68
70id_pbkdf2 69
71dsaWithSHA1_2 70
72netscape_cert_type 71
73netscape_base_url 72
74netscape_revocation_url 73
75netscape_ca_revocation_url 74
76netscape_renewal_url 75
77netscape_ca_policy_url 76
78netscape_ssl_server_name 77
79netscape_comment 78
80netscape_cert_sequence 79
81desx_cbc 80
82id_ce 81
83subject_key_identifier 82
84key_usage 83
85private_key_usage_period 84
86subject_alt_name 85
87issuer_alt_name 86
88basic_constraints 87
89crl_number 88
90certificate_policies 89
91authority_key_identifier 90
92bf_cbc 91
93bf_ecb 92
94bf_cfb64 93
95bf_ofb64 94
96mdc2 95
97mdc2WithRSA 96
98rc4_40 97
99rc2_40_cbc 98
100givenName 99
101surname 100
102initials 101
103uniqueIdentifier 102
104crl_distribution_points 103
105md5WithRSA 104
106serialNumber 105
107title 106
108description 107
109cast5_cbc 108
110cast5_ecb 109
111cast5_cfb64 110
112cast5_ofb64 111
113pbeWithMD5AndCast5_CBC 112
114dsaWithSHA1 113
115md5_sha1 114
116sha1WithRSA 115
117dsa 116
118ripemd160 117
119ripemd160WithRSA 119
120rc5_cbc 120
121rc5_ecb 121
122rc5_cfb64 122
123rc5_ofb64 123
124rle_compression 124
125zlib_compression 125
126ext_key_usage 126
127id_pkix 127
128id_kp 128
129server_auth 129
130client_auth 130
131code_sign 131
132email_protect 132
133time_stamp 133
134ms_code_ind 134
135ms_code_com 135
136ms_ctl_sign 136
137ms_sgc 137
138ms_efs 138
139ns_sgc 139
140delta_crl 140
141crl_reason 141
142invalidity_date 142
143sxnet 143
144pbe_WithSHA1And128BitRC4 144
145pbe_WithSHA1And40BitRC4 145
146pbe_WithSHA1And3_Key_TripleDES_CBC 146
147pbe_WithSHA1And2_Key_TripleDES_CBC 147
148pbe_WithSHA1And128BitRC2_CBC 148
149pbe_WithSHA1And40BitRC2_CBC 149
150keyBag 150
151pkcs8ShroudedKeyBag 151
152certBag 152
153crlBag 153
154secretBag 154
155safeContentsBag 155
156friendlyName 156
157localKeyID 157
158x509Certificate 158
159sdsiCertificate 159
160x509Crl 160
161pbes2 161
162pbmac1 162
163hmacWithSHA1 163
164id_qt_cps 164
165id_qt_unotice 165
166rc2_64_cbc 166
167SMIMECapabilities 167
168pbeWithMD2AndRC2_CBC 168
169pbeWithMD5AndRC2_CBC 169
170pbeWithSHA1AndDES_CBC 170
171ms_ext_req 171
172ext_req 172
173name 173
174dnQualifier 174
175id_pe 175
176id_ad 176
177info_access 177
178ad_OCSP 178
179ad_ca_issuers 179
180OCSP_sign 180
181iso 181
182member_body 182
183ISO_US 183
184X9_57 184
185X9cm 185
186pkcs1 186
187pkcs5 187
188SMIME 188
189id_smime_mod 189
190id_smime_ct 190
191id_smime_aa 191
192id_smime_alg 192
193id_smime_cd 193
194id_smime_spq 194
195id_smime_cti 195
196id_smime_mod_cms 196
197id_smime_mod_ess 197
198id_smime_mod_oid 198
199id_smime_mod_msg_v3 199
200id_smime_mod_ets_eSignature_88 200
201id_smime_mod_ets_eSignature_97 201
202id_smime_mod_ets_eSigPolicy_88 202
203id_smime_mod_ets_eSigPolicy_97 203
204id_smime_ct_receipt 204
205id_smime_ct_authData 205
206id_smime_ct_publishCert 206
207id_smime_ct_TSTInfo 207
208id_smime_ct_TDTInfo 208
209id_smime_ct_contentInfo 209
210id_smime_ct_DVCSRequestData 210
211id_smime_ct_DVCSResponseData 211
212id_smime_aa_receiptRequest 212
213id_smime_aa_securityLabel 213
214id_smime_aa_mlExpandHistory 214
215id_smime_aa_contentHint 215
216id_smime_aa_msgSigDigest 216
217id_smime_aa_encapContentType 217
218id_smime_aa_contentIdentifier 218
219id_smime_aa_macValue 219
220id_smime_aa_equivalentLabels 220
221id_smime_aa_contentReference 221
222id_smime_aa_encrypKeyPref 222
223id_smime_aa_signingCertificate 223
224id_smime_aa_smimeEncryptCerts 224
225id_smime_aa_timeStampToken 225
226id_smime_aa_ets_sigPolicyId 226
227id_smime_aa_ets_commitmentType 227
228id_smime_aa_ets_signerLocation 228
229id_smime_aa_ets_signerAttr 229
230id_smime_aa_ets_otherSigCert 230
231id_smime_aa_ets_contentTimestamp 231
232id_smime_aa_ets_CertificateRefs 232
233id_smime_aa_ets_RevocationRefs 233
234id_smime_aa_ets_certValues 234
235id_smime_aa_ets_revocationValues 235
236id_smime_aa_ets_escTimeStamp 236
237id_smime_aa_ets_certCRLTimestamp 237
238id_smime_aa_ets_archiveTimeStamp 238
239id_smime_aa_signatureType 239
240id_smime_aa_dvcs_dvc 240
241id_smime_alg_ESDHwith3DES 241
242id_smime_alg_ESDHwithRC2 242
243id_smime_alg_3DESwrap 243
244id_smime_alg_RC2wrap 244
245id_smime_alg_ESDH 245
246id_smime_alg_CMS3DESwrap 246
247id_smime_alg_CMSRC2wrap 247
248id_smime_cd_ldap 248
249id_smime_spq_ets_sqt_uri 249
250id_smime_spq_ets_sqt_unotice 250
251id_smime_cti_ets_proofOfOrigin 251
252id_smime_cti_ets_proofOfReceipt 252
253id_smime_cti_ets_proofOfDelivery 253
254id_smime_cti_ets_proofOfSender 254
255id_smime_cti_ets_proofOfApproval 255
256id_smime_cti_ets_proofOfCreation 256
257md4 257
258id_pkix_mod 258
259id_qt 259
260id_it 260
261id_pkip 261
262id_alg 262
263id_cmc 263
264id_on 264
265id_pda 265
266id_aca 266
267id_qcs 267
268id_cct 268
269id_pkix1_explicit_88 269
270id_pkix1_implicit_88 270
271id_pkix1_explicit_93 271
272id_pkix1_implicit_93 272
273id_mod_crmf 273
274id_mod_cmc 274
275id_mod_kea_profile_88 275
276id_mod_kea_profile_93 276
277id_mod_cmp 277
278id_mod_qualified_cert_88 278
279id_mod_qualified_cert_93 279
280id_mod_attribute_cert 280
281id_mod_timestamp_protocol 281
282id_mod_ocsp 282
283id_mod_dvcs 283
284id_mod_cmp2000 284
285biometricInfo 285
286qcStatements 286
287ac_auditEntity 287
288ac_targeting 288
289aaControls 289
290sbqp_ipAddrBlock 290
291sbqp_autonomousSysNum 291
292sbqp_routerIdentifier 292
293textNotice 293
294ipsecEndSystem 294
295ipsecTunnel 295
296ipsecUser 296
297dvcs 297
298id_it_caProtEncCert 298
299id_it_signKeyPairTypes 299
300id_it_encKeyPairTypes 300
301id_it_preferredSymmAlg 301
302id_it_caKeyUpdateInfo 302
303id_it_currentCRL 303
304id_it_unsupportedOIDs 304
305id_it_subscriptionRequest 305
306id_it_subscriptionResponse 306
307id_it_keyPairParamReq 307
308id_it_keyPairParamRep 308
309id_it_revPassphrase 309
310id_it_implicitConfirm 310
311id_it_confirmWaitTime 311
312id_it_origPKIMessage 312
313id_regCtrl 313
314id_regInfo 314
315id_regCtrl_regToken 315
316id_regCtrl_authenticator 316
317id_regCtrl_pkiPublicationInfo 317
318id_regCtrl_pkiArchiveOptions 318
319id_regCtrl_oldCertID 319
320id_regCtrl_protocolEncrKey 320
321id_regInfo_utf8Pairs 321
322id_regInfo_certReq 322
323id_alg_des40 323
324id_alg_noSignature 324
325id_alg_dh_sig_hmac_sha1 325
326id_alg_dh_pop 326
327id_cmc_statusInfo 327
328id_cmc_identification 328
329id_cmc_identityProof 329
330id_cmc_dataReturn 330
331id_cmc_transactionId 331
332id_cmc_senderNonce 332
333id_cmc_recipientNonce 333
334id_cmc_addExtensions 334
335id_cmc_encryptedPOP 335
336id_cmc_decryptedPOP 336
337id_cmc_lraPOPWitness 337
338id_cmc_getCert 338
339id_cmc_getCRL 339
340id_cmc_revokeRequest 340
341id_cmc_regInfo 341
342id_cmc_responseInfo 342
343id_cmc_queryPending 343
344id_cmc_popLinkRandom 344
345id_cmc_popLinkWitness 345
346id_cmc_confirmCertAcceptance 346
347id_on_personalData 347
348id_pda_dateOfBirth 348
349id_pda_placeOfBirth 349
350id_pda_pseudonym 350
351id_pda_gender 351
352id_pda_countryOfCitizenship 352
353id_pda_countryOfResidence 353
354id_aca_authenticationInfo 354
355id_aca_accessIdentity 355
356id_aca_chargingIdentity 356
357id_aca_group 357
358id_aca_role 358
359id_qcs_pkixQCSyntax_v1 359
360id_cct_crs 360
361id_cct_PKIData 361
362id_cct_PKIResponse 362
363ad_timeStamping 363
364ad_dvcs 364
365id_pkix_OCSP_basic 365
366id_pkix_OCSP_Nonce 366
367id_pkix_OCSP_CrlID 367
368id_pkix_OCSP_acceptableResponses 368
369id_pkix_OCSP_noCheck 369
370id_pkix_OCSP_archiveCutoff 370
371id_pkix_OCSP_serviceLocator 371
372id_pkix_OCSP_extendedStatus 372
373id_pkix_OCSP_valid 373
374id_pkix_OCSP_path 374
375id_pkix_OCSP_trustRoot 375
376algorithm 376
377rsaSignature 377
378X500algorithms 378
379org 379
380dod 380
381iana 381
382Directory 382
383Management 383
384Experimental 384
385Private 385
386Security 386
387SNMPv2 387
388Mail 388
389Enterprises 389
390dcObject 390
391domainComponent 391
392Domain 392
393joint_iso_ccitt 393
394selected_attribute_types 394
395clearance 395
396md4WithRSAEncryption 396
397ac_proxying 397
398sinfo_access 398
399id_aca_encAttrs 399
400role 400
401policy_constraints 401
402target_information 402
403no_rev_avail 403
404ccitt 404
405ansi_X9_62 405
406X9_62_prime_field 406
407X9_62_characteristic_two_field 407
408X9_62_id_ecPublicKey 408
409X9_62_prime192v1 409
410X9_62_prime192v2 410
411X9_62_prime192v3 411
412X9_62_prime239v1 412
413X9_62_prime239v2 413
414X9_62_prime239v3 414
415X9_62_prime256v1 415
416ecdsa_with_SHA1 416
417ms_csp_name 417
418aes_128_ecb 418
419aes_128_cbc 419
420aes_128_ofb128 420
421aes_128_cfb128 421
422aes_192_ecb 422
423aes_192_cbc 423
424aes_192_ofb128 424
425aes_192_cfb128 425
426aes_256_ecb 426
427aes_256_cbc 427
428aes_256_ofb128 428
429aes_256_cfb128 429
430hold_instruction_code 430
431hold_instruction_none 431
432hold_instruction_call_issuer 432
433hold_instruction_reject 433
434data 434
435pss 435
436ucl 436
437pilot 437
438pilotAttributeType 438
439pilotAttributeSyntax 439
440pilotObjectClass 440
441pilotGroups 441
442iA5StringSyntax 442
443caseIgnoreIA5StringSyntax 443
444pilotObject 444
445pilotPerson 445
446account 446
447document 447
448room 448
449documentSeries 449
450rFC822localPart 450
451dNSDomain 451
452domainRelatedObject 452
453friendlyCountry 453
454simpleSecurityObject 454
455pilotOrganization 455
456pilotDSA 456
457qualityLabelledData 457
458userId 458
459textEncodedORAddress 459
460rfc822Mailbox 460
461info 461
462favouriteDrink 462
463roomNumber 463
464photo 464
465userClass 465
466host 466
467manager 467
468documentIdentifier 468
469documentTitle 469
470documentVersion 470
471documentAuthor 471
472documentLocation 472
473homeTelephoneNumber 473
474secretary 474
475otherMailbox 475
476lastModifiedTime 476
477lastModifiedBy 477
478aRecord 478
479pilotAttributeType27 479
480mXRecord 480
481nSRecord 481
482sOARecord 482
483cNAMERecord 483
484associatedDomain 484
485associatedName 485
486homePostalAddress 486
487personalTitle 487
488mobileTelephoneNumber 488
489pagerTelephoneNumber 489
490friendlyCountryName 490
491organizationalStatus 491
492janetMailbox 492
493mailPreferenceOption 493
494buildingName 494
495dSAQuality 495
496singleLevelQuality 496
497subtreeMinimumQuality 497
498subtreeMaximumQuality 498
499personalSignature 499
500dITRedirect 500
501audio 501
502documentPublisher 502
503x500UniqueIdentifier 503
504mime_mhs 504
505mime_mhs_headings 505
506mime_mhs_bodies 506
507id_hex_partial_message 507
508id_hex_multipart_message 508
509generationQualifier 509
510pseudonym 510
511InternationalRA 511
512id_set 512
513set_ctype 513
514set_msgExt 514
515set_attr 515
516set_policy 516
517set_certExt 517
518set_brand 518
519setct_PANData 519
520setct_PANToken 520
521setct_PANOnly 521
522setct_OIData 522
523setct_PI 523
524setct_PIData 524
525setct_PIDataUnsigned 525
526setct_HODInput 526
527setct_AuthResBaggage 527
528setct_AuthRevReqBaggage 528
529setct_AuthRevResBaggage 529
530setct_CapTokenSeq 530
531setct_PInitResData 531
532setct_PI_TBS 532
533setct_PResData 533
534setct_AuthReqTBS 534
535setct_AuthResTBS 535
536setct_AuthResTBSX 536
537setct_AuthTokenTBS 537
538setct_CapTokenData 538
539setct_CapTokenTBS 539
540setct_AcqCardCodeMsg 540
541setct_AuthRevReqTBS 541
542setct_AuthRevResData 542
543setct_AuthRevResTBS 543
544setct_CapReqTBS 544
545setct_CapReqTBSX 545
546setct_CapResData 546
547setct_CapRevReqTBS 547
548setct_CapRevReqTBSX 548
549setct_CapRevResData 549
550setct_CredReqTBS 550
551setct_CredReqTBSX 551
552setct_CredResData 552
553setct_CredRevReqTBS 553
554setct_CredRevReqTBSX 554
555setct_CredRevResData 555
556setct_PCertReqData 556
557setct_PCertResTBS 557
558setct_BatchAdminReqData 558
559setct_BatchAdminResData 559
560setct_CardCInitResTBS 560
561setct_MeAqCInitResTBS 561
562setct_RegFormResTBS 562
563setct_CertReqData 563
564setct_CertReqTBS 564
565setct_CertResData 565
566setct_CertInqReqTBS 566
567setct_ErrorTBS 567
568setct_PIDualSignedTBE 568
569setct_PIUnsignedTBE 569
570setct_AuthReqTBE 570
571setct_AuthResTBE 571
572setct_AuthResTBEX 572
573setct_AuthTokenTBE 573
574setct_CapTokenTBE 574
575setct_CapTokenTBEX 575
576setct_AcqCardCodeMsgTBE 576
577setct_AuthRevReqTBE 577
578setct_AuthRevResTBE 578
579setct_AuthRevResTBEB 579
580setct_CapReqTBE 580
581setct_CapReqTBEX 581
582setct_CapResTBE 582
583setct_CapRevReqTBE 583
584setct_CapRevReqTBEX 584
585setct_CapRevResTBE 585
586setct_CredReqTBE 586
587setct_CredReqTBEX 587
588setct_CredResTBE 588
589setct_CredRevReqTBE 589
590setct_CredRevReqTBEX 590
591setct_CredRevResTBE 591
592setct_BatchAdminReqTBE 592
593setct_BatchAdminResTBE 593
594setct_RegFormReqTBE 594
595setct_CertReqTBE 595
596setct_CertReqTBEX 596
597setct_CertResTBE 597
598setct_CRLNotificationTBS 598
599setct_CRLNotificationResTBS 599
600setct_BCIDistributionTBS 600
601setext_genCrypt 601
602setext_miAuth 602
603setext_pinSecure 603
604setext_pinAny 604
605setext_track2 605
606setext_cv 606
607set_policy_root 607
608setCext_hashedRoot 608
609setCext_certType 609
610setCext_merchData 610
611setCext_cCertRequired 611
612setCext_tunneling 612
613setCext_setExt 613
614setCext_setQualf 614
615setCext_PGWYcapabilities 615
616setCext_TokenIdentifier 616
617setCext_Track2Data 617
618setCext_TokenType 618
619setCext_IssuerCapabilities 619
620setAttr_Cert 620
621setAttr_PGWYcap 621
622setAttr_TokenType 622
623setAttr_IssCap 623
624set_rootKeyThumb 624
625set_addPolicy 625
626setAttr_Token_EMV 626
627setAttr_Token_B0Prime 627
628setAttr_IssCap_CVM 628
629setAttr_IssCap_T2 629
630setAttr_IssCap_Sig 630
631setAttr_GenCryptgrm 631
632setAttr_T2Enc 632
633setAttr_T2cleartxt 633
634setAttr_TokICCsig 634
635setAttr_SecDevSig 635
636set_brand_IATA_ATA 636
637set_brand_Diners 637
638set_brand_AmericanExpress 638
639set_brand_JCB 639
640set_brand_Visa 640
641set_brand_MasterCard 641
642set_brand_Novus 642
643des_cdmf 643
644rsaOAEPEncryptionSET 644
645itu_t 645
646joint_iso_itu_t 646
647international_organizations 647
648ms_smartcard_login 648
649ms_upn 649
650aes_128_cfb1 650
651aes_192_cfb1 651
652aes_256_cfb1 652
653aes_128_cfb8 653
654aes_192_cfb8 654
655aes_256_cfb8 655
656des_cfb1 656
657des_cfb8 657
658des_ede3_cfb1 658
659des_ede3_cfb8 659
660streetAddress 660
661postalCode 661
662id_ppl 662
663proxyCertInfo 663
664id_ppl_anyLanguage 664
665id_ppl_inheritAll 665
666id_ppl_independent 666
667Independent 667
diff --git a/src/lib/libcrypto/objects/objects.README b/src/lib/libcrypto/objects/objects.README
deleted file mode 100644
index 4d745508d8..0000000000
--- a/src/lib/libcrypto/objects/objects.README
+++ /dev/null
@@ -1,44 +0,0 @@
1objects.txt syntax
2------------------
3
4To cover all the naming hacks that were previously in objects.h needed some
5kind of hacks in objects.txt.
6
7The basic syntax for adding an object is as follows:
8
9 1 2 3 4 : shortName : Long Name
10
11 If the long name doesn't contain spaces, or no short name
12 exists, the long name is used as basis for the base name
13 in C. Otherwise, the short name is used.
14
15 The base name (let's call it 'base') will then be used to
16 create the C macros SN_base, LN_base, NID_base and OBJ_base.
17
18 Note that if the base name contains spaces, dashes or periods,
19 those will be converte to underscore.
20
21Then there are some extra commands:
22
23 !Alias foo 1 2 3 4
24
25 This juts makes a name foo for an OID. The C macro
26 OBJ_foo will be created as a result.
27
28 !Cname foo
29
30 This makes sure that the name foo will be used as base name
31 in C.
32
33 !module foo
34 1 2 3 4 : shortName : Long Name
35 !global
36
37 The !module command was meant to define a kind of modularity.
38 What it does is to make sure the module name is prepended
39 to the base name. !global turns this off. This construction
40 is not recursive.
41
42Lines starting with # are treated as comments, as well as any line starting
43with ! and not matching the commands above.
44
diff --git a/src/lib/libcrypto/objects/objects.h b/src/lib/libcrypto/objects/objects.h
deleted file mode 100644
index f859d859b8..0000000000
--- a/src/lib/libcrypto/objects/objects.h
+++ /dev/null
@@ -1,1044 +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#define USE_OBJ_MAC
63
64#ifdef USE_OBJ_MAC
65#include <openssl/obj_mac.h>
66#else
67#define SN_undef "UNDEF"
68#define LN_undef "undefined"
69#define NID_undef 0
70#define OBJ_undef 0L
71
72#define SN_Algorithm "Algorithm"
73#define LN_algorithm "algorithm"
74#define NID_algorithm 38
75#define OBJ_algorithm 1L,3L,14L,3L,2L
76
77#define LN_rsadsi "rsadsi"
78#define NID_rsadsi 1
79#define OBJ_rsadsi 1L,2L,840L,113549L
80
81#define LN_pkcs "pkcs"
82#define NID_pkcs 2
83#define OBJ_pkcs OBJ_rsadsi,1L
84
85#define SN_md2 "MD2"
86#define LN_md2 "md2"
87#define NID_md2 3
88#define OBJ_md2 OBJ_rsadsi,2L,2L
89
90#define SN_md5 "MD5"
91#define LN_md5 "md5"
92#define NID_md5 4
93#define OBJ_md5 OBJ_rsadsi,2L,5L
94
95#define SN_rc4 "RC4"
96#define LN_rc4 "rc4"
97#define NID_rc4 5
98#define OBJ_rc4 OBJ_rsadsi,3L,4L
99
100#define LN_rsaEncryption "rsaEncryption"
101#define NID_rsaEncryption 6
102#define OBJ_rsaEncryption OBJ_pkcs,1L,1L
103
104#define SN_md2WithRSAEncryption "RSA-MD2"
105#define LN_md2WithRSAEncryption "md2WithRSAEncryption"
106#define NID_md2WithRSAEncryption 7
107#define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L
108
109#define SN_md5WithRSAEncryption "RSA-MD5"
110#define LN_md5WithRSAEncryption "md5WithRSAEncryption"
111#define NID_md5WithRSAEncryption 8
112#define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L
113
114#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES"
115#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC"
116#define NID_pbeWithMD2AndDES_CBC 9
117#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L
118
119#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES"
120#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC"
121#define NID_pbeWithMD5AndDES_CBC 10
122#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L
123
124#define LN_X500 "X500"
125#define NID_X500 11
126#define OBJ_X500 2L,5L
127
128#define LN_X509 "X509"
129#define NID_X509 12
130#define OBJ_X509 OBJ_X500,4L
131
132#define SN_commonName "CN"
133#define LN_commonName "commonName"
134#define NID_commonName 13
135#define OBJ_commonName OBJ_X509,3L
136
137#define SN_countryName "C"
138#define LN_countryName "countryName"
139#define NID_countryName 14
140#define OBJ_countryName OBJ_X509,6L
141
142#define SN_localityName "L"
143#define LN_localityName "localityName"
144#define NID_localityName 15
145#define OBJ_localityName OBJ_X509,7L
146
147/* Postal Address? PA */
148
149/* should be "ST" (rfc1327) but MS uses 'S' */
150#define SN_stateOrProvinceName "ST"
151#define LN_stateOrProvinceName "stateOrProvinceName"
152#define NID_stateOrProvinceName 16
153#define OBJ_stateOrProvinceName OBJ_X509,8L
154
155#define SN_organizationName "O"
156#define LN_organizationName "organizationName"
157#define NID_organizationName 17
158#define OBJ_organizationName OBJ_X509,10L
159
160#define SN_organizationalUnitName "OU"
161#define LN_organizationalUnitName "organizationalUnitName"
162#define NID_organizationalUnitName 18
163#define OBJ_organizationalUnitName OBJ_X509,11L
164
165#define SN_rsa "RSA"
166#define LN_rsa "rsa"
167#define NID_rsa 19
168#define OBJ_rsa OBJ_X500,8L,1L,1L
169
170#define LN_pkcs7 "pkcs7"
171#define NID_pkcs7 20
172#define OBJ_pkcs7 OBJ_pkcs,7L
173
174#define LN_pkcs7_data "pkcs7-data"
175#define NID_pkcs7_data 21
176#define OBJ_pkcs7_data OBJ_pkcs7,1L
177
178#define LN_pkcs7_signed "pkcs7-signedData"
179#define NID_pkcs7_signed 22
180#define OBJ_pkcs7_signed OBJ_pkcs7,2L
181
182#define LN_pkcs7_enveloped "pkcs7-envelopedData"
183#define NID_pkcs7_enveloped 23
184#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L
185
186#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData"
187#define NID_pkcs7_signedAndEnveloped 24
188#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L
189
190#define LN_pkcs7_digest "pkcs7-digestData"
191#define NID_pkcs7_digest 25
192#define OBJ_pkcs7_digest OBJ_pkcs7,5L
193
194#define LN_pkcs7_encrypted "pkcs7-encryptedData"
195#define NID_pkcs7_encrypted 26
196#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L
197
198#define LN_pkcs3 "pkcs3"
199#define NID_pkcs3 27
200#define OBJ_pkcs3 OBJ_pkcs,3L
201
202#define LN_dhKeyAgreement "dhKeyAgreement"
203#define NID_dhKeyAgreement 28
204#define OBJ_dhKeyAgreement OBJ_pkcs3,1L
205
206#define SN_des_ecb "DES-ECB"
207#define LN_des_ecb "des-ecb"
208#define NID_des_ecb 29
209#define OBJ_des_ecb OBJ_algorithm,6L
210
211#define SN_des_cfb64 "DES-CFB"
212#define LN_des_cfb64 "des-cfb"
213#define NID_des_cfb64 30
214/* IV + num */
215#define OBJ_des_cfb64 OBJ_algorithm,9L
216
217#define SN_des_cbc "DES-CBC"
218#define LN_des_cbc "des-cbc"
219#define NID_des_cbc 31
220/* IV */
221#define OBJ_des_cbc OBJ_algorithm,7L
222
223#define SN_des_ede "DES-EDE"
224#define LN_des_ede "des-ede"
225#define NID_des_ede 32
226/* ?? */
227#define OBJ_des_ede OBJ_algorithm,17L
228
229#define SN_des_ede3 "DES-EDE3"
230#define LN_des_ede3 "des-ede3"
231#define NID_des_ede3 33
232
233#define SN_idea_cbc "IDEA-CBC"
234#define LN_idea_cbc "idea-cbc"
235#define NID_idea_cbc 34
236#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L
237
238#define SN_idea_cfb64 "IDEA-CFB"
239#define LN_idea_cfb64 "idea-cfb"
240#define NID_idea_cfb64 35
241
242#define SN_idea_ecb "IDEA-ECB"
243#define LN_idea_ecb "idea-ecb"
244#define NID_idea_ecb 36
245
246#define SN_rc2_cbc "RC2-CBC"
247#define LN_rc2_cbc "rc2-cbc"
248#define NID_rc2_cbc 37
249#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L
250
251#define SN_rc2_ecb "RC2-ECB"
252#define LN_rc2_ecb "rc2-ecb"
253#define NID_rc2_ecb 38
254
255#define SN_rc2_cfb64 "RC2-CFB"
256#define LN_rc2_cfb64 "rc2-cfb"
257#define NID_rc2_cfb64 39
258
259#define SN_rc2_ofb64 "RC2-OFB"
260#define LN_rc2_ofb64 "rc2-ofb"
261#define NID_rc2_ofb64 40
262
263#define SN_sha "SHA"
264#define LN_sha "sha"
265#define NID_sha 41
266#define OBJ_sha OBJ_algorithm,18L
267
268#define SN_shaWithRSAEncryption "RSA-SHA"
269#define LN_shaWithRSAEncryption "shaWithRSAEncryption"
270#define NID_shaWithRSAEncryption 42
271#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L
272
273#define SN_des_ede_cbc "DES-EDE-CBC"
274#define LN_des_ede_cbc "des-ede-cbc"
275#define NID_des_ede_cbc 43
276
277#define SN_des_ede3_cbc "DES-EDE3-CBC"
278#define LN_des_ede3_cbc "des-ede3-cbc"
279#define NID_des_ede3_cbc 44
280#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L
281
282#define SN_des_ofb64 "DES-OFB"
283#define LN_des_ofb64 "des-ofb"
284#define NID_des_ofb64 45
285#define OBJ_des_ofb64 OBJ_algorithm,8L
286
287#define SN_idea_ofb64 "IDEA-OFB"
288#define LN_idea_ofb64 "idea-ofb"
289#define NID_idea_ofb64 46
290
291#define LN_pkcs9 "pkcs9"
292#define NID_pkcs9 47
293#define OBJ_pkcs9 OBJ_pkcs,9L
294
295#define SN_pkcs9_emailAddress "Email"
296#define LN_pkcs9_emailAddress "emailAddress"
297#define NID_pkcs9_emailAddress 48
298#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L
299
300#define LN_pkcs9_unstructuredName "unstructuredName"
301#define NID_pkcs9_unstructuredName 49
302#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L
303
304#define LN_pkcs9_contentType "contentType"
305#define NID_pkcs9_contentType 50
306#define OBJ_pkcs9_contentType OBJ_pkcs9,3L
307
308#define LN_pkcs9_messageDigest "messageDigest"
309#define NID_pkcs9_messageDigest 51
310#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L
311
312#define LN_pkcs9_signingTime "signingTime"
313#define NID_pkcs9_signingTime 52
314#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L
315
316#define LN_pkcs9_countersignature "countersignature"
317#define NID_pkcs9_countersignature 53
318#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L
319
320#define LN_pkcs9_challengePassword "challengePassword"
321#define NID_pkcs9_challengePassword 54
322#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L
323
324#define LN_pkcs9_unstructuredAddress "unstructuredAddress"
325#define NID_pkcs9_unstructuredAddress 55
326#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L
327
328#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes"
329#define NID_pkcs9_extCertAttributes 56
330#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L
331
332#define SN_netscape "Netscape"
333#define LN_netscape "Netscape Communications Corp."
334#define NID_netscape 57
335#define OBJ_netscape 2L,16L,840L,1L,113730L
336
337#define SN_netscape_cert_extension "nsCertExt"
338#define LN_netscape_cert_extension "Netscape Certificate Extension"
339#define NID_netscape_cert_extension 58
340#define OBJ_netscape_cert_extension OBJ_netscape,1L
341
342#define SN_netscape_data_type "nsDataType"
343#define LN_netscape_data_type "Netscape Data Type"
344#define NID_netscape_data_type 59
345#define OBJ_netscape_data_type OBJ_netscape,2L
346
347#define SN_des_ede_cfb64 "DES-EDE-CFB"
348#define LN_des_ede_cfb64 "des-ede-cfb"
349#define NID_des_ede_cfb64 60
350
351#define SN_des_ede3_cfb64 "DES-EDE3-CFB"
352#define LN_des_ede3_cfb64 "des-ede3-cfb"
353#define NID_des_ede3_cfb64 61
354
355#define SN_des_ede_ofb64 "DES-EDE-OFB"
356#define LN_des_ede_ofb64 "des-ede-ofb"
357#define NID_des_ede_ofb64 62
358
359#define SN_des_ede3_ofb64 "DES-EDE3-OFB"
360#define LN_des_ede3_ofb64 "des-ede3-ofb"
361#define NID_des_ede3_ofb64 63
362
363/* I'm not sure about the object ID */
364#define SN_sha1 "SHA1"
365#define LN_sha1 "sha1"
366#define NID_sha1 64
367#define OBJ_sha1 OBJ_algorithm,26L
368/* 28 Jun 1996 - eay */
369/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */
370
371#define SN_sha1WithRSAEncryption "RSA-SHA1"
372#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption"
373#define NID_sha1WithRSAEncryption 65
374#define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L
375
376#define SN_dsaWithSHA "DSA-SHA"
377#define LN_dsaWithSHA "dsaWithSHA"
378#define NID_dsaWithSHA 66
379#define OBJ_dsaWithSHA OBJ_algorithm,13L
380
381#define SN_dsa_2 "DSA-old"
382#define LN_dsa_2 "dsaEncryption-old"
383#define NID_dsa_2 67
384#define OBJ_dsa_2 OBJ_algorithm,12L
385
386/* proposed by microsoft to RSA */
387#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64"
388#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC"
389#define NID_pbeWithSHA1AndRC2_CBC 68
390#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L
391
392/* proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now
393 * defined explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something
394 * completely different.
395 */
396#define LN_id_pbkdf2 "PBKDF2"
397#define NID_id_pbkdf2 69
398#define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L
399
400#define SN_dsaWithSHA1_2 "DSA-SHA1-old"
401#define LN_dsaWithSHA1_2 "dsaWithSHA1-old"
402#define NID_dsaWithSHA1_2 70
403/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */
404#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L
405
406#define SN_netscape_cert_type "nsCertType"
407#define LN_netscape_cert_type "Netscape Cert Type"
408#define NID_netscape_cert_type 71
409#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L
410
411#define SN_netscape_base_url "nsBaseUrl"
412#define LN_netscape_base_url "Netscape Base Url"
413#define NID_netscape_base_url 72
414#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L
415
416#define SN_netscape_revocation_url "nsRevocationUrl"
417#define LN_netscape_revocation_url "Netscape Revocation Url"
418#define NID_netscape_revocation_url 73
419#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L
420
421#define SN_netscape_ca_revocation_url "nsCaRevocationUrl"
422#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url"
423#define NID_netscape_ca_revocation_url 74
424#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L
425
426#define SN_netscape_renewal_url "nsRenewalUrl"
427#define LN_netscape_renewal_url "Netscape Renewal Url"
428#define NID_netscape_renewal_url 75
429#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L
430
431#define SN_netscape_ca_policy_url "nsCaPolicyUrl"
432#define LN_netscape_ca_policy_url "Netscape CA Policy Url"
433#define NID_netscape_ca_policy_url 76
434#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L
435
436#define SN_netscape_ssl_server_name "nsSslServerName"
437#define LN_netscape_ssl_server_name "Netscape SSL Server Name"
438#define NID_netscape_ssl_server_name 77
439#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L
440
441#define SN_netscape_comment "nsComment"
442#define LN_netscape_comment "Netscape Comment"
443#define NID_netscape_comment 78
444#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L
445
446#define SN_netscape_cert_sequence "nsCertSequence"
447#define LN_netscape_cert_sequence "Netscape Certificate Sequence"
448#define NID_netscape_cert_sequence 79
449#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L
450
451#define SN_desx_cbc "DESX-CBC"
452#define LN_desx_cbc "desx-cbc"
453#define NID_desx_cbc 80
454
455#define SN_id_ce "id-ce"
456#define NID_id_ce 81
457#define OBJ_id_ce 2L,5L,29L
458
459#define SN_subject_key_identifier "subjectKeyIdentifier"
460#define LN_subject_key_identifier "X509v3 Subject Key Identifier"
461#define NID_subject_key_identifier 82
462#define OBJ_subject_key_identifier OBJ_id_ce,14L
463
464#define SN_key_usage "keyUsage"
465#define LN_key_usage "X509v3 Key Usage"
466#define NID_key_usage 83
467#define OBJ_key_usage OBJ_id_ce,15L
468
469#define SN_private_key_usage_period "privateKeyUsagePeriod"
470#define LN_private_key_usage_period "X509v3 Private Key Usage Period"
471#define NID_private_key_usage_period 84
472#define OBJ_private_key_usage_period OBJ_id_ce,16L
473
474#define SN_subject_alt_name "subjectAltName"
475#define LN_subject_alt_name "X509v3 Subject Alternative Name"
476#define NID_subject_alt_name 85
477#define OBJ_subject_alt_name OBJ_id_ce,17L
478
479#define SN_issuer_alt_name "issuerAltName"
480#define LN_issuer_alt_name "X509v3 Issuer Alternative Name"
481#define NID_issuer_alt_name 86
482#define OBJ_issuer_alt_name OBJ_id_ce,18L
483
484#define SN_basic_constraints "basicConstraints"
485#define LN_basic_constraints "X509v3 Basic Constraints"
486#define NID_basic_constraints 87
487#define OBJ_basic_constraints OBJ_id_ce,19L
488
489#define SN_crl_number "crlNumber"
490#define LN_crl_number "X509v3 CRL Number"
491#define NID_crl_number 88
492#define OBJ_crl_number OBJ_id_ce,20L
493
494#define SN_certificate_policies "certificatePolicies"
495#define LN_certificate_policies "X509v3 Certificate Policies"
496#define NID_certificate_policies 89
497#define OBJ_certificate_policies OBJ_id_ce,32L
498
499#define SN_authority_key_identifier "authorityKeyIdentifier"
500#define LN_authority_key_identifier "X509v3 Authority Key Identifier"
501#define NID_authority_key_identifier 90
502#define OBJ_authority_key_identifier OBJ_id_ce,35L
503
504#define SN_bf_cbc "BF-CBC"
505#define LN_bf_cbc "bf-cbc"
506#define NID_bf_cbc 91
507#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L
508
509#define SN_bf_ecb "BF-ECB"
510#define LN_bf_ecb "bf-ecb"
511#define NID_bf_ecb 92
512
513#define SN_bf_cfb64 "BF-CFB"
514#define LN_bf_cfb64 "bf-cfb"
515#define NID_bf_cfb64 93
516
517#define SN_bf_ofb64 "BF-OFB"
518#define LN_bf_ofb64 "bf-ofb"
519#define NID_bf_ofb64 94
520
521#define SN_mdc2 "MDC2"
522#define LN_mdc2 "mdc2"
523#define NID_mdc2 95
524#define OBJ_mdc2 2L,5L,8L,3L,101L
525/* An alternative? 1L,3L,14L,3L,2L,19L */
526
527#define SN_mdc2WithRSA "RSA-MDC2"
528#define LN_mdc2WithRSA "mdc2withRSA"
529#define NID_mdc2WithRSA 96
530#define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L
531
532#define SN_rc4_40 "RC4-40"
533#define LN_rc4_40 "rc4-40"
534#define NID_rc4_40 97
535
536#define SN_rc2_40_cbc "RC2-40-CBC"
537#define LN_rc2_40_cbc "rc2-40-cbc"
538#define NID_rc2_40_cbc 98
539
540#define SN_givenName "G"
541#define LN_givenName "givenName"
542#define NID_givenName 99
543#define OBJ_givenName OBJ_X509,42L
544
545#define SN_surname "S"
546#define LN_surname "surname"
547#define NID_surname 100
548#define OBJ_surname OBJ_X509,4L
549
550#define SN_initials "I"
551#define LN_initials "initials"
552#define NID_initials 101
553#define OBJ_initials OBJ_X509,43L
554
555#define SN_uniqueIdentifier "UID"
556#define LN_uniqueIdentifier "uniqueIdentifier"
557#define NID_uniqueIdentifier 102
558#define OBJ_uniqueIdentifier OBJ_X509,45L
559
560#define SN_crl_distribution_points "crlDistributionPoints"
561#define LN_crl_distribution_points "X509v3 CRL Distribution Points"
562#define NID_crl_distribution_points 103
563#define OBJ_crl_distribution_points OBJ_id_ce,31L
564
565#define SN_md5WithRSA "RSA-NP-MD5"
566#define LN_md5WithRSA "md5WithRSA"
567#define NID_md5WithRSA 104
568#define OBJ_md5WithRSA OBJ_algorithm,3L
569
570#define SN_serialNumber "SN"
571#define LN_serialNumber "serialNumber"
572#define NID_serialNumber 105
573#define OBJ_serialNumber OBJ_X509,5L
574
575#define SN_title "T"
576#define LN_title "title"
577#define NID_title 106
578#define OBJ_title OBJ_X509,12L
579
580#define SN_description "D"
581#define LN_description "description"
582#define NID_description 107
583#define OBJ_description OBJ_X509,13L
584
585/* CAST5 is CAST-128, I'm just sticking with the documentation */
586#define SN_cast5_cbc "CAST5-CBC"
587#define LN_cast5_cbc "cast5-cbc"
588#define NID_cast5_cbc 108
589#define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L
590
591#define SN_cast5_ecb "CAST5-ECB"
592#define LN_cast5_ecb "cast5-ecb"
593#define NID_cast5_ecb 109
594
595#define SN_cast5_cfb64 "CAST5-CFB"
596#define LN_cast5_cfb64 "cast5-cfb"
597#define NID_cast5_cfb64 110
598
599#define SN_cast5_ofb64 "CAST5-OFB"
600#define LN_cast5_ofb64 "cast5-ofb"
601#define NID_cast5_ofb64 111
602
603#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC"
604#define NID_pbeWithMD5AndCast5_CBC 112
605#define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L
606
607/* This is one sun will soon be using :-(
608 * id-dsa-with-sha1 ID ::= {
609 * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 }
610 */
611#define SN_dsaWithSHA1 "DSA-SHA1"
612#define LN_dsaWithSHA1 "dsaWithSHA1"
613#define NID_dsaWithSHA1 113
614#define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L
615
616#define NID_md5_sha1 114
617#define SN_md5_sha1 "MD5-SHA1"
618#define LN_md5_sha1 "md5-sha1"
619
620#define SN_sha1WithRSA "RSA-SHA1-2"
621#define LN_sha1WithRSA "sha1WithRSA"
622#define NID_sha1WithRSA 115
623#define OBJ_sha1WithRSA OBJ_algorithm,29L
624
625#define SN_dsa "DSA"
626#define LN_dsa "dsaEncryption"
627#define NID_dsa 116
628#define OBJ_dsa 1L,2L,840L,10040L,4L,1L
629
630#define SN_ripemd160 "RIPEMD160"
631#define LN_ripemd160 "ripemd160"
632#define NID_ripemd160 117
633#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L
634
635/* The name should actually be rsaSignatureWithripemd160, but I'm going
636 * to continue using the convention I'm using with the other ciphers */
637#define SN_ripemd160WithRSA "RSA-RIPEMD160"
638#define LN_ripemd160WithRSA "ripemd160WithRSA"
639#define NID_ripemd160WithRSA 119
640#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L
641
642/* Taken from rfc2040
643 * RC5_CBC_Parameters ::= SEQUENCE {
644 * version INTEGER (v1_0(16)),
645 * rounds INTEGER (8..127),
646 * blockSizeInBits INTEGER (64, 128),
647 * iv OCTET STRING OPTIONAL
648 * }
649 */
650#define SN_rc5_cbc "RC5-CBC"
651#define LN_rc5_cbc "rc5-cbc"
652#define NID_rc5_cbc 120
653#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L
654
655#define SN_rc5_ecb "RC5-ECB"
656#define LN_rc5_ecb "rc5-ecb"
657#define NID_rc5_ecb 121
658
659#define SN_rc5_cfb64 "RC5-CFB"
660#define LN_rc5_cfb64 "rc5-cfb"
661#define NID_rc5_cfb64 122
662
663#define SN_rc5_ofb64 "RC5-OFB"
664#define LN_rc5_ofb64 "rc5-ofb"
665#define NID_rc5_ofb64 123
666
667#define SN_rle_compression "RLE"
668#define LN_rle_compression "run length compression"
669#define NID_rle_compression 124
670#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L
671
672#define SN_zlib_compression "ZLIB"
673#define LN_zlib_compression "zlib compression"
674#define NID_zlib_compression 125
675#define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L
676
677#define SN_ext_key_usage "extendedKeyUsage"
678#define LN_ext_key_usage "X509v3 Extended Key Usage"
679#define NID_ext_key_usage 126
680#define OBJ_ext_key_usage OBJ_id_ce,37
681
682#define SN_id_pkix "PKIX"
683#define NID_id_pkix 127
684#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L
685
686#define SN_id_kp "id-kp"
687#define NID_id_kp 128
688#define OBJ_id_kp OBJ_id_pkix,3L
689
690/* PKIX extended key usage OIDs */
691
692#define SN_server_auth "serverAuth"
693#define LN_server_auth "TLS Web Server Authentication"
694#define NID_server_auth 129
695#define OBJ_server_auth OBJ_id_kp,1L
696
697#define SN_client_auth "clientAuth"
698#define LN_client_auth "TLS Web Client Authentication"
699#define NID_client_auth 130
700#define OBJ_client_auth OBJ_id_kp,2L
701
702#define SN_code_sign "codeSigning"
703#define LN_code_sign "Code Signing"
704#define NID_code_sign 131
705#define OBJ_code_sign OBJ_id_kp,3L
706
707#define SN_email_protect "emailProtection"
708#define LN_email_protect "E-mail Protection"
709#define NID_email_protect 132
710#define OBJ_email_protect OBJ_id_kp,4L
711
712#define SN_time_stamp "timeStamping"
713#define LN_time_stamp "Time Stamping"
714#define NID_time_stamp 133
715#define OBJ_time_stamp OBJ_id_kp,8L
716
717/* Additional extended key usage OIDs: Microsoft */
718
719#define SN_ms_code_ind "msCodeInd"
720#define LN_ms_code_ind "Microsoft Individual Code Signing"
721#define NID_ms_code_ind 134
722#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L
723
724#define SN_ms_code_com "msCodeCom"
725#define LN_ms_code_com "Microsoft Commercial Code Signing"
726#define NID_ms_code_com 135
727#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L
728
729#define SN_ms_ctl_sign "msCTLSign"
730#define LN_ms_ctl_sign "Microsoft Trust List Signing"
731#define NID_ms_ctl_sign 136
732#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L
733
734#define SN_ms_sgc "msSGC"
735#define LN_ms_sgc "Microsoft Server Gated Crypto"
736#define NID_ms_sgc 137
737#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L
738
739#define SN_ms_efs "msEFS"
740#define LN_ms_efs "Microsoft Encrypted File System"
741#define NID_ms_efs 138
742#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
743
744/* Additional usage: Netscape */
745
746#define SN_ns_sgc "nsSGC"
747#define LN_ns_sgc "Netscape Server Gated Crypto"
748#define NID_ns_sgc 139
749#define OBJ_ns_sgc OBJ_netscape,4L,1L
750
751#define SN_delta_crl "deltaCRL"
752#define LN_delta_crl "X509v3 Delta CRL Indicator"
753#define NID_delta_crl 140
754#define OBJ_delta_crl OBJ_id_ce,27L
755
756#define SN_crl_reason "CRLReason"
757#define LN_crl_reason "CRL Reason Code"
758#define NID_crl_reason 141
759#define OBJ_crl_reason OBJ_id_ce,21L
760
761#define SN_invalidity_date "invalidityDate"
762#define LN_invalidity_date "Invalidity Date"
763#define NID_invalidity_date 142
764#define OBJ_invalidity_date OBJ_id_ce,24L
765
766#define SN_sxnet "SXNetID"
767#define LN_sxnet "Strong Extranet ID"
768#define NID_sxnet 143
769#define OBJ_sxnet 1L,3L,101L,1L,4L,1L
770
771/* PKCS12 and related OBJECT IDENTIFIERS */
772
773#define OBJ_pkcs12 OBJ_pkcs,12L
774#define OBJ_pkcs12_pbeids OBJ_pkcs12, 1
775
776#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128"
777#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4"
778#define NID_pbe_WithSHA1And128BitRC4 144
779#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L
780
781#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40"
782#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4"
783#define NID_pbe_WithSHA1And40BitRC4 145
784#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L
785
786#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES"
787#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC"
788#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146
789#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L
790
791#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES"
792#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC"
793#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147
794#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L
795
796#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128"
797#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC"
798#define NID_pbe_WithSHA1And128BitRC2_CBC 148
799#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L
800
801#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40"
802#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC"
803#define NID_pbe_WithSHA1And40BitRC2_CBC 149
804#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L
805
806#define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L
807
808#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L
809
810#define LN_keyBag "keyBag"
811#define NID_keyBag 150
812#define OBJ_keyBag OBJ_pkcs12_BagIds, 1L
813
814#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag"
815#define NID_pkcs8ShroudedKeyBag 151
816#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L
817
818#define LN_certBag "certBag"
819#define NID_certBag 152
820#define OBJ_certBag OBJ_pkcs12_BagIds, 3L
821
822#define LN_crlBag "crlBag"
823#define NID_crlBag 153
824#define OBJ_crlBag OBJ_pkcs12_BagIds, 4L
825
826#define LN_secretBag "secretBag"
827#define NID_secretBag 154
828#define OBJ_secretBag OBJ_pkcs12_BagIds, 5L
829
830#define LN_safeContentsBag "safeContentsBag"
831#define NID_safeContentsBag 155
832#define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L
833
834#define LN_friendlyName "friendlyName"
835#define NID_friendlyName 156
836#define OBJ_friendlyName OBJ_pkcs9, 20L
837
838#define LN_localKeyID "localKeyID"
839#define NID_localKeyID 157
840#define OBJ_localKeyID OBJ_pkcs9, 21L
841
842#define OBJ_certTypes OBJ_pkcs9, 22L
843
844#define LN_x509Certificate "x509Certificate"
845#define NID_x509Certificate 158
846#define OBJ_x509Certificate OBJ_certTypes, 1L
847
848#define LN_sdsiCertificate "sdsiCertificate"
849#define NID_sdsiCertificate 159
850#define OBJ_sdsiCertificate OBJ_certTypes, 2L
851
852#define OBJ_crlTypes OBJ_pkcs9, 23L
853
854#define LN_x509Crl "x509Crl"
855#define NID_x509Crl 160
856#define OBJ_x509Crl OBJ_crlTypes, 1L
857
858/* PKCS#5 v2 OIDs */
859
860#define LN_pbes2 "PBES2"
861#define NID_pbes2 161
862#define OBJ_pbes2 OBJ_pkcs,5L,13L
863
864#define LN_pbmac1 "PBMAC1"
865#define NID_pbmac1 162
866#define OBJ_pbmac1 OBJ_pkcs,5L,14L
867
868#define LN_hmacWithSHA1 "hmacWithSHA1"
869#define NID_hmacWithSHA1 163
870#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L
871
872/* Policy Qualifier Ids */
873
874#define LN_id_qt_cps "Policy Qualifier CPS"
875#define SN_id_qt_cps "id-qt-cps"
876#define NID_id_qt_cps 164
877#define OBJ_id_qt_cps OBJ_id_pkix,2L,1L
878
879#define LN_id_qt_unotice "Policy Qualifier User Notice"
880#define SN_id_qt_unotice "id-qt-unotice"
881#define NID_id_qt_unotice 165
882#define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L
883
884#define SN_rc2_64_cbc "RC2-64-CBC"
885#define LN_rc2_64_cbc "rc2-64-cbc"
886#define NID_rc2_64_cbc 166
887
888#define SN_SMIMECapabilities "SMIME-CAPS"
889#define LN_SMIMECapabilities "S/MIME Capabilities"
890#define NID_SMIMECapabilities 167
891#define OBJ_SMIMECapabilities OBJ_pkcs9,15L
892
893#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64"
894#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC"
895#define NID_pbeWithMD2AndRC2_CBC 168
896#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L
897
898#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64"
899#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC"
900#define NID_pbeWithMD5AndRC2_CBC 169
901#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L
902
903#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES"
904#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC"
905#define NID_pbeWithSHA1AndDES_CBC 170
906#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L
907
908/* Extension request OIDs */
909
910#define LN_ms_ext_req "Microsoft Extension Request"
911#define SN_ms_ext_req "msExtReq"
912#define NID_ms_ext_req 171
913#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L
914
915#define LN_ext_req "Extension Request"
916#define SN_ext_req "extReq"
917#define NID_ext_req 172
918#define OBJ_ext_req OBJ_pkcs9,14L
919
920#define SN_name "name"
921#define LN_name "name"
922#define NID_name 173
923#define OBJ_name OBJ_X509,41L
924
925#define SN_dnQualifier "dnQualifier"
926#define LN_dnQualifier "dnQualifier"
927#define NID_dnQualifier 174
928#define OBJ_dnQualifier OBJ_X509,46L
929
930#define SN_id_pe "id-pe"
931#define NID_id_pe 175
932#define OBJ_id_pe OBJ_id_pkix,1L
933
934#define SN_id_ad "id-ad"
935#define NID_id_ad 176
936#define OBJ_id_ad OBJ_id_pkix,48L
937
938#define SN_info_access "authorityInfoAccess"
939#define LN_info_access "Authority Information Access"
940#define NID_info_access 177
941#define OBJ_info_access OBJ_id_pe,1L
942
943#define SN_ad_OCSP "OCSP"
944#define LN_ad_OCSP "OCSP"
945#define NID_ad_OCSP 178
946#define OBJ_ad_OCSP OBJ_id_ad,1L
947
948#define SN_ad_ca_issuers "caIssuers"
949#define LN_ad_ca_issuers "CA Issuers"
950#define NID_ad_ca_issuers 179
951#define OBJ_ad_ca_issuers OBJ_id_ad,2L
952
953#define SN_OCSP_sign "OCSPSigning"
954#define LN_OCSP_sign "OCSP Signing"
955#define NID_OCSP_sign 180
956#define OBJ_OCSP_sign OBJ_id_kp,9L
957#endif /* USE_OBJ_MAC */
958
959#include <openssl/bio.h>
960#include <openssl/asn1.h>
961
962#define OBJ_NAME_TYPE_UNDEF 0x00
963#define OBJ_NAME_TYPE_MD_METH 0x01
964#define OBJ_NAME_TYPE_CIPHER_METH 0x02
965#define OBJ_NAME_TYPE_PKEY_METH 0x03
966#define OBJ_NAME_TYPE_COMP_METH 0x04
967#define OBJ_NAME_TYPE_NUM 0x05
968
969#define OBJ_NAME_ALIAS 0x8000
970
971
972#ifdef __cplusplus
973extern "C" {
974#endif
975
976typedef struct obj_name_st
977 {
978 int type;
979 int alias;
980 const char *name;
981 const char *data;
982 } OBJ_NAME;
983
984#define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c)
985
986
987int OBJ_NAME_init(void);
988int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
989 int (*cmp_func)(const char *, const char *),
990 void (*free_func)(const char *, int, const char *));
991const char *OBJ_NAME_get(const char *name,int type);
992int OBJ_NAME_add(const char *name,int type,const char *data);
993int OBJ_NAME_remove(const char *name,int type);
994void OBJ_NAME_cleanup(int type); /* -1 for everything */
995void OBJ_NAME_do_all(int type,void (*fn)(const OBJ_NAME *,void *arg),
996 void *arg);
997void OBJ_NAME_do_all_sorted(int type,void (*fn)(const OBJ_NAME *,void *arg),
998 void *arg);
999
1000ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o);
1001ASN1_OBJECT * OBJ_nid2obj(int n);
1002const char * OBJ_nid2ln(int n);
1003const char * OBJ_nid2sn(int n);
1004int OBJ_obj2nid(const ASN1_OBJECT *o);
1005ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name);
1006int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);
1007int OBJ_txt2nid(const char *s);
1008int OBJ_ln2nid(const char *s);
1009int OBJ_sn2nid(const char *s);
1010int OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b);
1011const char * OBJ_bsearch(const char *key,const char *base,int num,int size,
1012 int (*cmp)(const void *, const void *));
1013
1014int OBJ_new_nid(int num);
1015int OBJ_add_object(const ASN1_OBJECT *obj);
1016int OBJ_create(const char *oid,const char *sn,const char *ln);
1017void OBJ_cleanup(void );
1018int OBJ_create_objects(BIO *in);
1019
1020/* BEGIN ERROR CODES */
1021/* The following lines are auto generated by the script mkerr.pl. Any changes
1022 * made after this point may be overwritten when the script is next run.
1023 */
1024void ERR_load_OBJ_strings(void);
1025
1026/* Error codes for the OBJ functions. */
1027
1028/* Function codes. */
1029#define OBJ_F_OBJ_ADD_OBJECT 105
1030#define OBJ_F_OBJ_CREATE 100
1031#define OBJ_F_OBJ_DUP 101
1032#define OBJ_F_OBJ_NAME_NEW_INDEX 106
1033#define OBJ_F_OBJ_NID2LN 102
1034#define OBJ_F_OBJ_NID2OBJ 103
1035#define OBJ_F_OBJ_NID2SN 104
1036
1037/* Reason codes. */
1038#define OBJ_R_MALLOC_FAILURE 100
1039#define OBJ_R_UNKNOWN_NID 101
1040
1041#ifdef __cplusplus
1042}
1043#endif
1044#endif
diff --git a/src/lib/libcrypto/objects/objects.pl b/src/lib/libcrypto/objects/objects.pl
deleted file mode 100644
index 76bb8da677..0000000000
--- a/src/lib/libcrypto/objects/objects.pl
+++ /dev/null
@@ -1,230 +0,0 @@
1#!/usr/local/bin/perl
2
3open (NUMIN,"$ARGV[1]") || die "Can't open number file $ARGV[1]";
4$max_nid=0;
5$o=0;
6while(<NUMIN>)
7 {
8 chop;
9 $o++;
10 s/#.*$//;
11 next if /^\s*$/;
12 $_ = 'X'.$_;
13 ($Cname,$mynum) = split;
14 $Cname =~ s/^X//;
15 if (defined($nidn{$mynum}))
16 { die "$ARGV[1]:$o:There's already an object with NID ",$mynum," on line ",$order{$mynum},"\n"; }
17 $nid{$Cname} = $mynum;
18 $nidn{$mynum} = $Cname;
19 $order{$mynum} = $o;
20 $max_nid = $mynum if $mynum > $max_nid;
21 }
22close NUMIN;
23
24open (IN,"$ARGV[0]") || die "Can't open input file $ARGV[0]";
25$Cname="";
26$o=0;
27while (<IN>)
28 {
29 chop;
30 $o++;
31 if (/^!module\s+(.*)$/)
32 {
33 $module = $1."-";
34 $module =~ s/\./_/g;
35 $module =~ s/-/_/g;
36 }
37 if (/^!global$/)
38 { $module = ""; }
39 if (/^!Cname\s+(.*)$/)
40 { $Cname = $1; }
41 if (/^!Alias\s+(.+?)\s+(.*)$/)
42 {
43 $Cname = $module.$1;
44 $myoid = $2;
45 $myoid = &process_oid($myoid);
46 $Cname =~ s/-/_/g;
47 $ordern{$o} = $Cname;
48 $order{$Cname} = $o;
49 $obj{$Cname} = $myoid;
50 $_ = "";
51 $Cname = "";
52 }
53 s/!.*$//;
54 s/#.*$//;
55 next if /^\s*$/;
56 ($myoid,$mysn,$myln) = split ':';
57 $mysn =~ s/^\s*//;
58 $mysn =~ s/\s*$//;
59 $myln =~ s/^\s*//;
60 $myln =~ s/\s*$//;
61 $myoid =~ s/^\s*//;
62 $myoid =~ s/\s*$//;
63 if ($myoid ne "")
64 {
65 $myoid = &process_oid($myoid);
66 }
67
68 if ($Cname eq "" && !($myln =~ / /))
69 {
70 $Cname = $myln;
71 $Cname =~ s/\./_/g;
72 $Cname =~ s/-/_/g;
73 if ($Cname ne "" && defined($ln{$module.$Cname}))
74 { die "objects.txt:$o:There's already an object with long name ",$ln{$module.$Cname}," on line ",$order{$module.$Cname},"\n"; }
75 }
76 if ($Cname eq "")
77 {
78 $Cname = $mysn;
79 $Cname =~ s/-/_/g;
80 if ($Cname ne "" && defined($sn{$module.$Cname}))
81 { die "objects.txt:$o:There's already an object with short name ",$sn{$module.$Cname}," on line ",$order{$module.$Cname},"\n"; }
82 }
83 if ($Cname eq "")
84 {
85 $Cname = $myln;
86 $Cname =~ s/-/_/g;
87 $Cname =~ s/\./_/g;
88 $Cname =~ s/ /_/g;
89 if ($Cname ne "" && defined($ln{$module.$Cname}))
90 { die "objects.txt:$o:There's already an object with long name ",$ln{$module.$Cname}," on line ",$order{$module.$Cname},"\n"; }
91 }
92 $Cname =~ s/\./_/g;
93 $Cname =~ s/-/_/g;
94 $Cname = $module.$Cname;
95 $ordern{$o} = $Cname;
96 $order{$Cname} = $o;
97 $sn{$Cname} = $mysn;
98 $ln{$Cname} = $myln;
99 $obj{$Cname} = $myoid;
100 if (!defined($nid{$Cname}))
101 {
102 $max_nid++;
103 $nid{$Cname} = $max_nid;
104 $nidn{$max_nid} = $Cname;
105 }
106 $Cname="";
107 }
108close IN;
109
110#XXX don't modify input files
111#open (NUMOUT,">$ARGV[1]") || die "Can't open output file $ARGV[1]";
112#foreach (sort { $a <=> $b } keys %nidn)
113# {
114# print NUMOUT $nidn{$_},"\t\t",$_,"\n";
115# }
116#close NUMOUT;
117
118open (OUT,">$ARGV[2]") || die "Can't open output file $ARGV[2]";
119print OUT <<'EOF';
120/* crypto/objects/obj_mac.h */
121
122/* THIS FILE IS GENERATED FROM objects.txt by objects.pl via the
123 * following command:
124 * perl objects.pl objects.txt obj_mac.num obj_mac.h
125 */
126
127/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
128 * All rights reserved.
129 *
130 * This package is an SSL implementation written
131 * by Eric Young (eay@cryptsoft.com).
132 * The implementation was written so as to conform with Netscapes SSL.
133 *
134 * This library is free for commercial and non-commercial use as long as
135 * the following conditions are aheared to. The following conditions
136 * apply to all code found in this distribution, be it the RC4, RSA,
137 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
138 * included with this distribution is covered by the same copyright terms
139 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
140 *
141 * Copyright remains Eric Young's, and as such any Copyright notices in
142 * the code are not to be removed.
143 * If this package is used in a product, Eric Young should be given attribution
144 * as the author of the parts of the library used.
145 * This can be in the form of a textual message at program startup or
146 * in documentation (online or textual) provided with the package.
147 *
148 * Redistribution and use in source and binary forms, with or without
149 * modification, are permitted provided that the following conditions
150 * are met:
151 * 1. Redistributions of source code must retain the copyright
152 * notice, this list of conditions and the following disclaimer.
153 * 2. Redistributions in binary form must reproduce the above copyright
154 * notice, this list of conditions and the following disclaimer in the
155 * documentation and/or other materials provided with the distribution.
156 * 3. All advertising materials mentioning features or use of this software
157 * must display the following acknowledgement:
158 * "This product includes cryptographic software written by
159 * Eric Young (eay@cryptsoft.com)"
160 * The word 'cryptographic' can be left out if the rouines from the library
161 * being used are not cryptographic related :-).
162 * 4. If you include any Windows specific code (or a derivative thereof) from
163 * the apps directory (application code) you must include an acknowledgement:
164 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
165 *
166 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
167 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
168 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
169 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
170 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
171 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
172 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
173 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
174 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
175 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
176 * SUCH DAMAGE.
177 *
178 * The licence and distribution terms for any publically available version or
179 * derivative of this code cannot be changed. i.e. this code cannot simply be
180 * copied and put under another distribution licence
181 * [including the GNU Public Licence.]
182 */
183
184#define SN_undef "UNDEF"
185#define LN_undef "undefined"
186#define NID_undef 0
187#define OBJ_undef 0L
188
189EOF
190
191foreach (sort { $a <=> $b } keys %ordern)
192 {
193 $Cname=$ordern{$_};
194 print OUT "#define SN_",$Cname,"\t\t\"",$sn{$Cname},"\"\n" if $sn{$Cname} ne "";
195 print OUT "#define LN_",$Cname,"\t\t\"",$ln{$Cname},"\"\n" if $ln{$Cname} ne "";
196 print OUT "#define NID_",$Cname,"\t\t",$nid{$Cname},"\n" if $nid{$Cname} ne "";
197 print OUT "#define OBJ_",$Cname,"\t\t",$obj{$Cname},"\n" if $obj{$Cname} ne "";
198 print OUT "\n";
199 }
200
201close OUT;
202
203sub process_oid
204 {
205 local($oid)=@_;
206 local(@a,$oid_pref);
207
208 @a = split(/\s+/,$myoid);
209 $pref_oid = "";
210 $pref_sep = "";
211 if (!($a[0] =~ /^[0-9]+$/))
212 {
213 $a[0] =~ s/-/_/g;
214 if (!defined($obj{$a[0]}))
215 { die "$ARGV[0]:$o:Undefined identifier ",$a[0],"\n"; }
216 $pref_oid = "OBJ_" . $a[0];
217 $pref_sep = ",";
218 shift @a;
219 }
220 $oids = join('L,',@a) . "L";
221 if ($oids ne "L")
222 {
223 $oids = $pref_oid . $pref_sep . $oids;
224 }
225 else
226 {
227 $oids = $pref_oid;
228 }
229 return($oids);
230 }
diff --git a/src/lib/libcrypto/objects/objects.txt b/src/lib/libcrypto/objects/objects.txt
deleted file mode 100644
index 50e9031e61..0000000000
--- a/src/lib/libcrypto/objects/objects.txt
+++ /dev/null
@@ -1,938 +0,0 @@
10 : CCITT : ccitt
2
31 : ISO : iso
4
52 : JOINT-ISO-CCITT : joint-iso-ccitt
6
7iso 2 : member-body : ISO Member Body
8
9joint-iso-ccitt 5 1 5 : selected-attribute-types : Selected Attribute Types
10
11selected-attribute-types 55 : clearance
12
13member-body 840 : ISO-US : ISO US Member Body
14ISO-US 10040 : X9-57 : X9.57
15X9-57 4 : X9cm : X9.57 CM ?
16
17!Cname dsa
18X9cm 1 : DSA : dsaEncryption
19X9cm 3 : DSA-SHA1 : dsaWithSHA1
20
21
22ISO-US 10045 : ansi-X9-62 : ANSI X9.62
23!module X9-62
24!Alias id-fieldType ansi-X9-62 1
25X9-62_id-fieldType 1 : prime-field
26X9-62_id-fieldType 2 : characteristic-two-field
27# ... characteristic-two-field OID subtree
28!Alias id-publicKeyType ansi-X9-62 2
29X9-62_id-publicKeyType 1 : id-ecPublicKey
30!Alias ellipticCurve ansi-X9-62 3
31!Alias c-TwoCurve X9-62_ellipticCurve 0
32# ... characteristic 2 curve OIDs
33!Alias primeCurve X9-62_ellipticCurve 1
34X9-62_primeCurve 1 : prime192v1
35X9-62_primeCurve 2 : prime192v2
36X9-62_primeCurve 3 : prime192v3
37X9-62_primeCurve 4 : prime239v1
38X9-62_primeCurve 5 : prime239v2
39X9-62_primeCurve 6 : prime239v3
40X9-62_primeCurve 7 : prime256v1
41!Alias id-ecSigType ansi-X9-62 4
42!global
43X9-62_id-ecSigType 1 : ecdsa-with-SHA1
44
45
46
47ISO-US 113533 7 66 10 : CAST5-CBC : cast5-cbc
48 : CAST5-ECB : cast5-ecb
49!Cname cast5-cfb64
50 : CAST5-CFB : cast5-cfb
51!Cname cast5-ofb64
52 : CAST5-OFB : cast5-ofb
53!Cname pbeWithMD5AndCast5-CBC
54ISO-US 113533 7 66 12 : : pbeWithMD5AndCast5CBC
55
56ISO-US 113549 : rsadsi : RSA Data Security, Inc.
57
58rsadsi 1 : pkcs : RSA Data Security, Inc. PKCS
59
60pkcs 1 : pkcs1
61pkcs1 1 : : rsaEncryption
62pkcs1 2 : RSA-MD2 : md2WithRSAEncryption
63pkcs1 3 : RSA-MD4 : md4WithRSAEncryption
64pkcs1 4 : RSA-MD5 : md5WithRSAEncryption
65pkcs1 5 : RSA-SHA1 : sha1WithRSAEncryption
66
67pkcs 3 : pkcs3
68pkcs3 1 : : dhKeyAgreement
69
70pkcs 5 : pkcs5
71pkcs5 1 : PBE-MD2-DES : pbeWithMD2AndDES-CBC
72pkcs5 3 : PBE-MD5-DES : pbeWithMD5AndDES-CBC
73pkcs5 4 : PBE-MD2-RC2-64 : pbeWithMD2AndRC2-CBC
74pkcs5 6 : PBE-MD5-RC2-64 : pbeWithMD5AndRC2-CBC
75pkcs5 10 : PBE-SHA1-DES : pbeWithSHA1AndDES-CBC
76pkcs5 11 : PBE-SHA1-RC2-64 : pbeWithSHA1AndRC2-CBC
77!Cname id_pbkdf2
78pkcs5 12 : : PBKDF2
79!Cname pbes2
80pkcs5 13 : : PBES2
81!Cname pbmac1
82pkcs5 14 : : PBMAC1
83
84pkcs 7 : pkcs7
85pkcs7 1 : : pkcs7-data
86!Cname pkcs7-signed
87pkcs7 2 : : pkcs7-signedData
88!Cname pkcs7-enveloped
89pkcs7 3 : : pkcs7-envelopedData
90!Cname pkcs7-signedAndEnveloped
91pkcs7 4 : : pkcs7-signedAndEnvelopedData
92!Cname pkcs7-digest
93pkcs7 5 : : pkcs7-digestData
94!Cname pkcs7-encrypted
95pkcs7 6 : : pkcs7-encryptedData
96
97pkcs 9 : pkcs9
98!module pkcs9
99pkcs9 1 : : emailAddress
100pkcs9 2 : : unstructuredName
101pkcs9 3 : : contentType
102pkcs9 4 : : messageDigest
103pkcs9 5 : : signingTime
104pkcs9 6 : : countersignature
105pkcs9 7 : : challengePassword
106pkcs9 8 : : unstructuredAddress
107!Cname extCertAttributes
108pkcs9 9 : : extendedCertificateAttributes
109!global
110
111!Cname ext-req
112pkcs9 14 : extReq : Extension Request
113
114!Cname SMIMECapabilities
115pkcs9 15 : SMIME-CAPS : S/MIME Capabilities
116
117# S/MIME
118!Cname SMIME
119pkcs9 16 : SMIME : S/MIME
120SMIME 0 : id-smime-mod
121SMIME 1 : id-smime-ct
122SMIME 2 : id-smime-aa
123SMIME 3 : id-smime-alg
124SMIME 4 : id-smime-cd
125SMIME 5 : id-smime-spq
126SMIME 6 : id-smime-cti
127
128# S/MIME Modules
129id-smime-mod 1 : id-smime-mod-cms
130id-smime-mod 2 : id-smime-mod-ess
131id-smime-mod 3 : id-smime-mod-oid
132id-smime-mod 4 : id-smime-mod-msg-v3
133id-smime-mod 5 : id-smime-mod-ets-eSignature-88
134id-smime-mod 6 : id-smime-mod-ets-eSignature-97
135id-smime-mod 7 : id-smime-mod-ets-eSigPolicy-88
136id-smime-mod 8 : id-smime-mod-ets-eSigPolicy-97
137
138# S/MIME Content Types
139id-smime-ct 1 : id-smime-ct-receipt
140id-smime-ct 2 : id-smime-ct-authData
141id-smime-ct 3 : id-smime-ct-publishCert
142id-smime-ct 4 : id-smime-ct-TSTInfo
143id-smime-ct 5 : id-smime-ct-TDTInfo
144id-smime-ct 6 : id-smime-ct-contentInfo
145id-smime-ct 7 : id-smime-ct-DVCSRequestData
146id-smime-ct 8 : id-smime-ct-DVCSResponseData
147
148# S/MIME Attributes
149id-smime-aa 1 : id-smime-aa-receiptRequest
150id-smime-aa 2 : id-smime-aa-securityLabel
151id-smime-aa 3 : id-smime-aa-mlExpandHistory
152id-smime-aa 4 : id-smime-aa-contentHint
153id-smime-aa 5 : id-smime-aa-msgSigDigest
154# obsolete
155id-smime-aa 6 : id-smime-aa-encapContentType
156id-smime-aa 7 : id-smime-aa-contentIdentifier
157# obsolete
158id-smime-aa 8 : id-smime-aa-macValue
159id-smime-aa 9 : id-smime-aa-equivalentLabels
160id-smime-aa 10 : id-smime-aa-contentReference
161id-smime-aa 11 : id-smime-aa-encrypKeyPref
162id-smime-aa 12 : id-smime-aa-signingCertificate
163id-smime-aa 13 : id-smime-aa-smimeEncryptCerts
164id-smime-aa 14 : id-smime-aa-timeStampToken
165id-smime-aa 15 : id-smime-aa-ets-sigPolicyId
166id-smime-aa 16 : id-smime-aa-ets-commitmentType
167id-smime-aa 17 : id-smime-aa-ets-signerLocation
168id-smime-aa 18 : id-smime-aa-ets-signerAttr
169id-smime-aa 19 : id-smime-aa-ets-otherSigCert
170id-smime-aa 20 : id-smime-aa-ets-contentTimestamp
171id-smime-aa 21 : id-smime-aa-ets-CertificateRefs
172id-smime-aa 22 : id-smime-aa-ets-RevocationRefs
173id-smime-aa 23 : id-smime-aa-ets-certValues
174id-smime-aa 24 : id-smime-aa-ets-revocationValues
175id-smime-aa 25 : id-smime-aa-ets-escTimeStamp
176id-smime-aa 26 : id-smime-aa-ets-certCRLTimestamp
177id-smime-aa 27 : id-smime-aa-ets-archiveTimeStamp
178id-smime-aa 28 : id-smime-aa-signatureType
179id-smime-aa 29 : id-smime-aa-dvcs-dvc
180
181# S/MIME Algorithm Identifiers
182# obsolete
183id-smime-alg 1 : id-smime-alg-ESDHwith3DES
184# obsolete
185id-smime-alg 2 : id-smime-alg-ESDHwithRC2
186# obsolete
187id-smime-alg 3 : id-smime-alg-3DESwrap
188# obsolete
189id-smime-alg 4 : id-smime-alg-RC2wrap
190id-smime-alg 5 : id-smime-alg-ESDH
191id-smime-alg 6 : id-smime-alg-CMS3DESwrap
192id-smime-alg 7 : id-smime-alg-CMSRC2wrap
193
194# S/MIME Certificate Distribution
195id-smime-cd 1 : id-smime-cd-ldap
196
197# S/MIME Signature Policy Qualifier
198id-smime-spq 1 : id-smime-spq-ets-sqt-uri
199id-smime-spq 2 : id-smime-spq-ets-sqt-unotice
200
201# S/MIME Commitment Type Identifier
202id-smime-cti 1 : id-smime-cti-ets-proofOfOrigin
203id-smime-cti 2 : id-smime-cti-ets-proofOfReceipt
204id-smime-cti 3 : id-smime-cti-ets-proofOfDelivery
205id-smime-cti 4 : id-smime-cti-ets-proofOfSender
206id-smime-cti 5 : id-smime-cti-ets-proofOfApproval
207id-smime-cti 6 : id-smime-cti-ets-proofOfCreation
208
209pkcs9 20 : : friendlyName
210pkcs9 21 : : localKeyID
211!Cname ms-csp-name
2121 3 6 1 4 1 311 17 1 : CSPName : Microsoft CSP Name
213!Alias certTypes pkcs9 22
214certTypes 1 : : x509Certificate
215certTypes 2 : : sdsiCertificate
216!Alias crlTypes pkcs9 23
217crlTypes 1 : : x509Crl
218
219!Alias pkcs12 pkcs 12
220!Alias pkcs12-pbeids pkcs12 1
221
222!Cname pbe-WithSHA1And128BitRC4
223pkcs12-pbeids 1 : PBE-SHA1-RC4-128 : pbeWithSHA1And128BitRC4
224!Cname pbe-WithSHA1And40BitRC4
225pkcs12-pbeids 2 : PBE-SHA1-RC4-40 : pbeWithSHA1And40BitRC4
226!Cname pbe-WithSHA1And3_Key_TripleDES-CBC
227pkcs12-pbeids 3 : PBE-SHA1-3DES : pbeWithSHA1And3-KeyTripleDES-CBC
228!Cname pbe-WithSHA1And2_Key_TripleDES-CBC
229pkcs12-pbeids 4 : PBE-SHA1-2DES : pbeWithSHA1And2-KeyTripleDES-CBC
230!Cname pbe-WithSHA1And128BitRC2-CBC
231pkcs12-pbeids 5 : PBE-SHA1-RC2-128 : pbeWithSHA1And128BitRC2-CBC
232!Cname pbe-WithSHA1And40BitRC2-CBC
233pkcs12-pbeids 6 : PBE-SHA1-RC2-40 : pbeWithSHA1And40BitRC2-CBC
234
235!Alias pkcs12-Version1 pkcs12 10
236!Alias pkcs12-BagIds pkcs12-Version1 1
237pkcs12-BagIds 1 : : keyBag
238pkcs12-BagIds 2 : : pkcs8ShroudedKeyBag
239pkcs12-BagIds 3 : : certBag
240pkcs12-BagIds 4 : : crlBag
241pkcs12-BagIds 5 : : secretBag
242pkcs12-BagIds 6 : : safeContentsBag
243
244rsadsi 2 2 : MD2 : md2
245rsadsi 2 4 : MD4 : md4
246rsadsi 2 5 : MD5 : md5
247 : MD5-SHA1 : md5-sha1
248rsadsi 2 7 : : hmacWithSHA1
249rsadsi 3 2 : RC2-CBC : rc2-cbc
250 : RC2-ECB : rc2-ecb
251!Cname rc2-cfb64
252 : RC2-CFB : rc2-cfb
253!Cname rc2-ofb64
254 : RC2-OFB : rc2-ofb
255 : RC2-40-CBC : rc2-40-cbc
256 : RC2-64-CBC : rc2-64-cbc
257rsadsi 3 4 : RC4 : rc4
258 : RC4-40 : rc4-40
259rsadsi 3 7 : DES-EDE3-CBC : des-ede3-cbc
260rsadsi 3 8 : RC5-CBC : rc5-cbc
261 : RC5-ECB : rc5-ecb
262!Cname rc5-cfb64
263 : RC5-CFB : rc5-cfb
264!Cname rc5-ofb64
265 : RC5-OFB : rc5-ofb
266
267!Cname ms-ext-req
2681 3 6 1 4 1 311 2 1 14 : msExtReq : Microsoft Extension Request
269!Cname ms-code-ind
2701 3 6 1 4 1 311 2 1 21 : msCodeInd : Microsoft Individual Code Signing
271!Cname ms-code-com
2721 3 6 1 4 1 311 2 1 22 : msCodeCom : Microsoft Commercial Code Signing
273!Cname ms-ctl-sign
2741 3 6 1 4 1 311 10 3 1 : msCTLSign : Microsoft Trust List Signing
275!Cname ms-sgc
2761 3 6 1 4 1 311 10 3 3 : msSGC : Microsoft Server Gated Crypto
277!Cname ms-efs
2781 3 6 1 4 1 311 10 3 4 : msEFS : Microsoft Encrypted File System
279!Cname ms-smartcard-login
2801 3 6 1 4 1 311 20 2 2 : msSmartcardLogin : Microsoft Smartcardlogin
281!Cname ms-upn
2821 3 6 1 4 1 311 20 2 3 : msUPN : Microsoft Universal Principal Name
283
2841 3 6 1 4 1 188 7 1 1 2 : IDEA-CBC : idea-cbc
285 : IDEA-ECB : idea-ecb
286!Cname idea-cfb64
287 : IDEA-CFB : idea-cfb
288!Cname idea-ofb64
289 : IDEA-OFB : idea-ofb
290
2911 3 6 1 4 1 3029 1 2 : BF-CBC : bf-cbc
292 : BF-ECB : bf-ecb
293!Cname bf-cfb64
294 : BF-CFB : bf-cfb
295!Cname bf-ofb64
296 : BF-OFB : bf-ofb
297
298!Cname id-pkix
2991 3 6 1 5 5 7 : PKIX
300
301# PKIX Arcs
302id-pkix 0 : id-pkix-mod
303id-pkix 1 : id-pe
304id-pkix 2 : id-qt
305id-pkix 3 : id-kp
306id-pkix 4 : id-it
307id-pkix 5 : id-pkip
308id-pkix 6 : id-alg
309id-pkix 7 : id-cmc
310id-pkix 8 : id-on
311id-pkix 9 : id-pda
312id-pkix 10 : id-aca
313id-pkix 11 : id-qcs
314id-pkix 12 : id-cct
315id-pkix 21 : id-ppl
316id-pkix 48 : id-ad
317
318# PKIX Modules
319id-pkix-mod 1 : id-pkix1-explicit-88
320id-pkix-mod 2 : id-pkix1-implicit-88
321id-pkix-mod 3 : id-pkix1-explicit-93
322id-pkix-mod 4 : id-pkix1-implicit-93
323id-pkix-mod 5 : id-mod-crmf
324id-pkix-mod 6 : id-mod-cmc
325id-pkix-mod 7 : id-mod-kea-profile-88
326id-pkix-mod 8 : id-mod-kea-profile-93
327id-pkix-mod 9 : id-mod-cmp
328id-pkix-mod 10 : id-mod-qualified-cert-88
329id-pkix-mod 11 : id-mod-qualified-cert-93
330id-pkix-mod 12 : id-mod-attribute-cert
331id-pkix-mod 13 : id-mod-timestamp-protocol
332id-pkix-mod 14 : id-mod-ocsp
333id-pkix-mod 15 : id-mod-dvcs
334id-pkix-mod 16 : id-mod-cmp2000
335
336# PKIX Private Extensions
337!Cname info-access
338id-pe 1 : authorityInfoAccess : Authority Information Access
339id-pe 2 : biometricInfo : Biometric Info
340id-pe 3 : qcStatements
341id-pe 4 : ac-auditEntity
342id-pe 5 : ac-targeting
343id-pe 6 : aaControls
344id-pe 7 : sbqp-ipAddrBlock
345id-pe 8 : sbqp-autonomousSysNum
346id-pe 9 : sbqp-routerIdentifier
347id-pe 10 : ac-proxying
348!Cname sinfo-access
349id-pe 11 : subjectInfoAccess : Subject Information Access
350id-pe 14 : proxyCertInfo : Proxy Certificate Information
351
352# PKIX policyQualifiers for Internet policy qualifiers
353id-qt 1 : id-qt-cps : Policy Qualifier CPS
354id-qt 2 : id-qt-unotice : Policy Qualifier User Notice
355id-qt 3 : textNotice
356
357# PKIX key purpose identifiers
358!Cname server-auth
359id-kp 1 : serverAuth : TLS Web Server Authentication
360!Cname client-auth
361id-kp 2 : clientAuth : TLS Web Client Authentication
362!Cname code-sign
363id-kp 3 : codeSigning : Code Signing
364!Cname email-protect
365id-kp 4 : emailProtection : E-mail Protection
366id-kp 5 : ipsecEndSystem : IPSec End System
367id-kp 6 : ipsecTunnel : IPSec Tunnel
368id-kp 7 : ipsecUser : IPSec User
369!Cname time-stamp
370id-kp 8 : timeStamping : Time Stamping
371# From OCSP spec RFC2560
372!Cname OCSP-sign
373id-kp 9 : OCSPSigning : OCSP Signing
374id-kp 10 : DVCS : dvcs
375
376# CMP information types
377id-it 1 : id-it-caProtEncCert
378id-it 2 : id-it-signKeyPairTypes
379id-it 3 : id-it-encKeyPairTypes
380id-it 4 : id-it-preferredSymmAlg
381id-it 5 : id-it-caKeyUpdateInfo
382id-it 6 : id-it-currentCRL
383id-it 7 : id-it-unsupportedOIDs
384# obsolete
385id-it 8 : id-it-subscriptionRequest
386# obsolete
387id-it 9 : id-it-subscriptionResponse
388id-it 10 : id-it-keyPairParamReq
389id-it 11 : id-it-keyPairParamRep
390id-it 12 : id-it-revPassphrase
391id-it 13 : id-it-implicitConfirm
392id-it 14 : id-it-confirmWaitTime
393id-it 15 : id-it-origPKIMessage
394
395# CRMF registration
396id-pkip 1 : id-regCtrl
397id-pkip 2 : id-regInfo
398
399# CRMF registration controls
400id-regCtrl 1 : id-regCtrl-regToken
401id-regCtrl 2 : id-regCtrl-authenticator
402id-regCtrl 3 : id-regCtrl-pkiPublicationInfo
403id-regCtrl 4 : id-regCtrl-pkiArchiveOptions
404id-regCtrl 5 : id-regCtrl-oldCertID
405id-regCtrl 6 : id-regCtrl-protocolEncrKey
406
407# CRMF registration information
408id-regInfo 1 : id-regInfo-utf8Pairs
409id-regInfo 2 : id-regInfo-certReq
410
411# algorithms
412id-alg 1 : id-alg-des40
413id-alg 2 : id-alg-noSignature
414id-alg 3 : id-alg-dh-sig-hmac-sha1
415id-alg 4 : id-alg-dh-pop
416
417# CMC controls
418id-cmc 1 : id-cmc-statusInfo
419id-cmc 2 : id-cmc-identification
420id-cmc 3 : id-cmc-identityProof
421id-cmc 4 : id-cmc-dataReturn
422id-cmc 5 : id-cmc-transactionId
423id-cmc 6 : id-cmc-senderNonce
424id-cmc 7 : id-cmc-recipientNonce
425id-cmc 8 : id-cmc-addExtensions
426id-cmc 9 : id-cmc-encryptedPOP
427id-cmc 10 : id-cmc-decryptedPOP
428id-cmc 11 : id-cmc-lraPOPWitness
429id-cmc 15 : id-cmc-getCert
430id-cmc 16 : id-cmc-getCRL
431id-cmc 17 : id-cmc-revokeRequest
432id-cmc 18 : id-cmc-regInfo
433id-cmc 19 : id-cmc-responseInfo
434id-cmc 21 : id-cmc-queryPending
435id-cmc 22 : id-cmc-popLinkRandom
436id-cmc 23 : id-cmc-popLinkWitness
437id-cmc 24 : id-cmc-confirmCertAcceptance
438
439# other names
440id-on 1 : id-on-personalData
441
442# personal data attributes
443id-pda 1 : id-pda-dateOfBirth
444id-pda 2 : id-pda-placeOfBirth
445id-pda 3 : id-pda-gender
446id-pda 4 : id-pda-countryOfCitizenship
447id-pda 5 : id-pda-countryOfResidence
448
449# attribute certificate attributes
450id-aca 1 : id-aca-authenticationInfo
451id-aca 2 : id-aca-accessIdentity
452id-aca 3 : id-aca-chargingIdentity
453id-aca 4 : id-aca-group
454# attention : the following seems to be obsolete, replace by 'role'
455id-aca 5 : id-aca-role
456id-aca 6 : id-aca-encAttrs
457
458# qualified certificate statements
459id-qcs 1 : id-qcs-pkixQCSyntax-v1
460
461# CMC content types
462id-cct 1 : id-cct-crs
463id-cct 2 : id-cct-PKIData
464id-cct 3 : id-cct-PKIResponse
465
466# Predefined Proxy Certificate policy languages
467id-ppl 0 : id-ppl-anyLanguage : Any language
468id-ppl 1 : id-ppl-inheritAll : Inherit all
469id-ppl 2 : id-ppl-independent : Independent
470
471# access descriptors for authority info access extension
472!Cname ad-OCSP
473id-ad 1 : OCSP : OCSP
474!Cname ad-ca-issuers
475id-ad 2 : caIssuers : CA Issuers
476!Cname ad-timeStamping
477id-ad 3 : ad_timestamping : AD Time Stamping
478!Cname ad-dvcs
479id-ad 4 : AD_DVCS : ad dvcs
480
481
482!Alias id-pkix-OCSP ad-OCSP
483!module id-pkix-OCSP
484!Cname basic
485id-pkix-OCSP 1 : basicOCSPResponse : Basic OCSP Response
486id-pkix-OCSP 2 : Nonce : OCSP Nonce
487id-pkix-OCSP 3 : CrlID : OCSP CRL ID
488id-pkix-OCSP 4 : acceptableResponses : Acceptable OCSP Responses
489id-pkix-OCSP 5 : noCheck : OCSP No Check
490id-pkix-OCSP 6 : archiveCutoff : OCSP Archive Cutoff
491id-pkix-OCSP 7 : serviceLocator : OCSP Service Locator
492id-pkix-OCSP 8 : extendedStatus : Extended OCSP Status
493id-pkix-OCSP 9 : valid
494id-pkix-OCSP 10 : path
495id-pkix-OCSP 11 : trustRoot : Trust Root
496!global
497
4981 3 14 3 2 : algorithm : algorithm
499algorithm 3 : RSA-NP-MD5 : md5WithRSA
500algorithm 6 : DES-ECB : des-ecb
501algorithm 7 : DES-CBC : des-cbc
502!Cname des-ofb64
503algorithm 8 : DES-OFB : des-ofb
504!Cname des-cfb64
505algorithm 9 : DES-CFB : des-cfb
506algorithm 11 : rsaSignature
507!Cname dsa-2
508algorithm 12 : DSA-old : dsaEncryption-old
509algorithm 13 : DSA-SHA : dsaWithSHA
510algorithm 15 : RSA-SHA : shaWithRSAEncryption
511!Cname des-ede-ecb
512algorithm 17 : DES-EDE : des-ede
513!Cname des-ede3-ecb
514 : DES-EDE3 : des-ede3
515 : DES-EDE-CBC : des-ede-cbc
516!Cname des-ede-cfb64
517 : DES-EDE-CFB : des-ede-cfb
518!Cname des-ede3-cfb64
519 : DES-EDE3-CFB : des-ede3-cfb
520!Cname des-ede-ofb64
521 : DES-EDE-OFB : des-ede-ofb
522!Cname des-ede3-ofb64
523 : DES-EDE3-OFB : des-ede3-ofb
524 : DESX-CBC : desx-cbc
525algorithm 18 : SHA : sha
526algorithm 26 : SHA1 : sha1
527!Cname dsaWithSHA1-2
528algorithm 27 : DSA-SHA1-old : dsaWithSHA1-old
529algorithm 29 : RSA-SHA1-2 : sha1WithRSA
530
5311 3 36 3 2 1 : RIPEMD160 : ripemd160
5321 3 36 3 3 1 2 : RSA-RIPEMD160 : ripemd160WithRSA
533
534!Cname sxnet
5351 3 101 1 4 1 : SXNetID : Strong Extranet ID
536
5372 5 : X500 : directory services (X.500)
538
539X500 4 : X509
540X509 3 : CN : commonName
541X509 4 : SN : surname
542X509 5 : : serialNumber
543X509 6 : C : countryName
544X509 7 : L : localityName
545X509 8 : ST : stateOrProvinceName
546X509 9 : : streetAddress
547X509 10 : O : organizationName
548X509 11 : OU : organizationalUnitName
549X509 12 : : title
550X509 13 : : description
551X509 17 : : postalCode
552X509 41 : name : name
553X509 42 : GN : givenName
554X509 43 : : initials
555X509 44 : : generationQualifier
556X509 45 : : x500UniqueIdentifier
557X509 46 : dnQualifier : dnQualifier
558X509 65 : : pseudonym
559X509 72 : role : role
560
561X500 8 : X500algorithms : directory services - algorithms
562X500algorithms 1 1 : RSA : rsa
563X500algorithms 3 100 : RSA-MDC2 : mdc2WithRSA
564X500algorithms 3 101 : MDC2 : mdc2
565
566X500 29 : id-ce
567!Cname subject-key-identifier
568id-ce 14 : subjectKeyIdentifier : X509v3 Subject Key Identifier
569!Cname key-usage
570id-ce 15 : keyUsage : X509v3 Key Usage
571!Cname private-key-usage-period
572id-ce 16 : privateKeyUsagePeriod : X509v3 Private Key Usage Period
573!Cname subject-alt-name
574id-ce 17 : subjectAltName : X509v3 Subject Alternative Name
575!Cname issuer-alt-name
576id-ce 18 : issuerAltName : X509v3 Issuer Alternative Name
577!Cname basic-constraints
578id-ce 19 : basicConstraints : X509v3 Basic Constraints
579!Cname crl-number
580id-ce 20 : crlNumber : X509v3 CRL Number
581!Cname crl-reason
582id-ce 21 : CRLReason : X509v3 CRL Reason Code
583!Cname invalidity-date
584id-ce 24 : invalidityDate : Invalidity Date
585!Cname delta-crl
586id-ce 27 : deltaCRL : X509v3 Delta CRL Indicator
587!Cname crl-distribution-points
588id-ce 31 : crlDistributionPoints : X509v3 CRL Distribution Points
589!Cname certificate-policies
590id-ce 32 : certificatePolicies : X509v3 Certificate Policies
591!Cname authority-key-identifier
592id-ce 35 : authorityKeyIdentifier : X509v3 Authority Key Identifier
593!Cname policy-constraints
594id-ce 36 : policyConstraints : X509v3 Policy Constraints
595!Cname ext-key-usage
596id-ce 37 : extendedKeyUsage : X509v3 Extended Key Usage
597!Cname target-information
598id-ce 55 : targetInformation : X509v3 AC Targeting
599!Cname no-rev-avail
600id-ce 56 : noRevAvail : X509v3 No Revocation Available
601
602!Cname netscape
6032 16 840 1 113730 : Netscape : Netscape Communications Corp.
604!Cname netscape-cert-extension
605netscape 1 : nsCertExt : Netscape Certificate Extension
606!Cname netscape-data-type
607netscape 2 : nsDataType : Netscape Data Type
608!Cname netscape-cert-type
609netscape-cert-extension 1 : nsCertType : Netscape Cert Type
610!Cname netscape-base-url
611netscape-cert-extension 2 : nsBaseUrl : Netscape Base Url
612!Cname netscape-revocation-url
613netscape-cert-extension 3 : nsRevocationUrl : Netscape Revocation Url
614!Cname netscape-ca-revocation-url
615netscape-cert-extension 4 : nsCaRevocationUrl : Netscape CA Revocation Url
616!Cname netscape-renewal-url
617netscape-cert-extension 7 : nsRenewalUrl : Netscape Renewal Url
618!Cname netscape-ca-policy-url
619netscape-cert-extension 8 : nsCaPolicyUrl : Netscape CA Policy Url
620!Cname netscape-ssl-server-name
621netscape-cert-extension 12 : nsSslServerName : Netscape SSL Server Name
622!Cname netscape-comment
623netscape-cert-extension 13 : nsComment : Netscape Comment
624!Cname netscape-cert-sequence
625netscape-data-type 5 : nsCertSequence : Netscape Certificate Sequence
626!Cname ns-sgc
627netscape 4 1 : nsSGC : Netscape Server Gated Crypto
628
629# iso(1)
630iso 3 : ORG : org
631org 6 : DOD : dod
632dod 1 : IANA : iana
633!Alias internet iana
634
635internet 1 : directory : Directory
636internet 2 : mgmt : Management
637internet 3 : experimental : Experimental
638internet 4 : private : Private
639internet 5 : security : Security
640internet 6 : snmpv2 : SNMPv2
641# Documents refer to "internet 7" as "mail". This however leads to ambiguities
642# with RFC2798, Section 9.1.3, where "mail" is defined as the short name for
643# rfc822Mailbox. The short name is therefore here left out for a reason.
644# Subclasses of "mail", e.g. "MIME MHS" don't consitute a problem, as
645# references are realized via long name "Mail" (with capital M).
646internet 7 : : Mail
647
648Private 1 : enterprises : Enterprises
649
650# RFC 2247
651Enterprises 1466 344 : dcobject : dcObject
652
653# RFC 1495
654Mail 1 : mime-mhs : MIME MHS
655mime-mhs 1 : mime-mhs-headings : mime-mhs-headings
656mime-mhs 2 : mime-mhs-bodies : mime-mhs-bodies
657mime-mhs-headings 1 : id-hex-partial-message : id-hex-partial-message
658mime-mhs-headings 2 : id-hex-multipart-message : id-hex-multipart-message
659
660# What the hell are these OIDs, really?
661!Cname rle-compression
6621 1 1 1 666 1 : RLE : run length compression
663!Cname zlib-compression
6641 1 1 1 666 2 : ZLIB : zlib compression
665
666# AES aka Rijndael
667
668!Alias csor 2 16 840 1 101 3
669!Alias nistAlgorithms csor 4
670!Alias aes nistAlgorithms 1
671
672aes 1 : AES-128-ECB : aes-128-ecb
673aes 2 : AES-128-CBC : aes-128-cbc
674!Cname aes-128-ofb128
675aes 3 : AES-128-OFB : aes-128-ofb
676!Cname aes-128-cfb128
677aes 4 : AES-128-CFB : aes-128-cfb
678
679aes 21 : AES-192-ECB : aes-192-ecb
680aes 22 : AES-192-CBC : aes-192-cbc
681!Cname aes-192-ofb128
682aes 23 : AES-192-OFB : aes-192-ofb
683!Cname aes-192-cfb128
684aes 24 : AES-192-CFB : aes-192-cfb
685
686aes 41 : AES-256-ECB : aes-256-ecb
687aes 42 : AES-256-CBC : aes-256-cbc
688!Cname aes-256-ofb128
689aes 43 : AES-256-OFB : aes-256-ofb
690!Cname aes-256-cfb128
691aes 44 : AES-256-CFB : aes-256-cfb
692
693# There are no OIDs for these modes...
694
695 : AES-128-CFB1 : aes-128-cfb1
696 : AES-192-CFB1 : aes-192-cfb1
697 : AES-256-CFB1 : aes-256-cfb1
698 : AES-128-CFB8 : aes-128-cfb8
699 : AES-192-CFB8 : aes-192-cfb8
700 : AES-256-CFB8 : aes-256-cfb8
701 : DES-CFB1 : des-cfb1
702 : DES-CFB8 : des-cfb8
703 : DES-EDE3-CFB1 : des-ede3-cfb1
704 : DES-EDE3-CFB8 : des-ede3-cfb8
705
706# Hold instruction CRL entry extension
707!Cname hold-instruction-code
708id-ce 23 : holdInstructionCode : Hold Instruction Code
709!Alias holdInstruction X9-57 2
710!Cname hold-instruction-none
711holdInstruction 1 : holdInstructionNone : Hold Instruction None
712!Cname hold-instruction-call-issuer
713holdInstruction 2 : holdInstructionCallIssuer : Hold Instruction Call Issuer
714!Cname hold-instruction-reject
715holdInstruction 3 : holdInstructionReject : Hold Instruction Reject
716
717# OID's from CCITT. Most of this is defined in RFC 1274. A couple of
718# them are also mentioned in RFC 2247
719ccitt 9 : data
720data 2342 : pss
721pss 19200300 : ucl
722ucl 100 : pilot
723pilot 1 : : pilotAttributeType
724pilot 3 : : pilotAttributeSyntax
725pilot 4 : : pilotObjectClass
726pilot 10 : : pilotGroups
727pilotAttributeSyntax 4 : : iA5StringSyntax
728pilotAttributeSyntax 5 : : caseIgnoreIA5StringSyntax
729pilotObjectClass 3 : : pilotObject
730pilotObjectClass 4 : : pilotPerson
731pilotObjectClass 5 : account
732pilotObjectClass 6 : document
733pilotObjectClass 7 : room
734pilotObjectClass 9 : : documentSeries
735pilotObjectClass 13 : domain : Domain
736pilotObjectClass 14 : : rFC822localPart
737pilotObjectClass 15 : : dNSDomain
738pilotObjectClass 17 : : domainRelatedObject
739pilotObjectClass 18 : : friendlyCountry
740pilotObjectClass 19 : : simpleSecurityObject
741pilotObjectClass 20 : : pilotOrganization
742pilotObjectClass 21 : : pilotDSA
743pilotObjectClass 22 : : qualityLabelledData
744pilotAttributeType 1 : UID : userId
745pilotAttributeType 2 : : textEncodedORAddress
746pilotAttributeType 3 : mail : rfc822Mailbox
747pilotAttributeType 4 : info
748pilotAttributeType 5 : : favouriteDrink
749pilotAttributeType 6 : : roomNumber
750pilotAttributeType 7 : photo
751pilotAttributeType 8 : : userClass
752pilotAttributeType 9 : host
753pilotAttributeType 10 : manager
754pilotAttributeType 11 : : documentIdentifier
755pilotAttributeType 12 : : documentTitle
756pilotAttributeType 13 : : documentVersion
757pilotAttributeType 14 : : documentAuthor
758pilotAttributeType 15 : : documentLocation
759pilotAttributeType 20 : : homeTelephoneNumber
760pilotAttributeType 21 : secretary
761pilotAttributeType 22 : : otherMailbox
762pilotAttributeType 23 : : lastModifiedTime
763pilotAttributeType 24 : : lastModifiedBy
764pilotAttributeType 25 : DC : domainComponent
765pilotAttributeType 26 : : aRecord
766pilotAttributeType 27 : : pilotAttributeType27
767pilotAttributeType 28 : : mXRecord
768pilotAttributeType 29 : : nSRecord
769pilotAttributeType 30 : : sOARecord
770pilotAttributeType 31 : : cNAMERecord
771pilotAttributeType 37 : : associatedDomain
772pilotAttributeType 38 : : associatedName
773pilotAttributeType 39 : : homePostalAddress
774pilotAttributeType 40 : : personalTitle
775pilotAttributeType 41 : : mobileTelephoneNumber
776pilotAttributeType 42 : : pagerTelephoneNumber
777pilotAttributeType 43 : : friendlyCountryName
778# The following clashes with 2.5.4.45, so commented away
779#pilotAttributeType 44 : uid : uniqueIdentifier
780pilotAttributeType 45 : : organizationalStatus
781pilotAttributeType 46 : : janetMailbox
782pilotAttributeType 47 : : mailPreferenceOption
783pilotAttributeType 48 : : buildingName
784pilotAttributeType 49 : : dSAQuality
785pilotAttributeType 50 : : singleLevelQuality
786pilotAttributeType 51 : : subtreeMinimumQuality
787pilotAttributeType 52 : : subtreeMaximumQuality
788pilotAttributeType 53 : : personalSignature
789pilotAttributeType 54 : : dITRedirect
790pilotAttributeType 55 : audio
791pilotAttributeType 56 : : documentPublisher
792
7932 23 42 : id-set : Secure Electronic Transactions
794
795id-set 0 : set-ctype : content types
796id-set 1 : set-msgExt : message extensions
797id-set 3 : set-attr
798id-set 5 : set-policy
799id-set 7 : set-certExt : certificate extensions
800id-set 8 : set-brand
801
802set-ctype 0 : setct-PANData
803set-ctype 1 : setct-PANToken
804set-ctype 2 : setct-PANOnly
805set-ctype 3 : setct-OIData
806set-ctype 4 : setct-PI
807set-ctype 5 : setct-PIData
808set-ctype 6 : setct-PIDataUnsigned
809set-ctype 7 : setct-HODInput
810set-ctype 8 : setct-AuthResBaggage
811set-ctype 9 : setct-AuthRevReqBaggage
812set-ctype 10 : setct-AuthRevResBaggage
813set-ctype 11 : setct-CapTokenSeq
814set-ctype 12 : setct-PInitResData
815set-ctype 13 : setct-PI-TBS
816set-ctype 14 : setct-PResData
817set-ctype 16 : setct-AuthReqTBS
818set-ctype 17 : setct-AuthResTBS
819set-ctype 18 : setct-AuthResTBSX
820set-ctype 19 : setct-AuthTokenTBS
821set-ctype 20 : setct-CapTokenData
822set-ctype 21 : setct-CapTokenTBS
823set-ctype 22 : setct-AcqCardCodeMsg
824set-ctype 23 : setct-AuthRevReqTBS
825set-ctype 24 : setct-AuthRevResData
826set-ctype 25 : setct-AuthRevResTBS
827set-ctype 26 : setct-CapReqTBS
828set-ctype 27 : setct-CapReqTBSX
829set-ctype 28 : setct-CapResData
830set-ctype 29 : setct-CapRevReqTBS
831set-ctype 30 : setct-CapRevReqTBSX
832set-ctype 31 : setct-CapRevResData
833set-ctype 32 : setct-CredReqTBS
834set-ctype 33 : setct-CredReqTBSX
835set-ctype 34 : setct-CredResData
836set-ctype 35 : setct-CredRevReqTBS
837set-ctype 36 : setct-CredRevReqTBSX
838set-ctype 37 : setct-CredRevResData
839set-ctype 38 : setct-PCertReqData
840set-ctype 39 : setct-PCertResTBS
841set-ctype 40 : setct-BatchAdminReqData
842set-ctype 41 : setct-BatchAdminResData
843set-ctype 42 : setct-CardCInitResTBS
844set-ctype 43 : setct-MeAqCInitResTBS
845set-ctype 44 : setct-RegFormResTBS
846set-ctype 45 : setct-CertReqData
847set-ctype 46 : setct-CertReqTBS
848set-ctype 47 : setct-CertResData
849set-ctype 48 : setct-CertInqReqTBS
850set-ctype 49 : setct-ErrorTBS
851set-ctype 50 : setct-PIDualSignedTBE
852set-ctype 51 : setct-PIUnsignedTBE
853set-ctype 52 : setct-AuthReqTBE
854set-ctype 53 : setct-AuthResTBE
855set-ctype 54 : setct-AuthResTBEX
856set-ctype 55 : setct-AuthTokenTBE
857set-ctype 56 : setct-CapTokenTBE
858set-ctype 57 : setct-CapTokenTBEX
859set-ctype 58 : setct-AcqCardCodeMsgTBE
860set-ctype 59 : setct-AuthRevReqTBE
861set-ctype 60 : setct-AuthRevResTBE
862set-ctype 61 : setct-AuthRevResTBEB
863set-ctype 62 : setct-CapReqTBE
864set-ctype 63 : setct-CapReqTBEX
865set-ctype 64 : setct-CapResTBE
866set-ctype 65 : setct-CapRevReqTBE
867set-ctype 66 : setct-CapRevReqTBEX
868set-ctype 67 : setct-CapRevResTBE
869set-ctype 68 : setct-CredReqTBE
870set-ctype 69 : setct-CredReqTBEX
871set-ctype 70 : setct-CredResTBE
872set-ctype 71 : setct-CredRevReqTBE
873set-ctype 72 : setct-CredRevReqTBEX
874set-ctype 73 : setct-CredRevResTBE
875set-ctype 74 : setct-BatchAdminReqTBE
876set-ctype 75 : setct-BatchAdminResTBE
877set-ctype 76 : setct-RegFormReqTBE
878set-ctype 77 : setct-CertReqTBE
879set-ctype 78 : setct-CertReqTBEX
880set-ctype 79 : setct-CertResTBE
881set-ctype 80 : setct-CRLNotificationTBS
882set-ctype 81 : setct-CRLNotificationResTBS
883set-ctype 82 : setct-BCIDistributionTBS
884
885set-msgExt 1 : setext-genCrypt : generic cryptogram
886set-msgExt 3 : setext-miAuth : merchant initiated auth
887set-msgExt 4 : setext-pinSecure
888set-msgExt 5 : setext-pinAny
889set-msgExt 7 : setext-track2
890set-msgExt 8 : setext-cv : additional verification
891
892set-policy 0 : set-policy-root
893
894set-certExt 0 : setCext-hashedRoot
895set-certExt 1 : setCext-certType
896set-certExt 2 : setCext-merchData
897set-certExt 3 : setCext-cCertRequired
898set-certExt 4 : setCext-tunneling
899set-certExt 5 : setCext-setExt
900set-certExt 6 : setCext-setQualf
901set-certExt 7 : setCext-PGWYcapabilities
902set-certExt 8 : setCext-TokenIdentifier
903set-certExt 9 : setCext-Track2Data
904set-certExt 10 : setCext-TokenType
905set-certExt 11 : setCext-IssuerCapabilities
906
907set-attr 0 : setAttr-Cert
908set-attr 1 : setAttr-PGWYcap : payment gateway capabilities
909set-attr 2 : setAttr-TokenType
910set-attr 3 : setAttr-IssCap : issuer capabilities
911
912setAttr-Cert 0 : set-rootKeyThumb
913setAttr-Cert 1 : set-addPolicy
914
915setAttr-TokenType 1 : setAttr-Token-EMV
916setAttr-TokenType 2 : setAttr-Token-B0Prime
917
918setAttr-IssCap 3 : setAttr-IssCap-CVM
919setAttr-IssCap 4 : setAttr-IssCap-T2
920setAttr-IssCap 5 : setAttr-IssCap-Sig
921
922setAttr-IssCap-CVM 1 : setAttr-GenCryptgrm : generate cryptogram
923setAttr-IssCap-T2 1 : setAttr-T2Enc : encrypted track 2
924setAttr-IssCap-T2 2 : setAttr-T2cleartxt : cleartext track 2
925
926setAttr-IssCap-Sig 1 : setAttr-TokICCsig : ICC or token signature
927setAttr-IssCap-Sig 2 : setAttr-SecDevSig : secure device signature
928
929set-brand 1 : set-brand-IATA-ATA
930set-brand 30 : set-brand-Diners
931set-brand 34 : set-brand-AmericanExpress
932set-brand 35 : set-brand-JCB
933set-brand 4 : set-brand-Visa
934set-brand 5 : set-brand-MasterCard
935set-brand 6011 : set-brand-Novus
936
937rsadsi 3 10 : DES-CDMF : des-cdmf
938rsadsi 1 1 6 : rsaOAEPEncryptionSET