diff options
author | beck <> | 1999-09-29 04:37:45 +0000 |
---|---|---|
committer | beck <> | 1999-09-29 04:37:45 +0000 |
commit | de8f24ea083384bb66b32ec105dc4743c5663cdf (patch) | |
tree | 1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/objects | |
parent | cb929d29896bcb87c2a97417fbd03e50078fc178 (diff) | |
download | openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2 openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip |
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/objects')
-rw-r--r-- | src/lib/libcrypto/objects/Makefile.ssl | 66 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/o_names.c | 243 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/obj_dat.c | 269 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/obj_dat.h | 656 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/obj_dat.pl | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/obj_err.c | 118 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/obj_lib.c | 32 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/objects.err | 12 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/objects.h | 316 |
9 files changed, 817 insertions, 899 deletions
diff --git a/src/lib/libcrypto/objects/Makefile.ssl b/src/lib/libcrypto/objects/Makefile.ssl index 320523cea1..a3a15c13c1 100644 --- a/src/lib/libcrypto/objects/Makefile.ssl +++ b/src/lib/libcrypto/objects/Makefile.ssl | |||
@@ -7,23 +7,23 @@ TOP= ../.. | |||
7 | CC= cc | 7 | CC= cc |
8 | INCLUDES= -I.. -I../../include | 8 | INCLUDES= -I.. -I../../include |
9 | CFLAG=-g | 9 | CFLAG=-g |
10 | INSTALL_PREFIX= | ||
11 | OPENSSLDIR= /usr/local/ssl | ||
10 | INSTALLTOP=/usr/local/ssl | 12 | INSTALLTOP=/usr/local/ssl |
11 | MAKE= make -f Makefile.ssl | 13 | MAKE= make -f Makefile.ssl |
12 | MAKEDEPEND= makedepend -f Makefile.ssl | 14 | MAKEDEPEND= $(TOP)/util/domd $(TOP) |
13 | MAKEFILE= Makefile.ssl | 15 | MAKEFILE= Makefile.ssl |
14 | AR= ar r | 16 | AR= ar r |
15 | 17 | ||
16 | CFLAGS= $(INCLUDES) $(CFLAG) | 18 | CFLAGS= $(INCLUDES) $(CFLAG) |
17 | 19 | ||
18 | ERR=objects | ||
19 | ERRC=obj_err | ||
20 | GENERAL=Makefile README | 20 | GENERAL=Makefile README |
21 | TEST= | 21 | TEST= |
22 | APPS= | 22 | APPS= |
23 | 23 | ||
24 | LIB=$(TOP)/libcrypto.a | 24 | LIB=$(TOP)/libcrypto.a |
25 | LIBSRC= obj_dat.c obj_lib.c $(ERRC).c | 25 | LIBSRC= o_names.c obj_dat.c obj_lib.c obj_err.c |
26 | LIBOBJ= obj_dat.o obj_lib.o $(ERRC).o | 26 | LIBOBJ= o_names.o obj_dat.o obj_lib.o obj_err.o |
27 | 27 | ||
28 | SRC= $(LIBSRC) | 28 | SRC= $(LIBSRC) |
29 | 29 | ||
@@ -38,28 +38,27 @@ top: | |||
38 | all: obj_dat.h lib | 38 | all: obj_dat.h lib |
39 | 39 | ||
40 | obj_dat.h: objects.h obj_dat.pl | 40 | obj_dat.h: objects.h obj_dat.pl |
41 | perl ./obj_dat.pl < objects.h > obj_dat.h | 41 | $(PERL) ./obj_dat.pl < objects.h > obj_dat.h |
42 | 42 | ||
43 | lib: $(LIBOBJ) | 43 | lib: $(LIBOBJ) |
44 | $(AR) $(LIB) $(LIBOBJ) | 44 | $(AR) $(LIB) $(LIBOBJ) |
45 | sh $(TOP)/util/ranlib.sh $(LIB) | 45 | $(RANLIB) $(LIB) |
46 | @touch lib | 46 | @touch lib |
47 | 47 | ||
48 | files: | 48 | files: |
49 | perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO | 49 | $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO |
50 | 50 | ||
51 | links: | 51 | links: |
52 | /bin/rm -f Makefile | 52 | @$(TOP)/util/point.sh Makefile.ssl Makefile |
53 | $(TOP)/util/point.sh Makefile.ssl Makefile ; | 53 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) |
54 | $(TOP)/util/mklink.sh ../../include $(EXHEADER) | 54 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) |
55 | $(TOP)/util/mklink.sh ../../test $(TEST) | 55 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) |
56 | $(TOP)/util/mklink.sh ../../apps $(APPS) | ||
57 | 56 | ||
58 | install: | 57 | install: |
59 | @for i in $(EXHEADER) ; \ | 58 | @for i in $(EXHEADER) ; \ |
60 | do \ | 59 | do \ |
61 | (cp $$i $(INSTALLTOP)/include/$$i; \ | 60 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ |
62 | chmod 644 $(INSTALLTOP)/include/$$i ); \ | 61 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ |
63 | done; | 62 | done; |
64 | 63 | ||
65 | tags: | 64 | tags: |
@@ -71,17 +70,40 @@ lint: | |||
71 | lint -DLINT $(INCLUDES) $(SRC)>fluff | 70 | lint -DLINT $(INCLUDES) $(SRC)>fluff |
72 | 71 | ||
73 | depend: | 72 | depend: |
74 | $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC) | 73 | $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC) |
75 | 74 | ||
76 | dclean: | 75 | dclean: |
77 | perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | 76 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new |
78 | mv -f Makefile.new $(MAKEFILE) | 77 | mv -f Makefile.new $(MAKEFILE) |
79 | 78 | ||
80 | clean: | 79 | clean: |
81 | /bin/rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | 80 | rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff |
82 | |||
83 | errors: | ||
84 | perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h | ||
85 | perl ../err/err_genc.pl -s $(ERR).h $(ERRC).c | ||
86 | 81 | ||
87 | # DO NOT DELETE THIS LINE -- make depend depends on it. | 82 | # DO NOT DELETE THIS LINE -- make depend depends on it. |
83 | |||
84 | o_names.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
85 | o_names.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h | ||
86 | o_names.o: ../../include/openssl/lhash.h ../../include/openssl/objects.h | ||
87 | o_names.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
88 | o_names.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
89 | obj_dat.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
90 | obj_dat.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h | ||
91 | obj_dat.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h | ||
92 | obj_dat.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
93 | obj_dat.o: ../../include/openssl/lhash.h ../../include/openssl/objects.h | ||
94 | obj_dat.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
95 | obj_dat.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
96 | obj_dat.o: ../cryptlib.h obj_dat.h | ||
97 | obj_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
98 | obj_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h | ||
99 | obj_err.o: ../../include/openssl/err.h ../../include/openssl/objects.h | ||
100 | obj_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
101 | obj_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
102 | obj_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h | ||
103 | obj_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h | ||
104 | obj_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h | ||
105 | obj_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
106 | obj_lib.o: ../../include/openssl/lhash.h ../../include/openssl/objects.h | ||
107 | obj_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
108 | obj_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
109 | obj_lib.o: ../cryptlib.h | ||
diff --git a/src/lib/libcrypto/objects/o_names.c b/src/lib/libcrypto/objects/o_names.c new file mode 100644 index 0000000000..4da5e45b9c --- /dev/null +++ b/src/lib/libcrypto/objects/o_names.c | |||
@@ -0,0 +1,243 @@ | |||
1 | #include <stdio.h> | ||
2 | #include <stdlib.h> | ||
3 | #include <string.h> | ||
4 | |||
5 | #include <openssl/lhash.h> | ||
6 | #include <openssl/objects.h> | ||
7 | |||
8 | /* I use the ex_data stuff to manage the identifiers for the obj_name_types | ||
9 | * that applications may define. I only really use the free function field. | ||
10 | */ | ||
11 | static LHASH *names_lh=NULL; | ||
12 | static int names_type_num=OBJ_NAME_TYPE_NUM; | ||
13 | static STACK *names_cmp=NULL; | ||
14 | static STACK *names_hash=NULL; | ||
15 | static STACK *names_free=NULL; | ||
16 | |||
17 | static unsigned long obj_name_hash(OBJ_NAME *a); | ||
18 | static int obj_name_cmp(OBJ_NAME *a,OBJ_NAME *b); | ||
19 | |||
20 | int OBJ_NAME_init(void) | ||
21 | { | ||
22 | if (names_lh != NULL) return(1); | ||
23 | MemCheck_off(); | ||
24 | names_lh=lh_new(obj_name_hash,obj_name_cmp); | ||
25 | MemCheck_on(); | ||
26 | return(names_lh != NULL); | ||
27 | } | ||
28 | |||
29 | int OBJ_NAME_new_index(unsigned long (*hash_func)(), int (*cmp_func)(), | ||
30 | void (*free_func)()) | ||
31 | { | ||
32 | int ret; | ||
33 | int i; | ||
34 | |||
35 | if (names_free == NULL) | ||
36 | { | ||
37 | MemCheck_off(); | ||
38 | names_hash=sk_new_null(); | ||
39 | names_cmp=sk_new_null(); | ||
40 | names_free=sk_new_null(); | ||
41 | MemCheck_on(); | ||
42 | } | ||
43 | if ((names_free == NULL) || (names_hash == NULL) || (names_cmp == NULL)) | ||
44 | { | ||
45 | /* ERROR */ | ||
46 | return(0); | ||
47 | } | ||
48 | ret=names_type_num; | ||
49 | names_type_num++; | ||
50 | for (i=sk_num(names_free); i<names_type_num; i++) | ||
51 | { | ||
52 | MemCheck_off(); | ||
53 | sk_push(names_hash,(char *)strcmp); | ||
54 | sk_push(names_cmp,(char *)lh_strhash); | ||
55 | sk_push(names_free,NULL); | ||
56 | MemCheck_on(); | ||
57 | } | ||
58 | if (hash_func != NULL) | ||
59 | sk_set(names_hash,ret,(char *)hash_func); | ||
60 | if (cmp_func != NULL) | ||
61 | sk_set(names_cmp,ret,(char *)cmp_func); | ||
62 | if (free_func != NULL) | ||
63 | sk_set(names_free,ret,(char *)free_func); | ||
64 | return(ret); | ||
65 | } | ||
66 | |||
67 | static int obj_name_cmp(OBJ_NAME *a, OBJ_NAME *b) | ||
68 | { | ||
69 | int ret; | ||
70 | int (*cmp)(); | ||
71 | |||
72 | ret=a->type-b->type; | ||
73 | if (ret == 0) | ||
74 | { | ||
75 | if ((names_cmp != NULL) && (sk_num(names_cmp) > a->type)) | ||
76 | { | ||
77 | cmp=(int (*)())sk_value(names_cmp,a->type); | ||
78 | ret=cmp(a->name,b->name); | ||
79 | } | ||
80 | else | ||
81 | ret=strcmp(a->name,b->name); | ||
82 | } | ||
83 | return(ret); | ||
84 | } | ||
85 | |||
86 | static unsigned long obj_name_hash(OBJ_NAME *a) | ||
87 | { | ||
88 | unsigned long ret; | ||
89 | unsigned long (*hash)(); | ||
90 | |||
91 | if ((names_hash != NULL) && (sk_num(names_hash) > a->type)) | ||
92 | { | ||
93 | hash=(unsigned long (*)())sk_value(names_hash,a->type); | ||
94 | ret=hash(a->name); | ||
95 | } | ||
96 | else | ||
97 | { | ||
98 | ret=lh_strhash(a->name); | ||
99 | } | ||
100 | ret^=a->type; | ||
101 | return(ret); | ||
102 | } | ||
103 | |||
104 | const char *OBJ_NAME_get(const char *name, int type) | ||
105 | { | ||
106 | OBJ_NAME on,*ret; | ||
107 | int num=0,alias; | ||
108 | |||
109 | if (name == NULL) return(NULL); | ||
110 | if ((names_lh == NULL) && !OBJ_NAME_init()) return(NULL); | ||
111 | |||
112 | alias=type&OBJ_NAME_ALIAS; | ||
113 | type&= ~OBJ_NAME_ALIAS; | ||
114 | |||
115 | on.name=name; | ||
116 | on.type=type; | ||
117 | |||
118 | for (;;) | ||
119 | { | ||
120 | ret=(OBJ_NAME *)lh_retrieve(names_lh,(char *)&on); | ||
121 | if (ret == NULL) return(NULL); | ||
122 | if ((ret->alias) && !alias) | ||
123 | { | ||
124 | if (++num > 10) return(NULL); | ||
125 | on.name=ret->data; | ||
126 | } | ||
127 | else | ||
128 | { | ||
129 | return(ret->data); | ||
130 | } | ||
131 | } | ||
132 | } | ||
133 | |||
134 | int OBJ_NAME_add(const char *name, int type, const char *data) | ||
135 | { | ||
136 | void (*f)(); | ||
137 | OBJ_NAME *onp,*ret; | ||
138 | int alias; | ||
139 | |||
140 | if ((names_lh == NULL) && !OBJ_NAME_init()) return(0); | ||
141 | |||
142 | alias=type&OBJ_NAME_ALIAS; | ||
143 | type&= ~OBJ_NAME_ALIAS; | ||
144 | |||
145 | onp=(OBJ_NAME *)Malloc(sizeof(OBJ_NAME)); | ||
146 | if (onp == NULL) | ||
147 | { | ||
148 | /* ERROR */ | ||
149 | return(0); | ||
150 | } | ||
151 | |||
152 | onp->name=name; | ||
153 | onp->alias=alias; | ||
154 | onp->type=type; | ||
155 | onp->data=data; | ||
156 | |||
157 | ret=(OBJ_NAME *)lh_insert(names_lh,(char *)onp); | ||
158 | if (ret != NULL) | ||
159 | { | ||
160 | /* free things */ | ||
161 | if ((names_free != NULL) && (sk_num(names_free) > ret->type)) | ||
162 | { | ||
163 | f=(void (*)())sk_value(names_free,ret->type); | ||
164 | f(ret->name,ret->type,ret->data); | ||
165 | } | ||
166 | Free((char *)ret); | ||
167 | } | ||
168 | else | ||
169 | { | ||
170 | if (lh_error(names_lh)) | ||
171 | { | ||
172 | /* ERROR */ | ||
173 | return(0); | ||
174 | } | ||
175 | } | ||
176 | return(1); | ||
177 | } | ||
178 | |||
179 | int OBJ_NAME_remove(const char *name, int type) | ||
180 | { | ||
181 | OBJ_NAME on,*ret; | ||
182 | void (*f)(); | ||
183 | |||
184 | if (names_lh == NULL) return(0); | ||
185 | |||
186 | type&= ~OBJ_NAME_ALIAS; | ||
187 | on.name=name; | ||
188 | on.type=type; | ||
189 | ret=(OBJ_NAME *)lh_delete(names_lh,(char *)&on); | ||
190 | if (ret != NULL) | ||
191 | { | ||
192 | /* free things */ | ||
193 | if ((names_free != NULL) && (sk_num(names_free) > type)) | ||
194 | { | ||
195 | f=(void (*)())sk_value(names_free,type); | ||
196 | f(ret->name,ret->type,ret->data); | ||
197 | } | ||
198 | Free((char *)ret); | ||
199 | return(1); | ||
200 | } | ||
201 | else | ||
202 | return(0); | ||
203 | } | ||
204 | |||
205 | static int free_type; | ||
206 | |||
207 | static void names_lh_free(OBJ_NAME *onp, int type) | ||
208 | { | ||
209 | if(onp == NULL) | ||
210 | return; | ||
211 | |||
212 | if ((free_type < 0) || (free_type == onp->type)) | ||
213 | { | ||
214 | OBJ_NAME_remove(onp->name,onp->type); | ||
215 | } | ||
216 | } | ||
217 | |||
218 | void OBJ_NAME_cleanup(int type) | ||
219 | { | ||
220 | unsigned long down_load; | ||
221 | |||
222 | if (names_lh == NULL) return; | ||
223 | |||
224 | free_type=type; | ||
225 | down_load=names_lh->down_load; | ||
226 | names_lh->down_load=0; | ||
227 | |||
228 | lh_doall(names_lh,names_lh_free); | ||
229 | if (type < 0) | ||
230 | { | ||
231 | lh_free(names_lh); | ||
232 | sk_free(names_hash); | ||
233 | sk_free(names_cmp); | ||
234 | sk_free(names_free); | ||
235 | names_lh=NULL; | ||
236 | names_hash=NULL; | ||
237 | names_cmp=NULL; | ||
238 | names_free=NULL; | ||
239 | } | ||
240 | else | ||
241 | names_lh->down_load=down_load; | ||
242 | } | ||
243 | |||
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c index 34866ebbd2..d47b874399 100644 --- a/src/lib/libcrypto/objects/obj_dat.c +++ b/src/lib/libcrypto/objects/obj_dat.c | |||
@@ -59,23 +59,29 @@ | |||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include <ctype.h> | 60 | #include <ctype.h> |
61 | #include "cryptlib.h" | 61 | #include "cryptlib.h" |
62 | #include "lhash.h" | 62 | #include <openssl/lhash.h> |
63 | #include "asn1.h" | 63 | #include <openssl/asn1.h> |
64 | #include "objects.h" | 64 | #include <openssl/objects.h> |
65 | 65 | ||
66 | /* obj_dat.h is generated from objects.h by obj_dat.pl */ | 66 | /* obj_dat.h is generated from objects.h by obj_dat.pl */ |
67 | #ifndef NO_OBJECT | ||
67 | #include "obj_dat.h" | 68 | #include "obj_dat.h" |
69 | #else | ||
70 | /* You will have to load all the objects needed manually in the application */ | ||
71 | #define NUM_NID 0 | ||
72 | #define NUM_SN 0 | ||
73 | #define NUM_LN 0 | ||
74 | #define NUM_OBJ 0 | ||
75 | static unsigned char lvalues[1]; | ||
76 | static ASN1_OBJECT nid_objs[1]; | ||
77 | static ASN1_OBJECT *sn_objs[1]; | ||
78 | static ASN1_OBJECT *ln_objs[1]; | ||
79 | static ASN1_OBJECT *obj_objs[1]; | ||
80 | #endif | ||
68 | 81 | ||
69 | #ifndef NOPROTO | ||
70 | static int sn_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); | 82 | static int sn_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); |
71 | static int ln_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); | 83 | static int ln_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); |
72 | static int obj_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); | 84 | static int obj_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); |
73 | #else | ||
74 | static int sn_cmp(); | ||
75 | static int ln_cmp(); | ||
76 | static int obj_cmp(); | ||
77 | #endif | ||
78 | |||
79 | #define ADDED_DATA 0 | 85 | #define ADDED_DATA 0 |
80 | #define ADDED_SNAME 1 | 86 | #define ADDED_SNAME 1 |
81 | #define ADDED_LNAME 2 | 87 | #define ADDED_LNAME 2 |
@@ -90,18 +96,13 @@ typedef struct added_obj_st | |||
90 | static int new_nid=NUM_NID; | 96 | static int new_nid=NUM_NID; |
91 | static LHASH *added=NULL; | 97 | static LHASH *added=NULL; |
92 | 98 | ||
93 | static int sn_cmp(ap,bp) | 99 | static int sn_cmp(ASN1_OBJECT **ap, ASN1_OBJECT **bp) |
94 | ASN1_OBJECT **ap; | ||
95 | ASN1_OBJECT **bp; | ||
96 | { return(strcmp((*ap)->sn,(*bp)->sn)); } | 100 | { return(strcmp((*ap)->sn,(*bp)->sn)); } |
97 | 101 | ||
98 | static int ln_cmp(ap,bp) | 102 | static int ln_cmp(ASN1_OBJECT **ap, ASN1_OBJECT **bp) |
99 | ASN1_OBJECT **ap; | ||
100 | ASN1_OBJECT **bp; | ||
101 | { return(strcmp((*ap)->ln,(*bp)->ln)); } | 103 | { return(strcmp((*ap)->ln,(*bp)->ln)); } |
102 | 104 | ||
103 | static unsigned long add_hash(ca) | 105 | static unsigned long add_hash(ADDED_OBJ *ca) |
104 | ADDED_OBJ *ca; | ||
105 | { | 106 | { |
106 | ASN1_OBJECT *a; | 107 | ASN1_OBJECT *a; |
107 | int i; | 108 | int i; |
@@ -134,8 +135,7 @@ ADDED_OBJ *ca; | |||
134 | return(ret); | 135 | return(ret); |
135 | } | 136 | } |
136 | 137 | ||
137 | static int add_cmp(ca,cb) | 138 | static int add_cmp(ADDED_OBJ *ca, ADDED_OBJ *cb) |
138 | ADDED_OBJ *ca,*cb; | ||
139 | { | 139 | { |
140 | ASN1_OBJECT *a,*b; | 140 | ASN1_OBJECT *a,*b; |
141 | int i; | 141 | int i; |
@@ -163,36 +163,35 @@ ADDED_OBJ *ca,*cb; | |||
163 | default: | 163 | default: |
164 | abort(); | 164 | abort(); |
165 | } | 165 | } |
166 | return(1); /* should not get here */ | ||
166 | } | 167 | } |
167 | 168 | ||
168 | static int init_added() | 169 | static int init_added(void) |
169 | { | 170 | { |
170 | if (added != NULL) return(1); | 171 | if (added != NULL) return(1); |
171 | added=lh_new(add_hash,add_cmp); | 172 | added=lh_new(add_hash,add_cmp); |
172 | return(added != NULL); | 173 | return(added != NULL); |
173 | } | 174 | } |
174 | 175 | ||
175 | static void cleanup1(a) | 176 | static void cleanup1(ADDED_OBJ *a) |
176 | ADDED_OBJ *a; | ||
177 | { | 177 | { |
178 | a->obj->nid=0; | 178 | a->obj->nid=0; |
179 | a->obj->flags|=ASN1_OBJECT_FLAG_DYNAMIC| | 179 | a->obj->flags|=ASN1_OBJECT_FLAG_DYNAMIC| |
180 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS; | 180 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS| |
181 | ASN1_OBJECT_FLAG_DYNAMIC_DATA; | ||
181 | } | 182 | } |
182 | 183 | ||
183 | static void cleanup2(a) | 184 | static void cleanup2(ADDED_OBJ *a) |
184 | ADDED_OBJ *a; | ||
185 | { a->obj->nid++; } | 185 | { a->obj->nid++; } |
186 | 186 | ||
187 | static void cleanup3(a) | 187 | static void cleanup3(ADDED_OBJ *a) |
188 | ADDED_OBJ *a; | ||
189 | { | 188 | { |
190 | if (--a->obj->nid == 0) | 189 | if (--a->obj->nid == 0) |
191 | ASN1_OBJECT_free(a->obj); | 190 | ASN1_OBJECT_free(a->obj); |
192 | Free(a); | 191 | Free(a); |
193 | } | 192 | } |
194 | 193 | ||
195 | void OBJ_cleanup() | 194 | void OBJ_cleanup(void) |
196 | { | 195 | { |
197 | if (added == NULL) return; | 196 | if (added == NULL) return; |
198 | added->down_load=0; | 197 | added->down_load=0; |
@@ -203,8 +202,7 @@ void OBJ_cleanup() | |||
203 | added=NULL; | 202 | added=NULL; |
204 | } | 203 | } |
205 | 204 | ||
206 | int OBJ_new_nid(num) | 205 | int OBJ_new_nid(int num) |
207 | int num; | ||
208 | { | 206 | { |
209 | int i; | 207 | int i; |
210 | 208 | ||
@@ -213,8 +211,7 @@ int num; | |||
213 | return(i); | 211 | return(i); |
214 | } | 212 | } |
215 | 213 | ||
216 | int OBJ_add_object(obj) | 214 | int OBJ_add_object(ASN1_OBJECT *obj) |
217 | ASN1_OBJECT *obj; | ||
218 | { | 215 | { |
219 | ASN1_OBJECT *o; | 216 | ASN1_OBJECT *o; |
220 | ADDED_OBJ *ao[4],*aop; | 217 | ADDED_OBJ *ao[4],*aop; |
@@ -247,7 +244,9 @@ ASN1_OBJECT *obj; | |||
247 | Free(aop); | 244 | Free(aop); |
248 | } | 245 | } |
249 | } | 246 | } |
250 | o->flags&= ~(ASN1_OBJECT_FLAG_DYNAMIC|ASN1_OBJECT_FLAG_DYNAMIC_STRINGS); | 247 | o->flags&= ~(ASN1_OBJECT_FLAG_DYNAMIC|ASN1_OBJECT_FLAG_DYNAMIC_STRINGS| |
248 | ASN1_OBJECT_FLAG_DYNAMIC_DATA); | ||
249 | |||
251 | return(o->nid); | 250 | return(o->nid); |
252 | err: | 251 | err: |
253 | for (i=ADDED_DATA; i<=ADDED_NID; i++) | 252 | for (i=ADDED_DATA; i<=ADDED_NID; i++) |
@@ -256,8 +255,7 @@ err: | |||
256 | return(NID_undef); | 255 | return(NID_undef); |
257 | } | 256 | } |
258 | 257 | ||
259 | ASN1_OBJECT *OBJ_nid2obj(n) | 258 | ASN1_OBJECT *OBJ_nid2obj(int n) |
260 | int n; | ||
261 | { | 259 | { |
262 | ADDED_OBJ ad,*adp; | 260 | ADDED_OBJ ad,*adp; |
263 | ASN1_OBJECT ob; | 261 | ASN1_OBJECT ob; |
@@ -289,8 +287,7 @@ int n; | |||
289 | } | 287 | } |
290 | } | 288 | } |
291 | 289 | ||
292 | char *OBJ_nid2sn(n) | 290 | const char *OBJ_nid2sn(int n) |
293 | int n; | ||
294 | { | 291 | { |
295 | ADDED_OBJ ad,*adp; | 292 | ADDED_OBJ ad,*adp; |
296 | ASN1_OBJECT ob; | 293 | ASN1_OBJECT ob; |
@@ -322,8 +319,7 @@ int n; | |||
322 | } | 319 | } |
323 | } | 320 | } |
324 | 321 | ||
325 | char *OBJ_nid2ln(n) | 322 | const char *OBJ_nid2ln(int n) |
326 | int n; | ||
327 | { | 323 | { |
328 | ADDED_OBJ ad,*adp; | 324 | ADDED_OBJ ad,*adp; |
329 | ASN1_OBJECT ob; | 325 | ASN1_OBJECT ob; |
@@ -355,8 +351,7 @@ int n; | |||
355 | } | 351 | } |
356 | } | 352 | } |
357 | 353 | ||
358 | int OBJ_obj2nid(a) | 354 | int OBJ_obj2nid(ASN1_OBJECT *a) |
359 | ASN1_OBJECT *a; | ||
360 | { | 355 | { |
361 | ASN1_OBJECT **op; | 356 | ASN1_OBJECT **op; |
362 | ADDED_OBJ ad,*adp; | 357 | ADDED_OBJ ad,*adp; |
@@ -380,45 +375,126 @@ ASN1_OBJECT *a; | |||
380 | return((*op)->nid); | 375 | return((*op)->nid); |
381 | } | 376 | } |
382 | 377 | ||
383 | int OBJ_txt2nid(s) | 378 | /* Convert an object name into an ASN1_OBJECT |
384 | char *s; | 379 | * if "noname" is not set then search for short and long names first. |
380 | * This will convert the "dotted" form into an object: unlike OBJ_txt2nid | ||
381 | * it can be used with any objects, not just registered ones. | ||
382 | */ | ||
383 | |||
384 | ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) | ||
385 | { | 385 | { |
386 | int ret; | 386 | int nid = NID_undef; |
387 | ASN1_OBJECT *op=NULL; | ||
388 | unsigned char *buf,*p; | ||
389 | int i, j; | ||
387 | 390 | ||
388 | ret=OBJ_sn2nid(s); | 391 | if(!no_name) { |
389 | if (ret == NID_undef) | 392 | if( ((nid = OBJ_sn2nid(s)) != NID_undef) || |
390 | { | 393 | ((nid = OBJ_ln2nid(s)) != NID_undef) ) |
391 | ret=OBJ_ln2nid(s); | 394 | return OBJ_nid2obj(nid); |
392 | if (ret == NID_undef) | 395 | } |
393 | { | ||
394 | ASN1_OBJECT *op=NULL; | ||
395 | unsigned char *buf,*p; | ||
396 | int i; | ||
397 | 396 | ||
398 | i=a2d_ASN1_OBJECT(NULL,0,s,-1); | 397 | /* Work out size of content octets */ |
399 | if (i <= 0) | 398 | i=a2d_ASN1_OBJECT(NULL,0,s,-1); |
400 | { | 399 | if (i <= 0) { |
401 | /* clear the error */ | 400 | /* Clear the error */ |
402 | ERR_get_error(); | 401 | ERR_get_error(); |
403 | return(0); | 402 | return NULL; |
404 | } | 403 | } |
404 | /* Work out total size */ | ||
405 | j = ASN1_object_size(0,i,V_ASN1_OBJECT); | ||
406 | |||
407 | if((buf=(unsigned char *)Malloc(j)) == NULL) return NULL; | ||
408 | |||
409 | p = buf; | ||
410 | /* Write out tag+length */ | ||
411 | ASN1_put_object(&p,0,i,V_ASN1_OBJECT,V_ASN1_UNIVERSAL); | ||
412 | /* Write out contents */ | ||
413 | a2d_ASN1_OBJECT(p,i,s,-1); | ||
414 | |||
415 | p=buf; | ||
416 | op=d2i_ASN1_OBJECT(NULL,&p,i); | ||
417 | Free(buf); | ||
418 | return op; | ||
419 | } | ||
420 | |||
421 | int OBJ_obj2txt(char *buf, int buf_len, ASN1_OBJECT *a, int no_name) | ||
422 | { | ||
423 | int i,idx=0,n=0,len,nid; | ||
424 | unsigned long l; | ||
425 | unsigned char *p; | ||
426 | const char *s; | ||
427 | char tbuf[32]; | ||
428 | |||
429 | if (buf_len <= 0) return(0); | ||
430 | |||
431 | if ((a == NULL) || (a->data == NULL)) { | ||
432 | buf[0]='\0'; | ||
433 | return(0); | ||
434 | } | ||
405 | 435 | ||
406 | if ((buf=(unsigned char *)Malloc(i)) == NULL) | 436 | nid=OBJ_obj2nid(a); |
407 | return(NID_undef); | 437 | if ((nid == NID_undef) || no_name) { |
408 | a2d_ASN1_OBJECT(buf,i,s,-1); | 438 | len=a->length; |
409 | p=buf; | 439 | p=a->data; |
410 | op=d2i_ASN1_OBJECT(NULL,&p,i); | 440 | |
411 | if (op == NULL) return(NID_undef); | 441 | idx=0; |
412 | ret=OBJ_obj2nid(op); | 442 | l=0; |
413 | ASN1_OBJECT_free(op); | 443 | while (idx < a->length) { |
414 | Free(buf); | 444 | l|=(p[idx]&0x7f); |
445 | if (!(p[idx] & 0x80)) break; | ||
446 | l<<=7L; | ||
447 | idx++; | ||
448 | } | ||
449 | idx++; | ||
450 | i=(int)(l/40); | ||
451 | if (i > 2) i=2; | ||
452 | l-=(long)(i*40); | ||
453 | |||
454 | sprintf(tbuf,"%d.%lu",i,l); | ||
455 | i=strlen(tbuf); | ||
456 | strncpy(buf,tbuf,buf_len); | ||
457 | buf_len-=i; | ||
458 | buf+=i; | ||
459 | n+=i; | ||
460 | |||
461 | l=0; | ||
462 | for (; idx<len; idx++) { | ||
463 | l|=p[idx]&0x7f; | ||
464 | if (!(p[idx] & 0x80)) { | ||
465 | sprintf(tbuf,".%lu",l); | ||
466 | i=strlen(tbuf); | ||
467 | if (buf_len > 0) | ||
468 | strncpy(buf,tbuf,buf_len); | ||
469 | buf_len-=i; | ||
470 | buf+=i; | ||
471 | n+=i; | ||
472 | l=0; | ||
415 | } | 473 | } |
474 | l<<=7L; | ||
416 | } | 475 | } |
417 | return(ret); | 476 | } else { |
477 | s=OBJ_nid2ln(nid); | ||
478 | if (s == NULL) | ||
479 | s=OBJ_nid2sn(nid); | ||
480 | strncpy(buf,s,buf_len); | ||
481 | n=strlen(s); | ||
418 | } | 482 | } |
483 | buf[buf_len-1]='\0'; | ||
484 | return(n); | ||
485 | } | ||
419 | 486 | ||
420 | int OBJ_ln2nid(s) | 487 | int OBJ_txt2nid(char *s) |
421 | char *s; | 488 | { |
489 | ASN1_OBJECT *obj; | ||
490 | int nid; | ||
491 | obj = OBJ_txt2obj(s, 0); | ||
492 | nid = OBJ_obj2nid(obj); | ||
493 | ASN1_OBJECT_free(obj); | ||
494 | return nid; | ||
495 | } | ||
496 | |||
497 | int OBJ_ln2nid(const char *s) | ||
422 | { | 498 | { |
423 | ASN1_OBJECT o,*oo= &o,**op; | 499 | ASN1_OBJECT o,*oo= &o,**op; |
424 | ADDED_OBJ ad,*adp; | 500 | ADDED_OBJ ad,*adp; |
@@ -437,8 +513,7 @@ char *s; | |||
437 | return((*op)->nid); | 513 | return((*op)->nid); |
438 | } | 514 | } |
439 | 515 | ||
440 | int OBJ_sn2nid(s) | 516 | int OBJ_sn2nid(const char *s) |
441 | char *s; | ||
442 | { | 517 | { |
443 | ASN1_OBJECT o,*oo= &o,**op; | 518 | ASN1_OBJECT o,*oo= &o,**op; |
444 | ADDED_OBJ ad,*adp; | 519 | ADDED_OBJ ad,*adp; |
@@ -457,9 +532,7 @@ char *s; | |||
457 | return((*op)->nid); | 532 | return((*op)->nid); |
458 | } | 533 | } |
459 | 534 | ||
460 | static int obj_cmp(ap, bp) | 535 | static int obj_cmp(ASN1_OBJECT **ap, ASN1_OBJECT **bp) |
461 | ASN1_OBJECT **ap; | ||
462 | ASN1_OBJECT **bp; | ||
463 | { | 536 | { |
464 | int j; | 537 | int j; |
465 | ASN1_OBJECT *a= *ap; | 538 | ASN1_OBJECT *a= *ap; |
@@ -470,12 +543,7 @@ ASN1_OBJECT **bp; | |||
470 | return(memcmp(a->data,b->data,a->length)); | 543 | return(memcmp(a->data,b->data,a->length)); |
471 | } | 544 | } |
472 | 545 | ||
473 | char *OBJ_bsearch(key,base,num,size,cmp) | 546 | char *OBJ_bsearch(char *key, char *base, int num, int size, int (*cmp)()) |
474 | char *key; | ||
475 | char *base; | ||
476 | int num; | ||
477 | int size; | ||
478 | int (*cmp)(); | ||
479 | { | 547 | { |
480 | int l,h,i,c; | 548 | int l,h,i,c; |
481 | char *p; | 549 | char *p; |
@@ -495,14 +563,24 @@ int (*cmp)(); | |||
495 | else | 563 | else |
496 | return(p); | 564 | return(p); |
497 | } | 565 | } |
566 | #ifdef CHARSET_EBCDIC | ||
567 | /* THIS IS A KLUDGE - Because the *_obj is sorted in ASCII order, and | ||
568 | * I don't have perl (yet), we revert to a *LINEAR* search | ||
569 | * when the object wasn't found in the binary search. | ||
570 | */ | ||
571 | for (i=0; i<num; ++i) { | ||
572 | p= &(base[i*size]); | ||
573 | if ((*cmp)(key,p) == 0) | ||
574 | return p; | ||
575 | } | ||
576 | #endif | ||
498 | return(NULL); | 577 | return(NULL); |
499 | } | 578 | } |
500 | 579 | ||
501 | int OBJ_create_objects(in) | 580 | int OBJ_create_objects(BIO *in) |
502 | BIO *in; | ||
503 | { | 581 | { |
504 | MS_STATIC char buf[512]; | 582 | MS_STATIC char buf[512]; |
505 | int i,num= -1; | 583 | int i,num=0; |
506 | char *o,*s,*l=NULL; | 584 | char *o,*s,*l=NULL; |
507 | 585 | ||
508 | for (;;) | 586 | for (;;) |
@@ -511,26 +589,26 @@ BIO *in; | |||
511 | i=BIO_gets(in,buf,512); | 589 | i=BIO_gets(in,buf,512); |
512 | if (i <= 0) return(num); | 590 | if (i <= 0) return(num); |
513 | buf[i-1]='\0'; | 591 | buf[i-1]='\0'; |
514 | if (!isalnum(buf[0])) return(num); | 592 | if (!isalnum((unsigned char)buf[0])) return(num); |
515 | o=s=buf; | 593 | o=s=buf; |
516 | while (isdigit(*s) || (*s == '.')) | 594 | while (isdigit((unsigned char)*s) || (*s == '.')) |
517 | s++; | 595 | s++; |
518 | if (*s != '\0') | 596 | if (*s != '\0') |
519 | { | 597 | { |
520 | *(s++)='\0'; | 598 | *(s++)='\0'; |
521 | while (isspace(*s)) | 599 | while (isspace((unsigned char)*s)) |
522 | s++; | 600 | s++; |
523 | if (*s == '\0') | 601 | if (*s == '\0') |
524 | s=NULL; | 602 | s=NULL; |
525 | else | 603 | else |
526 | { | 604 | { |
527 | l=s; | 605 | l=s; |
528 | while ((*l != '\0') && !isspace(*l)) | 606 | while ((*l != '\0') && !isspace((unsigned char)*l)) |
529 | l++; | 607 | l++; |
530 | if (*l != '\0') | 608 | if (*l != '\0') |
531 | { | 609 | { |
532 | *(l++)='\0'; | 610 | *(l++)='\0'; |
533 | while (isspace(*l)) | 611 | while (isspace((unsigned char)*l)) |
534 | l++; | 612 | l++; |
535 | if (*l == '\0') l=NULL; | 613 | if (*l == '\0') l=NULL; |
536 | } | 614 | } |
@@ -544,13 +622,10 @@ BIO *in; | |||
544 | if (!OBJ_create(o,s,l)) return(num); | 622 | if (!OBJ_create(o,s,l)) return(num); |
545 | num++; | 623 | num++; |
546 | } | 624 | } |
547 | return(num); | 625 | /* return(num); */ |
548 | } | 626 | } |
549 | 627 | ||
550 | int OBJ_create(oid,sn,ln) | 628 | int OBJ_create(char *oid, char *sn, char *ln) |
551 | char *oid; | ||
552 | char *sn; | ||
553 | char *ln; | ||
554 | { | 629 | { |
555 | int ok=0; | 630 | int ok=0; |
556 | ASN1_OBJECT *op=NULL; | 631 | ASN1_OBJECT *op=NULL; |
diff --git a/src/lib/libcrypto/objects/obj_dat.h b/src/lib/libcrypto/objects/obj_dat.h deleted file mode 100644 index 48143ae3c7..0000000000 --- a/src/lib/libcrypto/objects/obj_dat.h +++ /dev/null | |||
@@ -1,656 +0,0 @@ | |||
1 | /* lib/obj/obj_dat.h */ | ||
2 | /* Copyright (C) 1995-1997 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 | /* THIS FILE IS GENERATED FROM Objects.h by obj_dat.pl via the | ||
60 | * following command: | ||
61 | * perl obj_dat.pl < objects.h > obj_dat.h | ||
62 | */ | ||
63 | |||
64 | #define NUM_NID 124 | ||
65 | #define NUM_SN 95 | ||
66 | #define NUM_LN 122 | ||
67 | #define NUM_OBJ 95 | ||
68 | |||
69 | static unsigned char lvalues[600]={ | ||
70 | 0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 0] OBJ_rsadsi */ | ||
71 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 6] OBJ_pkcs */ | ||
72 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02, /* [ 13] OBJ_md2 */ | ||
73 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x05, /* [ 21] OBJ_md5 */ | ||
74 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x04, /* [ 29] OBJ_rc4 */ | ||
75 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x01,/* [ 37] OBJ_rsaEncryption */ | ||
76 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x02,/* [ 46] OBJ_md2WithRSAEncryption */ | ||
77 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x04,/* [ 55] OBJ_md5WithRSAEncryption */ | ||
78 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x01,/* [ 64] OBJ_pbeWithMD2AndDES_CBC */ | ||
79 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x03,/* [ 73] OBJ_pbeWithMD5AndDES_CBC */ | ||
80 | 0x55, /* [ 82] OBJ_X500 */ | ||
81 | 0x55,0x04, /* [ 83] OBJ_X509 */ | ||
82 | 0x55,0x04,0x03, /* [ 85] OBJ_commonName */ | ||
83 | 0x55,0x04,0x06, /* [ 88] OBJ_countryName */ | ||
84 | 0x55,0x04,0x07, /* [ 91] OBJ_localityName */ | ||
85 | 0x55,0x04,0x08, /* [ 94] OBJ_stateOrProvinceName */ | ||
86 | 0x55,0x04,0x0A, /* [ 97] OBJ_organizationName */ | ||
87 | 0x55,0x04,0x0B, /* [100] OBJ_organizationalUnitName */ | ||
88 | 0x55,0x08,0x01,0x01, /* [103] OBJ_rsa */ | ||
89 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07, /* [107] OBJ_pkcs7 */ | ||
90 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x01,/* [115] OBJ_pkcs7_data */ | ||
91 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x02,/* [124] OBJ_pkcs7_signed */ | ||
92 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x03,/* [133] OBJ_pkcs7_enveloped */ | ||
93 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x04,/* [142] OBJ_pkcs7_signedAndEnveloped */ | ||
94 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x05,/* [151] OBJ_pkcs7_digest */ | ||
95 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x07,0x06,/* [160] OBJ_pkcs7_encrypted */ | ||
96 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03, /* [169] OBJ_pkcs3 */ | ||
97 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x03,0x01,/* [177] OBJ_dhKeyAgreement */ | ||
98 | 0x2B,0x0E,0x03,0x02,0x06, /* [186] OBJ_des_ecb */ | ||
99 | 0x2B,0x0E,0x03,0x02,0x09, /* [191] OBJ_des_cfb64 */ | ||
100 | 0x2B,0x0E,0x03,0x02,0x07, /* [196] OBJ_des_cbc */ | ||
101 | 0x2B,0x0E,0x03,0x02,0x11, /* [201] OBJ_des_ede */ | ||
102 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x02, /* [206] OBJ_rc2_cbc */ | ||
103 | 0x2B,0x0E,0x03,0x02,0x12, /* [214] OBJ_sha */ | ||
104 | 0x2B,0x0E,0x03,0x02,0x0F, /* [219] OBJ_shaWithRSAEncryption */ | ||
105 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x07, /* [224] OBJ_des_ede3_cbc */ | ||
106 | 0x2B,0x0E,0x03,0x02,0x08, /* [232] OBJ_des_ofb64 */ | ||
107 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09, /* [237] OBJ_pkcs9 */ | ||
108 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x01,/* [245] OBJ_pkcs9_emailAddress */ | ||
109 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x02,/* [254] OBJ_pkcs9_unstructuredName */ | ||
110 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x03,/* [263] OBJ_pkcs9_contentType */ | ||
111 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x04,/* [272] OBJ_pkcs9_messageDigest */ | ||
112 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x05,/* [281] OBJ_pkcs9_signingTime */ | ||
113 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x06,/* [290] OBJ_pkcs9_countersignature */ | ||
114 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x07,/* [299] OBJ_pkcs9_challengePassword */ | ||
115 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x08,/* [308] OBJ_pkcs9_unstructuredAddress */ | ||
116 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x09,/* [317] OBJ_pkcs9_extCertAttributes */ | ||
117 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42, /* [326] OBJ_netscape */ | ||
118 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01, /* [333] OBJ_netscape_cert_extension */ | ||
119 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02, /* [341] OBJ_netscape_data_type */ | ||
120 | 0x2B,0x0E,0x03,0x02,0x1A, /* [349] OBJ_sha1 */ | ||
121 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x05,/* [354] OBJ_sha1WithRSAEncryption */ | ||
122 | 0x2B,0x0E,0x03,0x02,0x0D, /* [363] OBJ_dsaWithSHA */ | ||
123 | 0x2B,0x0E,0x03,0x02,0x0C, /* [368] OBJ_dsa_2 */ | ||
124 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0B,/* [373] OBJ_pbeWithSHA1AndRC2_CBC */ | ||
125 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x05,0x0C,/* [382] OBJ_pbeWithSHA1AndRC4 */ | ||
126 | 0x2B,0x0E,0x03,0x02,0x1B, /* [391] OBJ_dsaWithSHA1_2 */ | ||
127 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x01,/* [396] OBJ_netscape_cert_type */ | ||
128 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x02,/* [405] OBJ_netscape_base_url */ | ||
129 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x03,/* [414] OBJ_netscape_revocation_url */ | ||
130 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x04,/* [423] OBJ_netscape_ca_revocation_url */ | ||
131 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x07,/* [432] OBJ_netscape_renewal_url */ | ||
132 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x08,/* [441] OBJ_netscape_ca_policy_url */ | ||
133 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0C,/* [450] OBJ_netscape_ssl_server_name */ | ||
134 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x01,0x0D,/* [459] OBJ_netscape_comment */ | ||
135 | 0x60,0x86,0x48,0x01,0x86,0xF8,0x42,0x02,0x05,/* [468] OBJ_netscape_cert_sequence */ | ||
136 | 0x55,0x1D, /* [477] OBJ_ld_ce */ | ||
137 | 0x55,0x1D,0x0E, /* [479] OBJ_subject_key_identifier */ | ||
138 | 0x55,0x1D,0x0F, /* [482] OBJ_key_usage */ | ||
139 | 0x55,0x1D,0x10, /* [485] OBJ_private_key_usage_period */ | ||
140 | 0x55,0x1D,0x11, /* [488] OBJ_subject_alt_name */ | ||
141 | 0x55,0x1D,0x12, /* [491] OBJ_issuer_alt_name */ | ||
142 | 0x55,0x1D,0x13, /* [494] OBJ_basic_constraints */ | ||
143 | 0x55,0x1D,0x14, /* [497] OBJ_crl_number */ | ||
144 | 0x55,0x1D,0x20, /* [500] OBJ_certificate_policies */ | ||
145 | 0x55,0x1D,0x23, /* [503] OBJ_authority_key_identifier */ | ||
146 | 0x55,0x08,0x03,0x65, /* [506] OBJ_mdc2 */ | ||
147 | 0x55,0x08,0x03,0x64, /* [510] OBJ_mdc2WithRSA */ | ||
148 | 0x55,0x04,0x2A, /* [514] OBJ_givenName */ | ||
149 | 0x55,0x04,0x04, /* [517] OBJ_surname */ | ||
150 | 0x55,0x04,0x2B, /* [520] OBJ_initials */ | ||
151 | 0x55,0x04,0x2D, /* [523] OBJ_uniqueIdentifier */ | ||
152 | 0x55,0x1D,0x1F, /* [526] OBJ_crl_distribution_points */ | ||
153 | 0x2B,0x0E,0x03,0x02,0x03, /* [529] OBJ_md5WithRSA */ | ||
154 | 0x55,0x04,0x05, /* [534] OBJ_serialNumber */ | ||
155 | 0x55,0x04,0x0C, /* [537] OBJ_title */ | ||
156 | 0x55,0x04,0x0D, /* [540] OBJ_description */ | ||
157 | 0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0A,/* [543] OBJ_cast5_cbc */ | ||
158 | 0x2A,0x86,0x48,0x86,0xF6,0x7D,0x07,0x42,0x0C,/* [552] OBJ_pbeWithMD5AndCast5_CBC */ | ||
159 | 0x2A,0x86,0x48,0xCE,0x38,0x04,0x03, /* [561] OBJ_dsaWithSHA1 */ | ||
160 | 0x2B,0x0E,0x03,0x02,0x1D, /* [568] OBJ_sha1WithRSA */ | ||
161 | 0x2A,0x86,0x48,0xCE,0x38,0x04,0x01, /* [573] OBJ_dsa */ | ||
162 | 0x2B,0x24,0x03,0x02,0x01, /* [580] OBJ_ripemd160 */ | ||
163 | 0x2B,0x24,0x03,0x03,0x01,0x02, /* [585] OBJ_ripemd160WithRSA */ | ||
164 | 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x03,0x08, /* [591] OBJ_rc5_cbc */ | ||
165 | }; | ||
166 | |||
167 | static ASN1_OBJECT nid_objs[NUM_NID]={ | ||
168 | {"UNDEF","undefined",NID_undef,0,NULL}, | ||
169 | {"rsadsi","rsadsi",NID_rsadsi,6,&(lvalues[0]),0}, | ||
170 | {"pkcs","pkcs",NID_pkcs,7,&(lvalues[6]),0}, | ||
171 | {"MD2","md2",NID_md2,8,&(lvalues[13]),0}, | ||
172 | {"MD5","md5",NID_md5,8,&(lvalues[21]),0}, | ||
173 | {"RC4","rc4",NID_rc4,8,&(lvalues[29]),0}, | ||
174 | {"rsaEncryption","rsaEncryption",NID_rsaEncryption,9,&(lvalues[37]),0}, | ||
175 | {"RSA-MD2","md2WithRSAEncryption",NID_md2WithRSAEncryption,9, | ||
176 | &(lvalues[46]),0}, | ||
177 | {"RSA-MD5","md5WithRSAEncryption",NID_md5WithRSAEncryption,9, | ||
178 | &(lvalues[55]),0}, | ||
179 | {"pbeWithMD2AndDES-CBC","pbeWithMD2AndDES-CBC", | ||
180 | NID_pbeWithMD2AndDES_CBC,9,&(lvalues[64]),0}, | ||
181 | {"pbeWithMD5AndDES-CBC","pbeWithMD5AndDES-CBC", | ||
182 | NID_pbeWithMD5AndDES_CBC,9,&(lvalues[73]),0}, | ||
183 | {"X500","X500",NID_X500,1,&(lvalues[82]),0}, | ||
184 | {"X509","X509",NID_X509,2,&(lvalues[83]),0}, | ||
185 | {"CN","commonName",NID_commonName,3,&(lvalues[85]),0}, | ||
186 | {"C","countryName",NID_countryName,3,&(lvalues[88]),0}, | ||
187 | {"L","localityName",NID_localityName,3,&(lvalues[91]),0}, | ||
188 | {"ST","stateOrProvinceName",NID_stateOrProvinceName,3,&(lvalues[94]),0}, | ||
189 | {"O","organizationName",NID_organizationName,3,&(lvalues[97]),0}, | ||
190 | {"OU","organizationalUnitName",NID_organizationalUnitName,3, | ||
191 | &(lvalues[100]),0}, | ||
192 | {"RSA","rsa",NID_rsa,4,&(lvalues[103]),0}, | ||
193 | {"pkcs7","pkcs7",NID_pkcs7,8,&(lvalues[107]),0}, | ||
194 | {"pkcs7-data","pkcs7-data",NID_pkcs7_data,9,&(lvalues[115]),0}, | ||
195 | {"pkcs7-signedData","pkcs7-signedData",NID_pkcs7_signed,9, | ||
196 | &(lvalues[124]),0}, | ||
197 | {"pkcs7-envelopedData","pkcs7-envelopedData",NID_pkcs7_enveloped,9, | ||
198 | &(lvalues[133]),0}, | ||
199 | {"pkcs7-signedAndEnvelopedData","pkcs7-signedAndEnvelopedData", | ||
200 | NID_pkcs7_signedAndEnveloped,9,&(lvalues[142]),0}, | ||
201 | {"pkcs7-digestData","pkcs7-digestData",NID_pkcs7_digest,9, | ||
202 | &(lvalues[151]),0}, | ||
203 | {"pkcs7-encryptedData","pkcs7-encryptedData",NID_pkcs7_encrypted,9, | ||
204 | &(lvalues[160]),0}, | ||
205 | {"pkcs3","pkcs3",NID_pkcs3,8,&(lvalues[169]),0}, | ||
206 | {"dhKeyAgreement","dhKeyAgreement",NID_dhKeyAgreement,9, | ||
207 | &(lvalues[177]),0}, | ||
208 | {"DES-ECB","des-ecb",NID_des_ecb,5,&(lvalues[186]),0}, | ||
209 | {"DES-CFB","des-cfb",NID_des_cfb64,5,&(lvalues[191]),0}, | ||
210 | {"DES-CBC","des-cbc",NID_des_cbc,5,&(lvalues[196]),0}, | ||
211 | {"DES-EDE","des-ede",NID_des_ede,5,&(lvalues[201]),0}, | ||
212 | {"DES-EDE3","des-ede3",NID_des_ede3,0,NULL}, | ||
213 | {"IDEA-CBC","idea-cbc",NID_idea_cbc,0,NULL}, | ||
214 | {"IDEA-CFB","idea-cfb",NID_idea_cfb64,0,NULL}, | ||
215 | {"IDEA-ECB","idea-ecb",NID_idea_ecb,0,NULL}, | ||
216 | {"RC2-CBC","rc2-cbc",NID_rc2_cbc,8,&(lvalues[206]),0}, | ||
217 | {"RC2-ECB","rc2-ecb",NID_rc2_ecb,0,NULL}, | ||
218 | {"RC2-CFB","rc2-cfb",NID_rc2_cfb64,0,NULL}, | ||
219 | {"RC2-OFB","rc2-ofb",NID_rc2_ofb64,0,NULL}, | ||
220 | {"SHA","sha",NID_sha,5,&(lvalues[214]),0}, | ||
221 | {"RSA-SHA","shaWithRSAEncryption",NID_shaWithRSAEncryption,5, | ||
222 | &(lvalues[219]),0}, | ||
223 | {"DES-EDE-CBC","des-ede-cbc",NID_des_ede_cbc,0,NULL}, | ||
224 | {"DES-EDE3-CBC","des-ede3-cbc",NID_des_ede3_cbc,8,&(lvalues[224]),0}, | ||
225 | {"DES-OFB","des-ofb",NID_des_ofb64,5,&(lvalues[232]),0}, | ||
226 | {"IDEA-OFB","idea-ofb",NID_idea_ofb64,0,NULL}, | ||
227 | {"pkcs9","pkcs9",NID_pkcs9,8,&(lvalues[237]),0}, | ||
228 | {"Email","emailAddress",NID_pkcs9_emailAddress,9,&(lvalues[245]),0}, | ||
229 | {"unstructuredName","unstructuredName",NID_pkcs9_unstructuredName,9, | ||
230 | &(lvalues[254]),0}, | ||
231 | {"contentType","contentType",NID_pkcs9_contentType,9,&(lvalues[263]),0}, | ||
232 | {"messageDigest","messageDigest",NID_pkcs9_messageDigest,9, | ||
233 | &(lvalues[272]),0}, | ||
234 | {"signingTime","signingTime",NID_pkcs9_signingTime,9,&(lvalues[281]),0}, | ||
235 | {"countersignature","countersignature",NID_pkcs9_countersignature,9, | ||
236 | &(lvalues[290]),0}, | ||
237 | {"challengePassword","challengePassword",NID_pkcs9_challengePassword, | ||
238 | 9,&(lvalues[299]),0}, | ||
239 | {"unstructuredAddress","unstructuredAddress", | ||
240 | NID_pkcs9_unstructuredAddress,9,&(lvalues[308]),0}, | ||
241 | {"extendedCertificateAttributes","extendedCertificateAttributes", | ||
242 | NID_pkcs9_extCertAttributes,9,&(lvalues[317]),0}, | ||
243 | {"Netscape","Netscape Communications Corp.",NID_netscape,7, | ||
244 | &(lvalues[326]),0}, | ||
245 | {"nsCertExt","Netscape Certificate Extension", | ||
246 | NID_netscape_cert_extension,8,&(lvalues[333]),0}, | ||
247 | {"nsDataType","Netscape Data Type",NID_netscape_data_type,8, | ||
248 | &(lvalues[341]),0}, | ||
249 | {"DES-EDE-CFB","des-ede-cfb",NID_des_ede_cfb64,0,NULL}, | ||
250 | {"DES-EDE3-CFB","des-ede3-cfb",NID_des_ede3_cfb64,0,NULL}, | ||
251 | {"DES-EDE-OFB","des-ede-ofb",NID_des_ede_ofb64,0,NULL}, | ||
252 | {"DES-EDE3-OFB","des-ede3-ofb",NID_des_ede3_ofb64,0,NULL}, | ||
253 | {"SHA1","sha1",NID_sha1,5,&(lvalues[349]),0}, | ||
254 | {"RSA-SHA1","sha1WithRSAEncryption",NID_sha1WithRSAEncryption,9, | ||
255 | &(lvalues[354]),0}, | ||
256 | {"DSA-SHA","dsaWithSHA",NID_dsaWithSHA,5,&(lvalues[363]),0}, | ||
257 | {"DSA-old","dsaEncryption-old",NID_dsa_2,5,&(lvalues[368]),0}, | ||
258 | {"pbeWithSHA1AndRC2-CBC","pbeWithSHA1AndRC2-CBC", | ||
259 | NID_pbeWithSHA1AndRC2_CBC,9,&(lvalues[373]),0}, | ||
260 | {"pbeWithSHA1AndRC4","pbeWithSHA1AndRC4",NID_pbeWithSHA1AndRC4,9, | ||
261 | &(lvalues[382]),0}, | ||
262 | {"DSA-SHA1-old","dsaWithSHA1",NID_dsaWithSHA1_2,5,&(lvalues[391]),0}, | ||
263 | {"nsCertType","Netscape Cert Type",NID_netscape_cert_type,9, | ||
264 | &(lvalues[396]),0}, | ||
265 | {"nsBaseUrl","Netscape Base Url",NID_netscape_base_url,9, | ||
266 | &(lvalues[405]),0}, | ||
267 | {"nsRevocationUrl","Netscape Revocation Url", | ||
268 | NID_netscape_revocation_url,9,&(lvalues[414]),0}, | ||
269 | {"nsCaRevocationUrl","Netscape CA Revocation Url", | ||
270 | NID_netscape_ca_revocation_url,9,&(lvalues[423]),0}, | ||
271 | {"nsRenewalUrl","Netscape Renewal Url",NID_netscape_renewal_url,9, | ||
272 | &(lvalues[432]),0}, | ||
273 | {"nsCaPolicyUrl","Netscape CA Policy Url",NID_netscape_ca_policy_url, | ||
274 | 9,&(lvalues[441]),0}, | ||
275 | {"nsSslServerName","Netscape SSL Server Name", | ||
276 | NID_netscape_ssl_server_name,9,&(lvalues[450]),0}, | ||
277 | {"nsComment","Netscape Comment",NID_netscape_comment,9,&(lvalues[459]),0}, | ||
278 | {"nsCertSequence","Netscape Certificate Sequence", | ||
279 | NID_netscape_cert_sequence,9,&(lvalues[468]),0}, | ||
280 | {"DESX-CBC","desx-cbc",NID_desx_cbc,0,NULL}, | ||
281 | {"ld-ce","ld-ce",NID_ld_ce,2,&(lvalues[477]),0}, | ||
282 | {"subjectKeyIdentifier","X509v3 Subject Key Identifier", | ||
283 | NID_subject_key_identifier,3,&(lvalues[479]),0}, | ||
284 | {"keyUsage","X509v3 Key Usage",NID_key_usage,3,&(lvalues[482]),0}, | ||
285 | {"privateKeyUsagePeriod","X509v3 Private Key Usage Period", | ||
286 | NID_private_key_usage_period,3,&(lvalues[485]),0}, | ||
287 | {"subjectAltName","X509v3 Subject Alternative Name", | ||
288 | NID_subject_alt_name,3,&(lvalues[488]),0}, | ||
289 | {"issuerAltName","X509v3 Issuer Alternative Name",NID_issuer_alt_name, | ||
290 | 3,&(lvalues[491]),0}, | ||
291 | {"basicConstraints","X509v3 Basic Constraints",NID_basic_constraints, | ||
292 | 3,&(lvalues[494]),0}, | ||
293 | {"crlNumber","X509v3 CRL Number",NID_crl_number,3,&(lvalues[497]),0}, | ||
294 | {"certificatePolicies","X509v3 Certificate Policies", | ||
295 | NID_certificate_policies,3,&(lvalues[500]),0}, | ||
296 | {"authorityKeyIdentifier","X509v3 Authority Key Identifier", | ||
297 | NID_authority_key_identifier,3,&(lvalues[503]),0}, | ||
298 | {"BF-CBC","bf-cbc",NID_bf_cbc,0,NULL}, | ||
299 | {"BF-ECB","bf-ecb",NID_bf_ecb,0,NULL}, | ||
300 | {"BF-CFB","bf-cfb",NID_bf_cfb64,0,NULL}, | ||
301 | {"BF-OFB","bf-ofb",NID_bf_ofb64,0,NULL}, | ||
302 | {"MDC2","mdc2",NID_mdc2,4,&(lvalues[506]),0}, | ||
303 | {"RSA-MDC2","mdc2withRSA",NID_mdc2WithRSA,4,&(lvalues[510]),0}, | ||
304 | {"RC4-40","rc4-40",NID_rc4_40,0,NULL}, | ||
305 | {"RC2-40-CBC","rc2-40-cbc",NID_rc2_40_cbc,0,NULL}, | ||
306 | {"G","givenName",NID_givenName,3,&(lvalues[514]),0}, | ||
307 | {"S","surname",NID_surname,3,&(lvalues[517]),0}, | ||
308 | {"I","initials",NID_initials,3,&(lvalues[520]),0}, | ||
309 | {"UID","uniqueIdentifier",NID_uniqueIdentifier,3,&(lvalues[523]),0}, | ||
310 | {"crlDistributionPoints","X509v3 CRL Distribution Points", | ||
311 | NID_crl_distribution_points,3,&(lvalues[526]),0}, | ||
312 | {"RSA-NP-MD5","md5WithRSA",NID_md5WithRSA,5,&(lvalues[529]),0}, | ||
313 | {"SN","serialNumber",NID_serialNumber,3,&(lvalues[534]),0}, | ||
314 | {"T","title",NID_title,3,&(lvalues[537]),0}, | ||
315 | {"D","description",NID_description,3,&(lvalues[540]),0}, | ||
316 | {"CAST5-CBC","cast5-cbc",NID_cast5_cbc,9,&(lvalues[543]),0}, | ||
317 | {"CAST5-ECB","cast5-ecb",NID_cast5_ecb,0,NULL}, | ||
318 | {"CAST5-CFB","cast5-cfb",NID_cast5_cfb64,0,NULL}, | ||
319 | {"CAST5-OFB","cast5-ofb",NID_cast5_ofb64,0,NULL}, | ||
320 | {"pbeWithMD5AndCast5CBC","pbeWithMD5AndCast5CBC", | ||
321 | NID_pbeWithMD5AndCast5_CBC,9,&(lvalues[552]),0}, | ||
322 | {"DSA-SHA1","dsaWithSHA1",NID_dsaWithSHA1,7,&(lvalues[561]),0}, | ||
323 | {"MD5-SHA1","md5-sha1",NID_md5_sha1,0,NULL}, | ||
324 | {"RSA-SHA1-2","sha1WithRSA",NID_sha1WithRSA,5,&(lvalues[568]),0}, | ||
325 | {"DSA","dsaEncryption",NID_dsa,7,&(lvalues[573]),0}, | ||
326 | {"RIPEMD160","ripemd160",NID_ripemd160,5,&(lvalues[580]),0}, | ||
327 | {NULL,NULL,NID_undef,0,NULL}, | ||
328 | {"RSA-RIPEMD160","ripemd160WithRSA",NID_ripemd160WithRSA,6, | ||
329 | &(lvalues[585]),0}, | ||
330 | {"RC5-CBC","rc5-cbc",NID_rc5_cbc,8,&(lvalues[591]),0}, | ||
331 | {"RC5-ECB","rc5-ecb",NID_rc5_ecb,0,NULL}, | ||
332 | {"RC5-CFB","rc5-cfb",NID_rc5_cfb64,0,NULL}, | ||
333 | {"RC5-OFB","rc5-ofb",NID_rc5_ofb64,0,NULL}, | ||
334 | }; | ||
335 | |||
336 | static ASN1_OBJECT *sn_objs[NUM_SN]={ | ||
337 | &(nid_objs[91]),/* "BF-CBC" */ | ||
338 | &(nid_objs[93]),/* "BF-CFB" */ | ||
339 | &(nid_objs[92]),/* "BF-ECB" */ | ||
340 | &(nid_objs[94]),/* "BF-OFB" */ | ||
341 | &(nid_objs[14]),/* "C" */ | ||
342 | &(nid_objs[108]),/* "CAST5-CBC" */ | ||
343 | &(nid_objs[110]),/* "CAST5-CFB" */ | ||
344 | &(nid_objs[109]),/* "CAST5-ECB" */ | ||
345 | &(nid_objs[111]),/* "CAST5-OFB" */ | ||
346 | &(nid_objs[13]),/* "CN" */ | ||
347 | &(nid_objs[107]),/* "D" */ | ||
348 | &(nid_objs[31]),/* "DES-CBC" */ | ||
349 | &(nid_objs[30]),/* "DES-CFB" */ | ||
350 | &(nid_objs[29]),/* "DES-ECB" */ | ||
351 | &(nid_objs[32]),/* "DES-EDE" */ | ||
352 | &(nid_objs[43]),/* "DES-EDE-CBC" */ | ||
353 | &(nid_objs[60]),/* "DES-EDE-CFB" */ | ||
354 | &(nid_objs[62]),/* "DES-EDE-OFB" */ | ||
355 | &(nid_objs[33]),/* "DES-EDE3" */ | ||
356 | &(nid_objs[44]),/* "DES-EDE3-CBC" */ | ||
357 | &(nid_objs[61]),/* "DES-EDE3-CFB" */ | ||
358 | &(nid_objs[63]),/* "DES-EDE3-OFB" */ | ||
359 | &(nid_objs[45]),/* "DES-OFB" */ | ||
360 | &(nid_objs[80]),/* "DESX-CBC" */ | ||
361 | &(nid_objs[116]),/* "DSA" */ | ||
362 | &(nid_objs[66]),/* "DSA-SHA" */ | ||
363 | &(nid_objs[113]),/* "DSA-SHA1" */ | ||
364 | &(nid_objs[70]),/* "DSA-SHA1-old" */ | ||
365 | &(nid_objs[67]),/* "DSA-old" */ | ||
366 | &(nid_objs[48]),/* "Email" */ | ||
367 | &(nid_objs[99]),/* "G" */ | ||
368 | &(nid_objs[101]),/* "I" */ | ||
369 | &(nid_objs[34]),/* "IDEA-CBC" */ | ||
370 | &(nid_objs[35]),/* "IDEA-CFB" */ | ||
371 | &(nid_objs[36]),/* "IDEA-ECB" */ | ||
372 | &(nid_objs[46]),/* "IDEA-OFB" */ | ||
373 | &(nid_objs[15]),/* "L" */ | ||
374 | &(nid_objs[ 3]),/* "MD2" */ | ||
375 | &(nid_objs[ 4]),/* "MD5" */ | ||
376 | &(nid_objs[114]),/* "MD5-SHA1" */ | ||
377 | &(nid_objs[95]),/* "MDC2" */ | ||
378 | &(nid_objs[57]),/* "Netscape" */ | ||
379 | &(nid_objs[17]),/* "O" */ | ||
380 | &(nid_objs[18]),/* "OU" */ | ||
381 | &(nid_objs[98]),/* "RC2-40-CBC" */ | ||
382 | &(nid_objs[37]),/* "RC2-CBC" */ | ||
383 | &(nid_objs[39]),/* "RC2-CFB" */ | ||
384 | &(nid_objs[38]),/* "RC2-ECB" */ | ||
385 | &(nid_objs[40]),/* "RC2-OFB" */ | ||
386 | &(nid_objs[ 5]),/* "RC4" */ | ||
387 | &(nid_objs[97]),/* "RC4-40" */ | ||
388 | &(nid_objs[120]),/* "RC5-CBC" */ | ||
389 | &(nid_objs[122]),/* "RC5-CFB" */ | ||
390 | &(nid_objs[121]),/* "RC5-ECB" */ | ||
391 | &(nid_objs[123]),/* "RC5-OFB" */ | ||
392 | &(nid_objs[117]),/* "RIPEMD160" */ | ||
393 | &(nid_objs[19]),/* "RSA" */ | ||
394 | &(nid_objs[ 7]),/* "RSA-MD2" */ | ||
395 | &(nid_objs[ 8]),/* "RSA-MD5" */ | ||
396 | &(nid_objs[96]),/* "RSA-MDC2" */ | ||
397 | &(nid_objs[104]),/* "RSA-NP-MD5" */ | ||
398 | &(nid_objs[119]),/* "RSA-RIPEMD160" */ | ||
399 | &(nid_objs[42]),/* "RSA-SHA" */ | ||
400 | &(nid_objs[65]),/* "RSA-SHA1" */ | ||
401 | &(nid_objs[115]),/* "RSA-SHA1-2" */ | ||
402 | &(nid_objs[100]),/* "S" */ | ||
403 | &(nid_objs[41]),/* "SHA" */ | ||
404 | &(nid_objs[64]),/* "SHA1" */ | ||
405 | &(nid_objs[105]),/* "SN" */ | ||
406 | &(nid_objs[16]),/* "ST" */ | ||
407 | &(nid_objs[106]),/* "T" */ | ||
408 | &(nid_objs[102]),/* "UID" */ | ||
409 | &(nid_objs[ 0]),/* "UNDEF" */ | ||
410 | &(nid_objs[90]),/* "authorityKeyIdentifier" */ | ||
411 | &(nid_objs[87]),/* "basicConstraints" */ | ||
412 | &(nid_objs[89]),/* "certificatePolicies" */ | ||
413 | &(nid_objs[103]),/* "crlDistributionPoints" */ | ||
414 | &(nid_objs[88]),/* "crlNumber" */ | ||
415 | &(nid_objs[86]),/* "issuerAltName" */ | ||
416 | &(nid_objs[83]),/* "keyUsage" */ | ||
417 | &(nid_objs[81]),/* "ld-ce" */ | ||
418 | &(nid_objs[72]),/* "nsBaseUrl" */ | ||
419 | &(nid_objs[76]),/* "nsCaPolicyUrl" */ | ||
420 | &(nid_objs[74]),/* "nsCaRevocationUrl" */ | ||
421 | &(nid_objs[58]),/* "nsCertExt" */ | ||
422 | &(nid_objs[79]),/* "nsCertSequence" */ | ||
423 | &(nid_objs[71]),/* "nsCertType" */ | ||
424 | &(nid_objs[78]),/* "nsComment" */ | ||
425 | &(nid_objs[59]),/* "nsDataType" */ | ||
426 | &(nid_objs[75]),/* "nsRenewalUrl" */ | ||
427 | &(nid_objs[73]),/* "nsRevocationUrl" */ | ||
428 | &(nid_objs[77]),/* "nsSslServerName" */ | ||
429 | &(nid_objs[84]),/* "privateKeyUsagePeriod" */ | ||
430 | &(nid_objs[85]),/* "subjectAltName" */ | ||
431 | &(nid_objs[82]),/* "subjectKeyIdentifier" */ | ||
432 | }; | ||
433 | |||
434 | static ASN1_OBJECT *ln_objs[NUM_LN]={ | ||
435 | &(nid_objs[72]),/* "Netscape Base Url" */ | ||
436 | &(nid_objs[76]),/* "Netscape CA Policy Url" */ | ||
437 | &(nid_objs[74]),/* "Netscape CA Revocation Url" */ | ||
438 | &(nid_objs[71]),/* "Netscape Cert Type" */ | ||
439 | &(nid_objs[58]),/* "Netscape Certificate Extension" */ | ||
440 | &(nid_objs[79]),/* "Netscape Certificate Sequence" */ | ||
441 | &(nid_objs[78]),/* "Netscape Comment" */ | ||
442 | &(nid_objs[57]),/* "Netscape Communications Corp." */ | ||
443 | &(nid_objs[59]),/* "Netscape Data Type" */ | ||
444 | &(nid_objs[75]),/* "Netscape Renewal Url" */ | ||
445 | &(nid_objs[73]),/* "Netscape Revocation Url" */ | ||
446 | &(nid_objs[77]),/* "Netscape SSL Server Name" */ | ||
447 | &(nid_objs[11]),/* "X500" */ | ||
448 | &(nid_objs[12]),/* "X509" */ | ||
449 | &(nid_objs[90]),/* "X509v3 Authority Key Identifier" */ | ||
450 | &(nid_objs[87]),/* "X509v3 Basic Constraints" */ | ||
451 | &(nid_objs[103]),/* "X509v3 CRL Distribution Points" */ | ||
452 | &(nid_objs[88]),/* "X509v3 CRL Number" */ | ||
453 | &(nid_objs[89]),/* "X509v3 Certificate Policies" */ | ||
454 | &(nid_objs[86]),/* "X509v3 Issuer Alternative Name" */ | ||
455 | &(nid_objs[83]),/* "X509v3 Key Usage" */ | ||
456 | &(nid_objs[84]),/* "X509v3 Private Key Usage Period" */ | ||
457 | &(nid_objs[85]),/* "X509v3 Subject Alternative Name" */ | ||
458 | &(nid_objs[82]),/* "X509v3 Subject Key Identifier" */ | ||
459 | &(nid_objs[91]),/* "bf-cbc" */ | ||
460 | &(nid_objs[93]),/* "bf-cfb" */ | ||
461 | &(nid_objs[92]),/* "bf-ecb" */ | ||
462 | &(nid_objs[94]),/* "bf-ofb" */ | ||
463 | &(nid_objs[108]),/* "cast5-cbc" */ | ||
464 | &(nid_objs[110]),/* "cast5-cfb" */ | ||
465 | &(nid_objs[109]),/* "cast5-ecb" */ | ||
466 | &(nid_objs[111]),/* "cast5-ofb" */ | ||
467 | &(nid_objs[54]),/* "challengePassword" */ | ||
468 | &(nid_objs[13]),/* "commonName" */ | ||
469 | &(nid_objs[50]),/* "contentType" */ | ||
470 | &(nid_objs[53]),/* "countersignature" */ | ||
471 | &(nid_objs[14]),/* "countryName" */ | ||
472 | &(nid_objs[31]),/* "des-cbc" */ | ||
473 | &(nid_objs[30]),/* "des-cfb" */ | ||
474 | &(nid_objs[29]),/* "des-ecb" */ | ||
475 | &(nid_objs[32]),/* "des-ede" */ | ||
476 | &(nid_objs[43]),/* "des-ede-cbc" */ | ||
477 | &(nid_objs[60]),/* "des-ede-cfb" */ | ||
478 | &(nid_objs[62]),/* "des-ede-ofb" */ | ||
479 | &(nid_objs[33]),/* "des-ede3" */ | ||
480 | &(nid_objs[44]),/* "des-ede3-cbc" */ | ||
481 | &(nid_objs[61]),/* "des-ede3-cfb" */ | ||
482 | &(nid_objs[63]),/* "des-ede3-ofb" */ | ||
483 | &(nid_objs[45]),/* "des-ofb" */ | ||
484 | &(nid_objs[107]),/* "description" */ | ||
485 | &(nid_objs[80]),/* "desx-cbc" */ | ||
486 | &(nid_objs[28]),/* "dhKeyAgreement" */ | ||
487 | &(nid_objs[116]),/* "dsaEncryption" */ | ||
488 | &(nid_objs[67]),/* "dsaEncryption-old" */ | ||
489 | &(nid_objs[66]),/* "dsaWithSHA" */ | ||
490 | &(nid_objs[113]),/* "dsaWithSHA1" */ | ||
491 | &(nid_objs[70]),/* "dsaWithSHA1" */ | ||
492 | &(nid_objs[48]),/* "emailAddress" */ | ||
493 | &(nid_objs[56]),/* "extendedCertificateAttributes" */ | ||
494 | &(nid_objs[99]),/* "givenName" */ | ||
495 | &(nid_objs[34]),/* "idea-cbc" */ | ||
496 | &(nid_objs[35]),/* "idea-cfb" */ | ||
497 | &(nid_objs[36]),/* "idea-ecb" */ | ||
498 | &(nid_objs[46]),/* "idea-ofb" */ | ||
499 | &(nid_objs[101]),/* "initials" */ | ||
500 | &(nid_objs[15]),/* "localityName" */ | ||
501 | &(nid_objs[ 3]),/* "md2" */ | ||
502 | &(nid_objs[ 7]),/* "md2WithRSAEncryption" */ | ||
503 | &(nid_objs[ 4]),/* "md5" */ | ||
504 | &(nid_objs[114]),/* "md5-sha1" */ | ||
505 | &(nid_objs[104]),/* "md5WithRSA" */ | ||
506 | &(nid_objs[ 8]),/* "md5WithRSAEncryption" */ | ||
507 | &(nid_objs[95]),/* "mdc2" */ | ||
508 | &(nid_objs[96]),/* "mdc2withRSA" */ | ||
509 | &(nid_objs[51]),/* "messageDigest" */ | ||
510 | &(nid_objs[17]),/* "organizationName" */ | ||
511 | &(nid_objs[18]),/* "organizationalUnitName" */ | ||
512 | &(nid_objs[ 9]),/* "pbeWithMD2AndDES-CBC" */ | ||
513 | &(nid_objs[112]),/* "pbeWithMD5AndCast5CBC" */ | ||
514 | &(nid_objs[10]),/* "pbeWithMD5AndDES-CBC" */ | ||
515 | &(nid_objs[68]),/* "pbeWithSHA1AndRC2-CBC" */ | ||
516 | &(nid_objs[69]),/* "pbeWithSHA1AndRC4" */ | ||
517 | &(nid_objs[ 2]),/* "pkcs" */ | ||
518 | &(nid_objs[27]),/* "pkcs3" */ | ||
519 | &(nid_objs[20]),/* "pkcs7" */ | ||
520 | &(nid_objs[21]),/* "pkcs7-data" */ | ||
521 | &(nid_objs[25]),/* "pkcs7-digestData" */ | ||
522 | &(nid_objs[26]),/* "pkcs7-encryptedData" */ | ||
523 | &(nid_objs[23]),/* "pkcs7-envelopedData" */ | ||
524 | &(nid_objs[24]),/* "pkcs7-signedAndEnvelopedData" */ | ||
525 | &(nid_objs[22]),/* "pkcs7-signedData" */ | ||
526 | &(nid_objs[47]),/* "pkcs9" */ | ||
527 | &(nid_objs[98]),/* "rc2-40-cbc" */ | ||
528 | &(nid_objs[37]),/* "rc2-cbc" */ | ||
529 | &(nid_objs[39]),/* "rc2-cfb" */ | ||
530 | &(nid_objs[38]),/* "rc2-ecb" */ | ||
531 | &(nid_objs[40]),/* "rc2-ofb" */ | ||
532 | &(nid_objs[ 5]),/* "rc4" */ | ||
533 | &(nid_objs[97]),/* "rc4-40" */ | ||
534 | &(nid_objs[120]),/* "rc5-cbc" */ | ||
535 | &(nid_objs[122]),/* "rc5-cfb" */ | ||
536 | &(nid_objs[121]),/* "rc5-ecb" */ | ||
537 | &(nid_objs[123]),/* "rc5-ofb" */ | ||
538 | &(nid_objs[117]),/* "ripemd160" */ | ||
539 | &(nid_objs[119]),/* "ripemd160WithRSA" */ | ||
540 | &(nid_objs[19]),/* "rsa" */ | ||
541 | &(nid_objs[ 6]),/* "rsaEncryption" */ | ||
542 | &(nid_objs[ 1]),/* "rsadsi" */ | ||
543 | &(nid_objs[105]),/* "serialNumber" */ | ||
544 | &(nid_objs[41]),/* "sha" */ | ||
545 | &(nid_objs[64]),/* "sha1" */ | ||
546 | &(nid_objs[115]),/* "sha1WithRSA" */ | ||
547 | &(nid_objs[65]),/* "sha1WithRSAEncryption" */ | ||
548 | &(nid_objs[42]),/* "shaWithRSAEncryption" */ | ||
549 | &(nid_objs[52]),/* "signingTime" */ | ||
550 | &(nid_objs[16]),/* "stateOrProvinceName" */ | ||
551 | &(nid_objs[100]),/* "surname" */ | ||
552 | &(nid_objs[106]),/* "title" */ | ||
553 | &(nid_objs[ 0]),/* "undefined" */ | ||
554 | &(nid_objs[102]),/* "uniqueIdentifier" */ | ||
555 | &(nid_objs[55]),/* "unstructuredAddress" */ | ||
556 | &(nid_objs[49]),/* "unstructuredName" */ | ||
557 | }; | ||
558 | |||
559 | static ASN1_OBJECT *obj_objs[NUM_OBJ]={ | ||
560 | &(nid_objs[11]),/* OBJ_X500 2 5 */ | ||
561 | &(nid_objs[12]),/* OBJ_X509 2 5 4 */ | ||
562 | &(nid_objs[81]),/* OBJ_ld_ce 2 5 29 */ | ||
563 | &(nid_objs[13]),/* OBJ_commonName 2 5 4 3 */ | ||
564 | &(nid_objs[100]),/* OBJ_surname 2 5 4 4 */ | ||
565 | &(nid_objs[105]),/* OBJ_serialNumber 2 5 4 5 */ | ||
566 | &(nid_objs[14]),/* OBJ_countryName 2 5 4 6 */ | ||
567 | &(nid_objs[15]),/* OBJ_localityName 2 5 4 7 */ | ||
568 | &(nid_objs[16]),/* OBJ_stateOrProvinceName 2 5 4 8 */ | ||
569 | &(nid_objs[17]),/* OBJ_organizationName 2 5 4 10 */ | ||
570 | &(nid_objs[18]),/* OBJ_organizationalUnitName 2 5 4 11 */ | ||
571 | &(nid_objs[106]),/* OBJ_title 2 5 4 12 */ | ||
572 | &(nid_objs[107]),/* OBJ_description 2 5 4 13 */ | ||
573 | &(nid_objs[99]),/* OBJ_givenName 2 5 4 42 */ | ||
574 | &(nid_objs[101]),/* OBJ_initials 2 5 4 43 */ | ||
575 | &(nid_objs[102]),/* OBJ_uniqueIdentifier 2 5 4 45 */ | ||
576 | &(nid_objs[82]),/* OBJ_subject_key_identifier 2 5 29 14 */ | ||
577 | &(nid_objs[83]),/* OBJ_key_usage 2 5 29 15 */ | ||
578 | &(nid_objs[84]),/* OBJ_private_key_usage_period 2 5 29 16 */ | ||
579 | &(nid_objs[85]),/* OBJ_subject_alt_name 2 5 29 17 */ | ||
580 | &(nid_objs[86]),/* OBJ_issuer_alt_name 2 5 29 18 */ | ||
581 | &(nid_objs[87]),/* OBJ_basic_constraints 2 5 29 19 */ | ||
582 | &(nid_objs[88]),/* OBJ_crl_number 2 5 29 20 */ | ||
583 | &(nid_objs[103]),/* OBJ_crl_distribution_points 2 5 29 31 */ | ||
584 | &(nid_objs[89]),/* OBJ_certificate_policies 2 5 29 32 */ | ||
585 | &(nid_objs[90]),/* OBJ_authority_key_identifier 2 5 29 35 */ | ||
586 | &(nid_objs[19]),/* OBJ_rsa 2 5 8 1 1 */ | ||
587 | &(nid_objs[96]),/* OBJ_mdc2WithRSA 2 5 8 3 100 */ | ||
588 | &(nid_objs[95]),/* OBJ_mdc2 2 5 8 3 101 */ | ||
589 | &(nid_objs[104]),/* OBJ_md5WithRSA 1 3 14 3 2 3 */ | ||
590 | &(nid_objs[29]),/* OBJ_des_ecb 1 3 14 3 2 6 */ | ||
591 | &(nid_objs[31]),/* OBJ_des_cbc 1 3 14 3 2 7 */ | ||
592 | &(nid_objs[45]),/* OBJ_des_ofb64 1 3 14 3 2 8 */ | ||
593 | &(nid_objs[30]),/* OBJ_des_cfb64 1 3 14 3 2 9 */ | ||
594 | &(nid_objs[67]),/* OBJ_dsa_2 1 3 14 3 2 12 */ | ||
595 | &(nid_objs[66]),/* OBJ_dsaWithSHA 1 3 14 3 2 13 */ | ||
596 | &(nid_objs[42]),/* OBJ_shaWithRSAEncryption 1 3 14 3 2 15 */ | ||
597 | &(nid_objs[32]),/* OBJ_des_ede 1 3 14 3 2 17 */ | ||
598 | &(nid_objs[41]),/* OBJ_sha 1 3 14 3 2 18 */ | ||
599 | &(nid_objs[64]),/* OBJ_sha1 1 3 14 3 2 26 */ | ||
600 | &(nid_objs[70]),/* OBJ_dsaWithSHA1_2 1 3 14 3 2 27 */ | ||
601 | &(nid_objs[115]),/* OBJ_sha1WithRSA 1 3 14 3 2 29 */ | ||
602 | &(nid_objs[117]),/* OBJ_ripemd160 1 3 36 3 2 1 */ | ||
603 | &(nid_objs[ 1]),/* OBJ_rsadsi 1 2 840 113549 */ | ||
604 | &(nid_objs[119]),/* OBJ_ripemd160WithRSA 1 3 36 3 3 1 2 */ | ||
605 | &(nid_objs[ 2]),/* OBJ_pkcs 1 2 840 113549 1 */ | ||
606 | &(nid_objs[116]),/* OBJ_dsa 1 2 840 10040 4 1 */ | ||
607 | &(nid_objs[113]),/* OBJ_dsaWithSHA1 1 2 840 10040 4 3 */ | ||
608 | &(nid_objs[57]),/* OBJ_netscape 2 16 840 1 113730 */ | ||
609 | &(nid_objs[27]),/* OBJ_pkcs3 1 2 840 113549 1 3 */ | ||
610 | &(nid_objs[20]),/* OBJ_pkcs7 1 2 840 113549 1 7 */ | ||
611 | &(nid_objs[47]),/* OBJ_pkcs9 1 2 840 113549 1 9 */ | ||
612 | &(nid_objs[ 3]),/* OBJ_md2 1 2 840 113549 2 2 */ | ||
613 | &(nid_objs[ 4]),/* OBJ_md5 1 2 840 113549 2 5 */ | ||
614 | &(nid_objs[37]),/* OBJ_rc2_cbc 1 2 840 113549 3 2 */ | ||
615 | &(nid_objs[ 5]),/* OBJ_rc4 1 2 840 113549 3 4 */ | ||
616 | &(nid_objs[44]),/* OBJ_des_ede3_cbc 1 2 840 113549 3 7 */ | ||
617 | &(nid_objs[120]),/* OBJ_rc5_cbc 1 2 840 113549 3 8 */ | ||
618 | &(nid_objs[58]),/* OBJ_netscape_cert_extension 2 16 840 1 113730 1 */ | ||
619 | &(nid_objs[59]),/* OBJ_netscape_data_type 2 16 840 1 113730 2 */ | ||
620 | &(nid_objs[108]),/* OBJ_cast5_cbc 1 2 840 113533 7 66 10 */ | ||
621 | &(nid_objs[112]),/* OBJ_pbeWithMD5AndCast5_CBC 1 2 840 113533 7 66 12 */ | ||
622 | &(nid_objs[ 6]),/* OBJ_rsaEncryption 1 2 840 113549 1 1 1 */ | ||
623 | &(nid_objs[ 7]),/* OBJ_md2WithRSAEncryption 1 2 840 113549 1 1 2 */ | ||
624 | &(nid_objs[ 8]),/* OBJ_md5WithRSAEncryption 1 2 840 113549 1 1 4 */ | ||
625 | &(nid_objs[65]),/* OBJ_sha1WithRSAEncryption 1 2 840 113549 1 1 5 */ | ||
626 | &(nid_objs[28]),/* OBJ_dhKeyAgreement 1 2 840 113549 1 3 1 */ | ||
627 | &(nid_objs[ 9]),/* OBJ_pbeWithMD2AndDES_CBC 1 2 840 113549 1 5 1 */ | ||
628 | &(nid_objs[10]),/* OBJ_pbeWithMD5AndDES_CBC 1 2 840 113549 1 5 3 */ | ||
629 | &(nid_objs[68]),/* OBJ_pbeWithSHA1AndRC2_CBC 1 2 840 113549 1 5 11 */ | ||
630 | &(nid_objs[69]),/* OBJ_pbeWithSHA1AndRC4 1 2 840 113549 1 5 12 */ | ||
631 | &(nid_objs[21]),/* OBJ_pkcs7_data 1 2 840 113549 1 7 1 */ | ||
632 | &(nid_objs[22]),/* OBJ_pkcs7_signed 1 2 840 113549 1 7 2 */ | ||
633 | &(nid_objs[23]),/* OBJ_pkcs7_enveloped 1 2 840 113549 1 7 3 */ | ||
634 | &(nid_objs[24]),/* OBJ_pkcs7_signedAndEnveloped 1 2 840 113549 1 7 4 */ | ||
635 | &(nid_objs[25]),/* OBJ_pkcs7_digest 1 2 840 113549 1 7 5 */ | ||
636 | &(nid_objs[26]),/* OBJ_pkcs7_encrypted 1 2 840 113549 1 7 6 */ | ||
637 | &(nid_objs[48]),/* OBJ_pkcs9_emailAddress 1 2 840 113549 1 9 1 */ | ||
638 | &(nid_objs[49]),/* OBJ_pkcs9_unstructuredName 1 2 840 113549 1 9 2 */ | ||
639 | &(nid_objs[50]),/* OBJ_pkcs9_contentType 1 2 840 113549 1 9 3 */ | ||
640 | &(nid_objs[51]),/* OBJ_pkcs9_messageDigest 1 2 840 113549 1 9 4 */ | ||
641 | &(nid_objs[52]),/* OBJ_pkcs9_signingTime 1 2 840 113549 1 9 5 */ | ||
642 | &(nid_objs[53]),/* OBJ_pkcs9_countersignature 1 2 840 113549 1 9 6 */ | ||
643 | &(nid_objs[54]),/* OBJ_pkcs9_challengePassword 1 2 840 113549 1 9 7 */ | ||
644 | &(nid_objs[55]),/* OBJ_pkcs9_unstructuredAddress 1 2 840 113549 1 9 8 */ | ||
645 | &(nid_objs[56]),/* OBJ_pkcs9_extCertAttributes 1 2 840 113549 1 9 9 */ | ||
646 | &(nid_objs[71]),/* OBJ_netscape_cert_type 2 16 840 1 113730 1 1 */ | ||
647 | &(nid_objs[72]),/* OBJ_netscape_base_url 2 16 840 1 113730 1 2 */ | ||
648 | &(nid_objs[73]),/* OBJ_netscape_revocation_url 2 16 840 1 113730 1 3 */ | ||
649 | &(nid_objs[74]),/* OBJ_netscape_ca_revocation_url 2 16 840 1 113730 1 4 */ | ||
650 | &(nid_objs[75]),/* OBJ_netscape_renewal_url 2 16 840 1 113730 1 7 */ | ||
651 | &(nid_objs[76]),/* OBJ_netscape_ca_policy_url 2 16 840 1 113730 1 8 */ | ||
652 | &(nid_objs[77]),/* OBJ_netscape_ssl_server_name 2 16 840 1 113730 1 12 */ | ||
653 | &(nid_objs[78]),/* OBJ_netscape_comment 2 16 840 1 113730 1 13 */ | ||
654 | &(nid_objs[79]),/* OBJ_netscape_cert_sequence 2 16 840 1 113730 2 5 */ | ||
655 | }; | ||
656 | |||
diff --git a/src/lib/libcrypto/objects/obj_dat.pl b/src/lib/libcrypto/objects/obj_dat.pl index 4e7879d3f3..5043daef2a 100644 --- a/src/lib/libcrypto/objects/obj_dat.pl +++ b/src/lib/libcrypto/objects/obj_dat.pl | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/usr/bin/perl | 1 | #!/usr/local/bin/perl |
2 | 2 | ||
3 | sub obj_cmp | 3 | sub obj_cmp |
4 | { | 4 | { |
@@ -252,7 +252,7 @@ sub der_it | |||
252 | $ret.=pack("C*",$a[0]*40+$a[1]); | 252 | $ret.=pack("C*",$a[0]*40+$a[1]); |
253 | shift @a; | 253 | shift @a; |
254 | shift @a; | 254 | shift @a; |
255 | while ($_=shift(@a)) | 255 | foreach (@a) |
256 | { | 256 | { |
257 | @r=(); | 257 | @r=(); |
258 | $t=0; | 258 | $t=0; |
diff --git a/src/lib/libcrypto/objects/obj_err.c b/src/lib/libcrypto/objects/obj_err.c index 45206c616c..cef401db27 100644 --- a/src/lib/libcrypto/objects/obj_err.c +++ b/src/lib/libcrypto/objects/obj_err.c | |||
@@ -1,63 +1,65 @@ | |||
1 | /* lib/obj/obj_err.c */ | 1 | /* crypto/objects/obj_err.c */ |
2 | /* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) | 2 | /* ==================================================================== |
3 | * All rights reserved. | 3 | * Copyright (c) 1999 The OpenSSL Project. All rights reserved. |
4 | * | 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 | 5 | * Redistribution and use in source and binary forms, with or without |
24 | * modification, are permitted provided that the following conditions | 6 | * modification, are permitted provided that the following conditions |
25 | * are met: | 7 | * are met: |
26 | * 1. Redistributions of source code must retain the copyright | 8 | * |
27 | * notice, this list of conditions and the following disclaimer. | 9 | * 1. Redistributions of source code must retain the above copyright |
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
28 | * 2. Redistributions in binary form must reproduce the above copyright | 12 | * 2. Redistributions in binary form must reproduce the above copyright |
29 | * notice, this list of conditions and the following disclaimer in the | 13 | * notice, this list of conditions and the following disclaimer in |
30 | * documentation and/or other materials provided with the distribution. | 14 | * the documentation and/or other materials provided with the |
31 | * 3. All advertising materials mentioning features or use of this software | 15 | * distribution. |
32 | * must display the following acknowledgement: | 16 | * |
33 | * "This product includes cryptographic software written by | 17 | * 3. All advertising materials mentioning features or use of this |
34 | * Eric Young (eay@cryptsoft.com)" | 18 | * software must display the following acknowledgment: |
35 | * The word 'cryptographic' can be left out if the rouines from the library | 19 | * "This product includes software developed by the OpenSSL Project |
36 | * being used are not cryptographic related :-). | 20 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" |
37 | * 4. If you include any Windows specific code (or a derivative thereof) from | 21 | * |
38 | * the apps directory (application code) you must include an acknowledgement: | 22 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to |
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" | 23 | * endorse or promote products derived from this software without |
40 | * | 24 | * prior written permission. For written permission, please contact |
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND | 25 | * openssl-core@OpenSSL.org. |
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 26 | * |
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 27 | * 5. Products derived from this software may not be called "OpenSSL" |
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | 28 | * nor may "OpenSSL" appear in their names without prior written |
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 29 | * permission of the OpenSSL Project. |
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 30 | * |
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 31 | * 6. Redistributions of any form whatsoever must retain the following |
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 32 | * acknowledgment: |
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 33 | * "This product includes software developed by the OpenSSL Project |
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 34 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" |
51 | * SUCH DAMAGE. | 35 | * |
52 | * | 36 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY |
53 | * The licence and distribution terms for any publically available version or | 37 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be | 38 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
55 | * copied and put under another distribution licence | 39 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR |
56 | * [including the GNU Public Licence.] | 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 | * | ||
57 | */ | 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 | */ | ||
59 | |||
58 | #include <stdio.h> | 60 | #include <stdio.h> |
59 | #include "err.h" | 61 | #include <openssl/err.h> |
60 | #include "objects.h" | 62 | #include <openssl/objects.h> |
61 | 63 | ||
62 | /* BEGIN ERROR CODES */ | 64 | /* BEGIN ERROR CODES */ |
63 | #ifndef NO_ERR | 65 | #ifndef NO_ERR |
@@ -68,24 +70,24 @@ static ERR_STRING_DATA OBJ_str_functs[]= | |||
68 | {ERR_PACK(0,OBJ_F_OBJ_NID2LN,0), "OBJ_nid2ln"}, | 70 | {ERR_PACK(0,OBJ_F_OBJ_NID2LN,0), "OBJ_nid2ln"}, |
69 | {ERR_PACK(0,OBJ_F_OBJ_NID2OBJ,0), "OBJ_nid2obj"}, | 71 | {ERR_PACK(0,OBJ_F_OBJ_NID2OBJ,0), "OBJ_nid2obj"}, |
70 | {ERR_PACK(0,OBJ_F_OBJ_NID2SN,0), "OBJ_nid2sn"}, | 72 | {ERR_PACK(0,OBJ_F_OBJ_NID2SN,0), "OBJ_nid2sn"}, |
71 | {0,NULL}, | 73 | {0,NULL} |
72 | }; | 74 | }; |
73 | 75 | ||
74 | static ERR_STRING_DATA OBJ_str_reasons[]= | 76 | static ERR_STRING_DATA OBJ_str_reasons[]= |
75 | { | 77 | { |
76 | {OBJ_R_MALLOC_FAILURE ,"malloc failure"}, | 78 | {OBJ_R_MALLOC_FAILURE ,"malloc failure"}, |
77 | {OBJ_R_UNKNOWN_NID ,"unknown nid"}, | 79 | {OBJ_R_UNKNOWN_NID ,"unknown nid"}, |
78 | {0,NULL}, | 80 | {0,NULL} |
79 | }; | 81 | }; |
80 | 82 | ||
81 | #endif | 83 | #endif |
82 | 84 | ||
83 | void ERR_load_OBJ_strings() | 85 | void ERR_load_OBJ_strings(void) |
84 | { | 86 | { |
85 | static int init=1; | 87 | static int init=1; |
86 | 88 | ||
87 | if (init); | 89 | if (init) |
88 | {; | 90 | { |
89 | init=0; | 91 | init=0; |
90 | #ifndef NO_ERR | 92 | #ifndef NO_ERR |
91 | ERR_load_strings(ERR_LIB_OBJ,OBJ_str_functs); | 93 | ERR_load_strings(ERR_LIB_OBJ,OBJ_str_functs); |
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c index 0a9c756197..1a1ba0fc06 100644 --- a/src/lib/libcrypto/objects/obj_lib.c +++ b/src/lib/libcrypto/objects/obj_lib.c | |||
@@ -58,27 +58,27 @@ | |||
58 | 58 | ||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include "cryptlib.h" | 60 | #include "cryptlib.h" |
61 | #include "lhash.h" | 61 | #include <openssl/lhash.h> |
62 | #include "objects.h" | 62 | #include <openssl/objects.h> |
63 | #include "buffer.h" | 63 | #include <openssl/buffer.h> |
64 | 64 | ||
65 | ASN1_OBJECT *OBJ_dup(o) | 65 | ASN1_OBJECT *OBJ_dup(ASN1_OBJECT *o) |
66 | ASN1_OBJECT *o; | ||
67 | { | 66 | { |
68 | ASN1_OBJECT *r; | 67 | ASN1_OBJECT *r; |
69 | int i; | 68 | int i; |
69 | char *ln=NULL; | ||
70 | 70 | ||
71 | if (o == NULL) return(NULL); | 71 | if (o == NULL) return(NULL); |
72 | if (!(o->flags & ASN1_OBJECT_FLAG_DYNAMIC)) | 72 | if (!(o->flags & ASN1_OBJECT_FLAG_DYNAMIC)) |
73 | return(o); | 73 | return(o); |
74 | 74 | ||
75 | r=(ASN1_OBJECT *)ASN1_OBJECT_new(); | 75 | r=ASN1_OBJECT_new(); |
76 | if (r == NULL) | 76 | if (r == NULL) |
77 | { | 77 | { |
78 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_ASN1_LIB); | 78 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_ASN1_LIB); |
79 | return(NULL); | 79 | return(NULL); |
80 | } | 80 | } |
81 | r->data=(unsigned char *)Malloc(o->length); | 81 | r->data=Malloc(o->length); |
82 | if (r->data == NULL) | 82 | if (r->data == NULL) |
83 | goto err; | 83 | goto err; |
84 | memcpy(r->data,o->data,o->length); | 84 | memcpy(r->data,o->data,o->length); |
@@ -88,35 +88,35 @@ ASN1_OBJECT *o; | |||
88 | if (o->ln != NULL) | 88 | if (o->ln != NULL) |
89 | { | 89 | { |
90 | i=strlen(o->ln)+1; | 90 | i=strlen(o->ln)+1; |
91 | r->ln=(char *)Malloc(i); | 91 | r->ln=ln=Malloc(i); |
92 | if (r->ln == NULL) goto err; | 92 | if (r->ln == NULL) goto err; |
93 | memcpy(r->ln,o->ln,i); | 93 | memcpy(ln,o->ln,i); |
94 | } | 94 | } |
95 | 95 | ||
96 | if (o->sn != NULL) | 96 | if (o->sn != NULL) |
97 | { | 97 | { |
98 | char *s; | ||
99 | |||
98 | i=strlen(o->sn)+1; | 100 | i=strlen(o->sn)+1; |
99 | r->sn=(char *)Malloc(i); | 101 | r->sn=s=Malloc(i); |
100 | if (r->sn == NULL) goto err; | 102 | if (r->sn == NULL) goto err; |
101 | memcpy(r->sn,o->sn,i); | 103 | memcpy(s,o->sn,i); |
102 | } | 104 | } |
103 | r->flags=o->flags|(ASN1_OBJECT_FLAG_DYNAMIC| | 105 | r->flags=o->flags|(ASN1_OBJECT_FLAG_DYNAMIC| |
104 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS); | 106 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|ASN1_OBJECT_FLAG_DYNAMIC_DATA); |
105 | return(r); | 107 | return(r); |
106 | err: | 108 | err: |
107 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_MALLOC_FAILURE); | 109 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_MALLOC_FAILURE); |
108 | if (r != NULL) | 110 | if (r != NULL) |
109 | { | 111 | { |
110 | if (r->ln != NULL) Free(r->ln); | 112 | if (ln != NULL) Free(ln); |
111 | if (r->data != NULL) Free(r->data); | 113 | if (r->data != NULL) Free(r->data); |
112 | Free(r); | 114 | Free(r); |
113 | } | 115 | } |
114 | return(NULL); | 116 | return(NULL); |
115 | } | 117 | } |
116 | 118 | ||
117 | int OBJ_cmp(a,b) | 119 | int OBJ_cmp(ASN1_OBJECT *a, ASN1_OBJECT *b) |
118 | ASN1_OBJECT *a; | ||
119 | ASN1_OBJECT *b; | ||
120 | { | 120 | { |
121 | int ret; | 121 | int ret; |
122 | 122 | ||
diff --git a/src/lib/libcrypto/objects/objects.err b/src/lib/libcrypto/objects/objects.err deleted file mode 100644 index 8bec3eaea2..0000000000 --- a/src/lib/libcrypto/objects/objects.err +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | /* Error codes for the OBJ functions. */ | ||
2 | |||
3 | /* Function codes. */ | ||
4 | #define OBJ_F_OBJ_CREATE 100 | ||
5 | #define OBJ_F_OBJ_DUP 101 | ||
6 | #define OBJ_F_OBJ_NID2LN 102 | ||
7 | #define OBJ_F_OBJ_NID2OBJ 103 | ||
8 | #define OBJ_F_OBJ_NID2SN 104 | ||
9 | |||
10 | /* Reason codes. */ | ||
11 | #define OBJ_R_MALLOC_FAILURE 100 | ||
12 | #define OBJ_R_UNKNOWN_NID 101 | ||
diff --git a/src/lib/libcrypto/objects/objects.h b/src/lib/libcrypto/objects/objects.h index e1d555b47c..d03748e022 100644 --- a/src/lib/libcrypto/objects/objects.h +++ b/src/lib/libcrypto/objects/objects.h | |||
@@ -66,6 +66,7 @@ extern "C" { | |||
66 | #define SN_undef "UNDEF" | 66 | #define SN_undef "UNDEF" |
67 | #define LN_undef "undefined" | 67 | #define LN_undef "undefined" |
68 | #define NID_undef 0 | 68 | #define NID_undef 0 |
69 | #define OBJ_undef 0L | ||
69 | 70 | ||
70 | #define SN_Algorithm "Algorithm" | 71 | #define SN_Algorithm "Algorithm" |
71 | #define LN_algorithm "algorithm" | 72 | #define LN_algorithm "algorithm" |
@@ -383,13 +384,16 @@ extern "C" { | |||
383 | #define NID_pbeWithSHA1AndRC2_CBC 68 | 384 | #define NID_pbeWithSHA1AndRC2_CBC 68 |
384 | #define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L | 385 | #define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L |
385 | 386 | ||
386 | /* proposed by microsoft to RSA */ | 387 | /* proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now |
387 | #define LN_pbeWithSHA1AndRC4 "pbeWithSHA1AndRC4" | 388 | * defined explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something |
388 | #define NID_pbeWithSHA1AndRC4 69 | 389 | * completely different. |
389 | #define OBJ_pbeWithSHA1AndRC4 OBJ_pkcs,5L,12L | 390 | */ |
391 | #define LN_id_pbkdf2 "PBKDF2" | ||
392 | #define NID_id_pbkdf2 69 | ||
393 | #define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L | ||
390 | 394 | ||
391 | #define SN_dsaWithSHA1_2 "DSA-SHA1-old" | 395 | #define SN_dsaWithSHA1_2 "DSA-SHA1-old" |
392 | #define LN_dsaWithSHA1_2 "dsaWithSHA1" | 396 | #define LN_dsaWithSHA1_2 "dsaWithSHA1-old" |
393 | #define NID_dsaWithSHA1_2 70 | 397 | #define NID_dsaWithSHA1_2 70 |
394 | /* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ | 398 | /* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ |
395 | #define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L | 399 | #define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L |
@@ -654,21 +658,280 @@ extern "C" { | |||
654 | #define LN_rc5_ofb64 "rc5-ofb" | 658 | #define LN_rc5_ofb64 "rc5-ofb" |
655 | #define NID_rc5_ofb64 123 | 659 | #define NID_rc5_ofb64 123 |
656 | 660 | ||
657 | #include "bio.h" | 661 | #define SN_rle_compression "RLE" |
658 | #include "asn1.h" | 662 | #define LN_rle_compression "run length compression" |
663 | #define NID_rle_compression 124 | ||
664 | #define OBJ_rle_compression 1L,1L,1L,1L,666L.1L | ||
665 | |||
666 | #define SN_zlib_compression "ZLIB" | ||
667 | #define LN_zlib_compression "zlib compression" | ||
668 | #define NID_zlib_compression 125 | ||
669 | #define OBJ_zlib_compression 1L,1L,1L,1L,666L.2L | ||
670 | |||
671 | #define SN_ext_key_usage "extendedKeyUsage" | ||
672 | #define LN_ext_key_usage "X509v3 Extended Key Usage" | ||
673 | #define NID_ext_key_usage 126 | ||
674 | #define OBJ_ext_key_usage OBJ_ld_ce,37 | ||
675 | |||
676 | #define SN_id_pkix "PKIX" | ||
677 | #define NID_id_pkix 127 | ||
678 | #define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L | ||
679 | |||
680 | #define SN_id_kp "id-kp" | ||
681 | #define NID_id_kp 128 | ||
682 | #define OBJ_id_kp OBJ_id_pkix,3L | ||
683 | |||
684 | /* PKIX extended key usage OIDs */ | ||
685 | |||
686 | #define SN_server_auth "serverAuth" | ||
687 | #define LN_server_auth "TLS Web Server Authentication" | ||
688 | #define NID_server_auth 129 | ||
689 | #define OBJ_server_auth OBJ_id_kp,1L | ||
690 | |||
691 | #define SN_client_auth "clientAuth" | ||
692 | #define LN_client_auth "TLS Web Client Authentication" | ||
693 | #define NID_client_auth 130 | ||
694 | #define OBJ_client_auth OBJ_id_kp,2L | ||
695 | |||
696 | #define SN_code_sign "codeSigning" | ||
697 | #define LN_code_sign "Code Signing" | ||
698 | #define NID_code_sign 131 | ||
699 | #define OBJ_code_sign OBJ_id_kp,3L | ||
700 | |||
701 | #define SN_email_protect "emailProtection" | ||
702 | #define LN_email_protect "E-mail Protection" | ||
703 | #define NID_email_protect 132 | ||
704 | #define OBJ_email_protect OBJ_id_kp,4L | ||
705 | |||
706 | #define SN_time_stamp "timeStamping" | ||
707 | #define LN_time_stamp "Time Stamping" | ||
708 | #define NID_time_stamp 133 | ||
709 | #define OBJ_time_stamp OBJ_id_kp,8L | ||
710 | |||
711 | /* Additional extended key usage OIDs: Microsoft */ | ||
712 | |||
713 | #define SN_ms_code_ind "msCodeInd" | ||
714 | #define LN_ms_code_ind "Microsoft Individual Code Signing" | ||
715 | #define NID_ms_code_ind 134 | ||
716 | #define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L | ||
717 | |||
718 | #define SN_ms_code_com "msCodeCom" | ||
719 | #define LN_ms_code_com "Microsoft Commercial Code Signing" | ||
720 | #define NID_ms_code_com 135 | ||
721 | #define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L | ||
722 | |||
723 | #define SN_ms_ctl_sign "msCTLSign" | ||
724 | #define LN_ms_ctl_sign "Microsoft Trust List Signing" | ||
725 | #define NID_ms_ctl_sign 136 | ||
726 | #define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L | ||
727 | |||
728 | #define SN_ms_sgc "msSGC" | ||
729 | #define LN_ms_sgc "Microsoft Server Gated Crypto" | ||
730 | #define NID_ms_sgc 137 | ||
731 | #define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L | ||
732 | |||
733 | #define SN_ms_efs "msEFS" | ||
734 | #define LN_ms_efs "Microsoft Encrypted File System" | ||
735 | #define NID_ms_efs 138 | ||
736 | #define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L | ||
737 | |||
738 | /* Addidional usage: Netscape */ | ||
739 | |||
740 | #define SN_ns_sgc "nsSGC" | ||
741 | #define LN_ns_sgc "Netscape Server Gated Crypto" | ||
742 | #define NID_ns_sgc 139 | ||
743 | #define OBJ_ns_sgc OBJ_netscape,4L,1L | ||
744 | |||
745 | #define SN_delta_crl "deltaCRL" | ||
746 | #define LN_delta_crl "X509v3 Delta CRL Indicator" | ||
747 | #define NID_delta_crl 140 | ||
748 | #define OBJ_delta_crl OBJ_ld_ce,27L | ||
749 | |||
750 | #define SN_crl_reason "CRLReason" | ||
751 | #define LN_crl_reason "CRL Reason Code" | ||
752 | #define NID_crl_reason 141 | ||
753 | #define OBJ_crl_reason OBJ_ld_ce,21L | ||
754 | |||
755 | #define SN_invalidity_date "invalidityDate" | ||
756 | #define LN_invalidity_date "Invalidity Date" | ||
757 | #define NID_invalidity_date 142 | ||
758 | #define OBJ_invalidity_date OBJ_ld_ce,24L | ||
759 | |||
760 | #define SN_sxnet "SXNetID" | ||
761 | #define LN_sxnet "Strong Extranet ID" | ||
762 | #define NID_sxnet 143 | ||
763 | #define OBJ_sxnet 1L,3L,101L,1L,4L,1L | ||
764 | |||
765 | /* PKCS12 and related OBJECT IDENTIFIERS */ | ||
766 | |||
767 | #define OBJ_pkcs12 OBJ_pkcs,12L | ||
768 | #define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 | ||
769 | |||
770 | #define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" | ||
771 | #define NID_pbe_WithSHA1And128BitRC4 144 | ||
772 | #define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L | ||
773 | |||
774 | #define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" | ||
775 | #define NID_pbe_WithSHA1And40BitRC4 145 | ||
776 | #define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L | ||
777 | |||
778 | #define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" | ||
779 | #define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 | ||
780 | #define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L | ||
781 | |||
782 | #define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" | ||
783 | #define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 | ||
784 | #define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L | ||
785 | |||
786 | #define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" | ||
787 | #define NID_pbe_WithSHA1And128BitRC2_CBC 148 | ||
788 | #define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L | ||
789 | |||
790 | #define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" | ||
791 | #define NID_pbe_WithSHA1And40BitRC2_CBC 149 | ||
792 | #define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L | ||
793 | |||
794 | #define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L | ||
795 | |||
796 | #define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L | ||
797 | |||
798 | #define LN_keyBag "keyBag" | ||
799 | #define NID_keyBag 150 | ||
800 | #define OBJ_keyBag OBJ_pkcs12_BagIds, 1L | ||
801 | |||
802 | #define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" | ||
803 | #define NID_pkcs8ShroudedKeyBag 151 | ||
804 | #define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L | ||
805 | |||
806 | #define LN_certBag "certBag" | ||
807 | #define NID_certBag 152 | ||
808 | #define OBJ_certBag OBJ_pkcs12_BagIds, 3L | ||
809 | |||
810 | #define LN_crlBag "crlBag" | ||
811 | #define NID_crlBag 153 | ||
812 | #define OBJ_crlBag OBJ_pkcs12_BagIds, 4L | ||
813 | |||
814 | #define LN_secretBag "secretBag" | ||
815 | #define NID_secretBag 154 | ||
816 | #define OBJ_secretBag OBJ_pkcs12_BagIds, 5L | ||
817 | |||
818 | #define LN_safeContentsBag "safeContentsBag" | ||
819 | #define NID_safeContentsBag 155 | ||
820 | #define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L | ||
821 | |||
822 | #define LN_friendlyName "friendlyName" | ||
823 | #define NID_friendlyName 156 | ||
824 | #define OBJ_friendlyName OBJ_pkcs9, 20L | ||
825 | |||
826 | #define LN_localKeyID "localKeyID" | ||
827 | #define NID_localKeyID 157 | ||
828 | #define OBJ_localKeyID OBJ_pkcs9, 21L | ||
829 | |||
830 | #define OBJ_certTypes OBJ_pkcs9, 22L | ||
831 | |||
832 | #define LN_x509Certificate "x509Certificate" | ||
833 | #define NID_x509Certificate 158 | ||
834 | #define OBJ_x509Certificate OBJ_certTypes, 1L | ||
835 | |||
836 | #define LN_sdsiCertificate "sdsiCertificate" | ||
837 | #define NID_sdsiCertificate 159 | ||
838 | #define OBJ_sdsiCertificate OBJ_certTypes, 2L | ||
839 | |||
840 | #define OBJ_crlTypes OBJ_pkcs9, 23L | ||
841 | |||
842 | #define LN_x509Crl "x509Crl" | ||
843 | #define NID_x509Crl 160 | ||
844 | #define OBJ_x509Crl OBJ_crlTypes, 1L | ||
845 | |||
846 | /* PKCS#5 v2 OIDs */ | ||
847 | |||
848 | #define LN_pbes2 "PBES2" | ||
849 | #define NID_pbes2 161 | ||
850 | #define OBJ_pbes2 OBJ_pkcs,5L,13L | ||
851 | |||
852 | #define LN_pbmac1 "PBMAC1" | ||
853 | #define NID_pbmac1 162 | ||
854 | #define OBJ_pbmac1 OBJ_pkcs,5L,14L | ||
855 | |||
856 | #define LN_hmacWithSHA1 "hmacWithSHA1" | ||
857 | #define NID_hmacWithSHA1 163 | ||
858 | #define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L | ||
859 | |||
860 | /* Policy Qualifier Ids */ | ||
861 | |||
862 | #define LN_id_qt_cps "Policy Qualifier CPS" | ||
863 | #define SN_id_qt_cps "id-qt-cps" | ||
864 | #define NID_id_qt_cps 164 | ||
865 | #define OBJ_id_qt_cps OBJ_id_pkix,2L,1L | ||
866 | |||
867 | #define LN_id_qt_unotice "Policy Qualifier User Notice" | ||
868 | #define SN_id_qt_unotice "id-qt-unotice" | ||
869 | #define NID_id_qt_unotice 165 | ||
870 | #define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L | ||
871 | |||
872 | #define SN_rc2_64_cbc "RC2-64-CBC" | ||
873 | #define LN_rc2_64_cbc "rc2-64-cbc" | ||
874 | #define NID_rc2_64_cbc 166 | ||
875 | |||
876 | #define SN_SMIMECapabilities "SMIME-CAPS" | ||
877 | #define LN_SMIMECapabilities "S/MIME Capabilities" | ||
878 | #define NID_SMIMECapabilities 167 | ||
879 | #define OBJ_SMIMECapabilities OBJ_id_pkcs9,15L | ||
880 | |||
881 | #define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" | ||
882 | #define NID_pbeWithMD2AndRC2_CBC 168 | ||
883 | #define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L | ||
884 | |||
885 | #define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" | ||
886 | #define NID_pbeWithMD5AndRC2_CBC 169 | ||
887 | #define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L | ||
888 | |||
889 | #define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" | ||
890 | #define NID_pbeWithSHA1AndDES_CBC 170 | ||
891 | #define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L | ||
892 | |||
893 | #include <openssl/bio.h> | ||
894 | #include <openssl/asn1.h> | ||
895 | |||
896 | #define OBJ_NAME_TYPE_UNDEF 0x00 | ||
897 | #define OBJ_NAME_TYPE_MD_METH 0x01 | ||
898 | #define OBJ_NAME_TYPE_CIPHER_METH 0x02 | ||
899 | #define OBJ_NAME_TYPE_PKEY_METH 0x03 | ||
900 | #define OBJ_NAME_TYPE_COMP_METH 0x04 | ||
901 | #define OBJ_NAME_TYPE_NUM 0x05 | ||
902 | |||
903 | #define OBJ_NAME_ALIAS 0x8000 | ||
904 | |||
905 | |||
906 | typedef struct obj_name_st | ||
907 | { | ||
908 | int type; | ||
909 | int alias; | ||
910 | const char *name; | ||
911 | const char *data; | ||
912 | } OBJ_NAME; | ||
659 | 913 | ||
660 | #define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) | 914 | #define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) |
661 | 915 | ||
662 | #ifndef NOPROTO | 916 | |
917 | int OBJ_NAME_init(void); | ||
918 | int OBJ_NAME_new_index(unsigned long (*hash_func)(),int (*cmp_func)(), | ||
919 | void (*free_func)()); | ||
920 | const char *OBJ_NAME_get(const char *name,int type); | ||
921 | int OBJ_NAME_add(const char *name,int type,const char *data); | ||
922 | int OBJ_NAME_remove(const char *name,int type); | ||
923 | void OBJ_NAME_cleanup(int type); /* -1 for everything */ | ||
663 | 924 | ||
664 | ASN1_OBJECT * OBJ_dup(ASN1_OBJECT *o); | 925 | ASN1_OBJECT * OBJ_dup(ASN1_OBJECT *o); |
665 | ASN1_OBJECT * OBJ_nid2obj(int n); | 926 | ASN1_OBJECT * OBJ_nid2obj(int n); |
666 | char * OBJ_nid2ln(int n); | 927 | const char * OBJ_nid2ln(int n); |
667 | char * OBJ_nid2sn(int n); | 928 | const char * OBJ_nid2sn(int n); |
668 | int OBJ_obj2nid(ASN1_OBJECT *o); | 929 | int OBJ_obj2nid(ASN1_OBJECT *o); |
930 | ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name); | ||
931 | int OBJ_obj2txt(char *buf, int buf_len, ASN1_OBJECT *a, int no_name); | ||
669 | int OBJ_txt2nid(char *s); | 932 | int OBJ_txt2nid(char *s); |
670 | int OBJ_ln2nid(char *s); | 933 | int OBJ_ln2nid(const char *s); |
671 | int OBJ_sn2nid(char *s); | 934 | int OBJ_sn2nid(const char *s); |
672 | int OBJ_cmp(ASN1_OBJECT *a,ASN1_OBJECT *b); | 935 | int OBJ_cmp(ASN1_OBJECT *a,ASN1_OBJECT *b); |
673 | char * OBJ_bsearch(char *key,char *base,int num,int size,int (*cmp)()); | 936 | char * OBJ_bsearch(char *key,char *base,int num,int size,int (*cmp)()); |
674 | 937 | ||
@@ -680,30 +943,11 @@ int OBJ_create(char *oid,char *sn,char *ln); | |||
680 | void OBJ_cleanup(void ); | 943 | void OBJ_cleanup(void ); |
681 | int OBJ_create_objects(BIO *in); | 944 | int OBJ_create_objects(BIO *in); |
682 | 945 | ||
683 | #else | ||
684 | |||
685 | ASN1_OBJECT * OBJ_dup(); | ||
686 | ASN1_OBJECT * OBJ_nid2obj(); | ||
687 | char * OBJ_nid2ln(); | ||
688 | char * OBJ_nid2sn(); | ||
689 | int OBJ_obj2nid(); | ||
690 | int OBJ_txt2nid(); | ||
691 | int OBJ_ln2nid(); | ||
692 | int OBJ_sn2nid(); | ||
693 | int OBJ_cmp(); | ||
694 | char * OBJ_bsearch(); | ||
695 | |||
696 | void ERR_load_OBJ_strings(); | ||
697 | |||
698 | int OBJ_new_nid(); | ||
699 | int OBJ_add_object(); | ||
700 | int OBJ_create(); | ||
701 | void OBJ_cleanup(); | ||
702 | int OBJ_create_objects(); | ||
703 | |||
704 | #endif | ||
705 | |||
706 | /* BEGIN ERROR CODES */ | 946 | /* BEGIN ERROR CODES */ |
947 | /* The following lines are auto generated by the script mkerr.pl. Any changes | ||
948 | * made after this point may be overwritten when the script is next run. | ||
949 | */ | ||
950 | |||
707 | /* Error codes for the OBJ functions. */ | 951 | /* Error codes for the OBJ functions. */ |
708 | 952 | ||
709 | /* Function codes. */ | 953 | /* Function codes. */ |
@@ -716,7 +960,7 @@ int OBJ_create_objects(); | |||
716 | /* Reason codes. */ | 960 | /* Reason codes. */ |
717 | #define OBJ_R_MALLOC_FAILURE 100 | 961 | #define OBJ_R_MALLOC_FAILURE 100 |
718 | #define OBJ_R_UNKNOWN_NID 101 | 962 | #define OBJ_R_UNKNOWN_NID 101 |
719 | 963 | ||
720 | #ifdef __cplusplus | 964 | #ifdef __cplusplus |
721 | } | 965 | } |
722 | #endif | 966 | #endif |