summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/objects
diff options
context:
space:
mode:
authorcvs2svn <admin@example.com>2021-08-18 16:06:57 +0000
committercvs2svn <admin@example.com>2021-08-18 16:06:57 +0000
commitd56c8fa8260d226f98b26f017b45b9c2b135f38d (patch)
tree348178b41617813cc93787187984a734ef8379ca /src/lib/libcrypto/objects
parent18b9c1bcab7c37d8c5bd05b8e0d14d0c59d96650 (diff)
downloadopenbsd-tb_20210818.tar.gz
openbsd-tb_20210818.tar.bz2
openbsd-tb_20210818.zip
This commit was manufactured by cvs2git to create tag 'tb_20210818'.tb_20210818
Diffstat (limited to 'src/lib/libcrypto/objects')
-rw-r--r--src/lib/libcrypto/objects/o_names.c354
-rw-r--r--src/lib/libcrypto/objects/obj_dat.c817
-rw-r--r--src/lib/libcrypto/objects/obj_dat.pl307
-rw-r--r--src/lib/libcrypto/objects/obj_err.c96
-rw-r--r--src/lib/libcrypto/objects/obj_lib.c130
-rw-r--r--src/lib/libcrypto/objects/obj_mac.num1014
-rw-r--r--src/lib/libcrypto/objects/obj_xref.c237
-rw-r--r--src/lib/libcrypto/objects/obj_xref.h105
-rw-r--r--src/lib/libcrypto/objects/obj_xref.txt61
-rw-r--r--src/lib/libcrypto/objects/objects.README44
-rw-r--r--src/lib/libcrypto/objects/objects.h1140
-rw-r--r--src/lib/libcrypto/objects/objects.pl233
-rw-r--r--src/lib/libcrypto/objects/objects.txt1424
-rw-r--r--src/lib/libcrypto/objects/objxref.pl111
14 files changed, 0 insertions, 6073 deletions
diff --git a/src/lib/libcrypto/objects/o_names.c b/src/lib/libcrypto/objects/o_names.c
deleted file mode 100644
index a9e5f859d5..0000000000
--- a/src/lib/libcrypto/objects/o_names.c
+++ /dev/null
@@ -1,354 +0,0 @@
1/* $OpenBSD: o_names.c,v 1.22 2017/01/29 17:49:23 beck Exp $ */
2#include <stdio.h>
3#include <stdlib.h>
4#include <string.h>
5
6#include <openssl/opensslconf.h>
7
8#include <openssl/err.h>
9#include <openssl/lhash.h>
10#include <openssl/objects.h>
11#include <openssl/safestack.h>
12
13/* I use the ex_data stuff to manage the identifiers for the obj_name_types
14 * that applications may define. I only really use the free function field.
15 */
16DECLARE_LHASH_OF(OBJ_NAME);
17static LHASH_OF(OBJ_NAME) *names_lh = NULL;
18static int names_type_num = OBJ_NAME_TYPE_NUM;
19
20typedef struct name_funcs_st {
21 unsigned long (*hash_func)(const char *name);
22 int (*cmp_func)(const char *a, const char *b);
23 void (*free_func)(const char *, int, const char *);
24} NAME_FUNCS;
25
26DECLARE_STACK_OF(NAME_FUNCS)
27
28static STACK_OF(NAME_FUNCS) *name_funcs_stack;
29
30/* The LHASH callbacks now use the raw "void *" prototypes and do per-variable
31 * casting in the functions. This prevents function pointer casting without the
32 * need for macro-generated wrapper functions. */
33
34/* static unsigned long obj_name_hash(OBJ_NAME *a); */
35static unsigned long obj_name_hash(const void *a_void);
36/* static int obj_name_cmp(OBJ_NAME *a,OBJ_NAME *b); */
37static int obj_name_cmp(const void *a_void, const void *b_void);
38
39static IMPLEMENT_LHASH_HASH_FN(obj_name, OBJ_NAME)
40static IMPLEMENT_LHASH_COMP_FN(obj_name, OBJ_NAME)
41
42int
43OBJ_NAME_init(void)
44{
45 if (names_lh != NULL)
46 return (1);
47 names_lh = lh_OBJ_NAME_new();
48 return (names_lh != NULL);
49}
50
51int
52OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
53 int (*cmp_func)(const char *, const char *),
54 void (*free_func)(const char *, int, const char *))
55{
56 int ret;
57 int i;
58 NAME_FUNCS *name_funcs;
59
60 if (name_funcs_stack == NULL)
61 name_funcs_stack = sk_NAME_FUNCS_new_null();
62 if (name_funcs_stack == NULL)
63 return (0);
64
65 ret = names_type_num;
66 names_type_num++;
67 for (i = sk_NAME_FUNCS_num(name_funcs_stack); i < names_type_num; i++) {
68 name_funcs = malloc(sizeof(NAME_FUNCS));
69 if (!name_funcs) {
70 OBJerror(ERR_R_MALLOC_FAILURE);
71 return (0);
72 }
73 name_funcs->hash_func = lh_strhash;
74 name_funcs->cmp_func = strcmp;
75 name_funcs->free_func = NULL;
76 if (sk_NAME_FUNCS_push(name_funcs_stack, name_funcs) == 0) {
77 free(name_funcs);
78 OBJerror(ERR_R_MALLOC_FAILURE);
79 return (0);
80 }
81 }
82 name_funcs = sk_NAME_FUNCS_value(name_funcs_stack, ret);
83 if (hash_func != NULL)
84 name_funcs->hash_func = hash_func;
85 if (cmp_func != NULL)
86 name_funcs->cmp_func = cmp_func;
87 if (free_func != NULL)
88 name_funcs->free_func = free_func;
89 return (ret);
90}
91
92/* static int obj_name_cmp(OBJ_NAME *a, OBJ_NAME *b) */
93static int
94obj_name_cmp(const void *a_void, const void *b_void)
95{
96 int ret;
97 const OBJ_NAME *a = (const OBJ_NAME *)a_void;
98 const OBJ_NAME *b = (const OBJ_NAME *)b_void;
99
100 ret = a->type - b->type;
101 if (ret == 0) {
102 if ((name_funcs_stack != NULL) &&
103 (sk_NAME_FUNCS_num(name_funcs_stack) > a->type)) {
104 ret = sk_NAME_FUNCS_value(name_funcs_stack,
105 a->type)->cmp_func(a->name, b->name);
106 } else
107 ret = strcmp(a->name, b->name);
108 }
109 return (ret);
110}
111
112/* static unsigned long obj_name_hash(OBJ_NAME *a) */
113static unsigned long
114obj_name_hash(const void *a_void)
115{
116 unsigned long ret;
117 const OBJ_NAME *a = (const OBJ_NAME *)a_void;
118
119 if ((name_funcs_stack != NULL) &&
120 (sk_NAME_FUNCS_num(name_funcs_stack) > a->type)) {
121 ret = sk_NAME_FUNCS_value(name_funcs_stack,
122 a->type)->hash_func(a->name);
123 } else {
124 ret = lh_strhash(a->name);
125 }
126 ret ^= a->type;
127 return (ret);
128}
129
130const char *
131OBJ_NAME_get(const char *name, int type)
132{
133 OBJ_NAME on, *ret;
134 int num = 0, alias;
135
136 if (name == NULL)
137 return (NULL);
138 if ((names_lh == NULL) && !OBJ_NAME_init())
139 return (NULL);
140
141 alias = type&OBJ_NAME_ALIAS;
142 type&= ~OBJ_NAME_ALIAS;
143
144 on.name = name;
145 on.type = type;
146
147 for (;;) {
148 ret = lh_OBJ_NAME_retrieve(names_lh, &on);
149 if (ret == NULL)
150 return (NULL);
151 if ((ret->alias) && !alias) {
152 if (++num > 10)
153 return (NULL);
154 on.name = ret->data;
155 } else {
156 return (ret->data);
157 }
158 }
159}
160
161int
162OBJ_NAME_add(const char *name, int type, const char *data)
163{
164 OBJ_NAME *onp, *ret;
165 int alias;
166
167 if ((names_lh == NULL) && !OBJ_NAME_init())
168 return (0);
169
170 alias = type & OBJ_NAME_ALIAS;
171 type &= ~OBJ_NAME_ALIAS;
172
173 onp = malloc(sizeof(OBJ_NAME));
174 if (onp == NULL) {
175 /* ERROR */
176 return (0);
177 }
178
179 onp->name = name;
180 onp->alias = alias;
181 onp->type = type;
182 onp->data = data;
183
184 ret = lh_OBJ_NAME_insert(names_lh, onp);
185 if (ret != NULL) {
186 /* free things */
187 if ((name_funcs_stack != NULL) &&
188 (sk_NAME_FUNCS_num(name_funcs_stack) > ret->type)) {
189 /* XXX: I'm not sure I understand why the free
190 * function should get three arguments...
191 * -- Richard Levitte
192 */
193 sk_NAME_FUNCS_value(
194 name_funcs_stack, ret->type)->free_func(
195 ret->name, ret->type, ret->data);
196 }
197 free(ret);
198 } else {
199 if (lh_OBJ_NAME_error(names_lh)) {
200 /* ERROR */
201 return (0);
202 }
203 }
204 return (1);
205}
206
207int
208OBJ_NAME_remove(const char *name, int type)
209{
210 OBJ_NAME on, *ret;
211
212 if (names_lh == NULL)
213 return (0);
214
215 type &= ~OBJ_NAME_ALIAS;
216 on.name = name;
217 on.type = type;
218 ret = lh_OBJ_NAME_delete(names_lh, &on);
219 if (ret != NULL) {
220 /* free things */
221 if ((name_funcs_stack != NULL) &&
222 (sk_NAME_FUNCS_num(name_funcs_stack) > ret->type)) {
223 /* XXX: I'm not sure I understand why the free
224 * function should get three arguments...
225 * -- Richard Levitte
226 */
227 sk_NAME_FUNCS_value(
228 name_funcs_stack, ret->type)->free_func(
229 ret->name, ret->type, ret->data);
230 }
231 free(ret);
232 return (1);
233 } else
234 return (0);
235}
236
237struct doall {
238 int type;
239 void (*fn)(const OBJ_NAME *, void *arg);
240 void *arg;
241};
242
243static void
244do_all_fn_doall_arg(const OBJ_NAME *name, struct doall *d)
245{
246 if (name->type == d->type)
247 d->fn(name, d->arg);
248}
249
250static IMPLEMENT_LHASH_DOALL_ARG_FN(do_all_fn, const OBJ_NAME, struct doall)
251
252void
253OBJ_NAME_do_all(int type, void (*fn)(const OBJ_NAME *, void *arg), void *arg)
254{
255 struct doall d;
256
257 d.type = type;
258 d.fn = fn;
259 d.arg = arg;
260
261 lh_OBJ_NAME_doall_arg(names_lh, LHASH_DOALL_ARG_FN(do_all_fn),
262 struct doall, &d);
263}
264
265struct doall_sorted {
266 int type;
267 int n;
268 const OBJ_NAME **names;
269};
270
271static void
272do_all_sorted_fn(const OBJ_NAME *name, void *d_)
273{
274 struct doall_sorted *d = d_;
275
276 if (name->type != d->type)
277 return;
278
279 d->names[d->n++] = name;
280}
281
282static int
283do_all_sorted_cmp(const void *n1_, const void *n2_)
284{
285 const OBJ_NAME * const *n1 = n1_;
286 const OBJ_NAME * const *n2 = n2_;
287
288 return strcmp((*n1)->name, (*n2)->name);
289}
290
291void
292OBJ_NAME_do_all_sorted(int type, void (*fn)(const OBJ_NAME *, void *arg),
293 void *arg)
294{
295 struct doall_sorted d;
296 int n;
297
298 d.type = type;
299 d.names = reallocarray(NULL, lh_OBJ_NAME_num_items(names_lh),
300 sizeof *d.names);
301 d.n = 0;
302 if (d.names != NULL) {
303 OBJ_NAME_do_all(type, do_all_sorted_fn, &d);
304
305 qsort((void *)d.names, d.n, sizeof *d.names, do_all_sorted_cmp);
306
307 for (n = 0; n < d.n; ++n)
308 fn(d.names[n], arg);
309
310 free(d.names);
311 }
312}
313
314static int free_type;
315
316static void
317names_lh_free_doall(OBJ_NAME *onp)
318{
319 if (onp == NULL)
320 return;
321
322 if (free_type < 0 || free_type == onp->type)
323 OBJ_NAME_remove(onp->name, onp->type);
324}
325
326static IMPLEMENT_LHASH_DOALL_FN(names_lh_free, OBJ_NAME)
327
328static void
329name_funcs_free(NAME_FUNCS *ptr)
330{
331 free(ptr);
332}
333
334void
335OBJ_NAME_cleanup(int type)
336{
337 unsigned long down_load;
338
339 if (names_lh == NULL)
340 return;
341
342 free_type = type;
343 down_load = lh_OBJ_NAME_down_load(names_lh);
344 lh_OBJ_NAME_down_load(names_lh) = 0;
345
346 lh_OBJ_NAME_doall(names_lh, LHASH_DOALL_FN(names_lh_free));
347 if (type < 0) {
348 lh_OBJ_NAME_free(names_lh);
349 sk_NAME_FUNCS_pop_free(name_funcs_stack, name_funcs_free);
350 names_lh = NULL;
351 name_funcs_stack = NULL;
352 } else
353 lh_OBJ_NAME_down_load(names_lh) = down_load;
354}
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c
deleted file mode 100644
index c0b63e4d85..0000000000
--- a/src/lib/libcrypto/objects/obj_dat.c
+++ /dev/null
@@ -1,817 +0,0 @@
1/* $OpenBSD: obj_dat.c,v 1.42 2019/07/03 03:24:04 deraadt Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved.
4 *
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *
9 * This library is free for commercial and non-commercial use as long as
10 * the following conditions are aheared to. The following conditions
11 * apply to all code found in this distribution, be it the RC4, RSA,
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13 * included with this distribution is covered by the same copyright terms
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15 *
16 * Copyright remains Eric Young's, and as such any Copyright notices in
17 * the code are not to be removed.
18 * If this package is used in a product, Eric Young should be given attribution
19 * as the author of the parts of the library used.
20 * This can be in the form of a textual message at program startup or
21 * in documentation (online or textual) provided with the package.
22 *
23 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions
25 * are met:
26 * 1. Redistributions of source code must retain the copyright
27 * notice, this list of conditions and the following disclaimer.
28 * 2. Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the
30 * documentation and/or other materials provided with the distribution.
31 * 3. All advertising materials mentioning features or use of this software
32 * must display the following acknowledgement:
33 * "This product includes cryptographic software written by
34 * Eric Young (eay@cryptsoft.com)"
35 * The word 'cryptographic' can be left out if the rouines from the library
36 * being used are not cryptographic related :-).
37 * 4. If you include any Windows specific code (or a derivative thereof) from
38 * the apps directory (application code) you must include an acknowledgement:
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40 *
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51 * SUCH DAMAGE.
52 *
53 * The licence and distribution terms for any publically available version or
54 * derivative of this code cannot be changed. i.e. this code cannot simply be
55 * copied and put under another distribution licence
56 * [including the GNU Public Licence.]
57 */
58
59#include <ctype.h>
60#include <limits.h>
61#include <stdio.h>
62#include <string.h>
63
64#include <openssl/opensslconf.h>
65
66#include <openssl/asn1.h>
67#include <openssl/bn.h>
68#include <openssl/err.h>
69#include <openssl/lhash.h>
70#include <openssl/objects.h>
71
72/* obj_dat.h is generated from objects.h by obj_dat.pl */
73#include "obj_dat.h"
74
75static int sn_cmp_BSEARCH_CMP_FN(const void *, const void *);
76static int sn_cmp(const ASN1_OBJECT * const *, unsigned int const *);
77static unsigned int *OBJ_bsearch_sn(const ASN1_OBJECT * *key, unsigned int const *base, int num);
78static int ln_cmp_BSEARCH_CMP_FN(const void *, const void *);
79static int ln_cmp(const ASN1_OBJECT * const *, unsigned int const *);
80static unsigned int *OBJ_bsearch_ln(const ASN1_OBJECT * *key, unsigned int const *base, int num);
81static int obj_cmp_BSEARCH_CMP_FN(const void *, const void *);
82static int obj_cmp(const ASN1_OBJECT * const *, unsigned int const *);
83static unsigned int *OBJ_bsearch_obj(const ASN1_OBJECT * *key, unsigned int const *base, int num);
84
85#define ADDED_DATA 0
86#define ADDED_SNAME 1
87#define ADDED_LNAME 2
88#define ADDED_NID 3
89
90typedef struct added_obj_st {
91 int type;
92 ASN1_OBJECT *obj;
93} ADDED_OBJ;
94DECLARE_LHASH_OF(ADDED_OBJ);
95
96static int new_nid = NUM_NID;
97static LHASH_OF(ADDED_OBJ) *added = NULL;
98
99static int sn_cmp(const ASN1_OBJECT * const *a, const unsigned int *b)
100{
101 return (strcmp((*a)->sn, nid_objs[*b].sn));
102}
103
104
105static int
106sn_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
107{
108 const ASN1_OBJECT * const *a = a_;
109 unsigned int const *b = b_;
110 return sn_cmp(a, b);
111}
112
113static unsigned int *
114OBJ_bsearch_sn(const ASN1_OBJECT * *key, unsigned int const *base, int num)
115{
116 return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int),
117 sn_cmp_BSEARCH_CMP_FN);
118}
119
120static int ln_cmp(const ASN1_OBJECT * const *a, const unsigned int *b)
121{
122 return (strcmp((*a)->ln, nid_objs[*b].ln));
123}
124
125
126static int
127ln_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
128{
129 const ASN1_OBJECT * const *a = a_;
130 unsigned int const *b = b_;
131 return ln_cmp(a, b);
132}
133
134static unsigned int *
135OBJ_bsearch_ln(const ASN1_OBJECT * *key, unsigned int const *base, int num)
136{
137 return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int),
138 ln_cmp_BSEARCH_CMP_FN);
139}
140
141static unsigned long
142added_obj_hash(const ADDED_OBJ *ca)
143{
144 const ASN1_OBJECT *a;
145 int i;
146 unsigned long ret = 0;
147 unsigned char *p;
148
149 a = ca->obj;
150 switch (ca->type) {
151 case ADDED_DATA:
152 ret = a->length << 20L;
153 p = (unsigned char *)a->data;
154 for (i = 0; i < a->length; i++)
155 ret ^= p[i] << ((i * 3) % 24);
156 break;
157 case ADDED_SNAME:
158 ret = lh_strhash(a->sn);
159 break;
160 case ADDED_LNAME:
161 ret = lh_strhash(a->ln);
162 break;
163 case ADDED_NID:
164 ret = a->nid;
165 break;
166 default:
167 /* abort(); */
168 return 0;
169 }
170 ret &= 0x3fffffffL;
171 ret |= ca->type << 30L;
172 return (ret);
173}
174static IMPLEMENT_LHASH_HASH_FN(added_obj, ADDED_OBJ)
175
176static int
177added_obj_cmp(const ADDED_OBJ *ca, const ADDED_OBJ *cb)
178{
179 ASN1_OBJECT *a, *b;
180 int i;
181
182 i = ca->type - cb->type;
183 if (i)
184 return (i);
185 a = ca->obj;
186 b = cb->obj;
187 switch (ca->type) {
188 case ADDED_DATA:
189 i = (a->length - b->length);
190 if (i)
191 return (i);
192 return (memcmp(a->data, b->data, (size_t)a->length));
193 case ADDED_SNAME:
194 if (a->sn == NULL)
195 return (-1);
196 else if (b->sn == NULL)
197 return (1);
198 else
199 return (strcmp(a->sn, b->sn));
200 case ADDED_LNAME:
201 if (a->ln == NULL)
202 return (-1);
203 else if (b->ln == NULL)
204 return (1);
205 else
206 return (strcmp(a->ln, b->ln));
207 case ADDED_NID:
208 return (a->nid - b->nid);
209 default:
210 /* abort(); */
211 return 0;
212 }
213}
214static IMPLEMENT_LHASH_COMP_FN(added_obj, ADDED_OBJ)
215
216static int
217init_added(void)
218{
219 if (added != NULL)
220 return (1);
221 added = lh_ADDED_OBJ_new();
222 return (added != NULL);
223}
224
225static void
226cleanup1_doall(ADDED_OBJ *a)
227{
228 a->obj->nid = 0;
229 a->obj->flags |= ASN1_OBJECT_FLAG_DYNAMIC |
230 ASN1_OBJECT_FLAG_DYNAMIC_STRINGS |
231 ASN1_OBJECT_FLAG_DYNAMIC_DATA;
232}
233
234static void cleanup2_doall(ADDED_OBJ *a)
235{
236 a->obj->nid++;
237}
238
239static void
240cleanup3_doall(ADDED_OBJ *a)
241{
242 if (--a->obj->nid == 0)
243 ASN1_OBJECT_free(a->obj);
244 free(a);
245}
246
247static IMPLEMENT_LHASH_DOALL_FN(cleanup1, ADDED_OBJ)
248static IMPLEMENT_LHASH_DOALL_FN(cleanup2, ADDED_OBJ)
249static IMPLEMENT_LHASH_DOALL_FN(cleanup3, ADDED_OBJ)
250
251/* The purpose of obj_cleanup_defer is to avoid EVP_cleanup() attempting
252 * to use freed up OIDs. If neccessary the actual freeing up of OIDs is
253 * delayed.
254 */
255
256int obj_cleanup_defer = 0;
257
258void
259check_defer(int nid)
260{
261 if (!obj_cleanup_defer && nid >= NUM_NID)
262 obj_cleanup_defer = 1;
263}
264
265void
266OBJ_cleanup(void)
267{
268 if (obj_cleanup_defer) {
269 obj_cleanup_defer = 2;
270 return;
271 }
272 if (added == NULL)
273 return;
274 lh_ADDED_OBJ_down_load(added) = 0;
275 lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup1)); /* zero counters */
276 lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup2)); /* set counters */
277 lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup3)); /* free objects */
278 lh_ADDED_OBJ_free(added);
279 added = NULL;
280}
281
282int
283OBJ_new_nid(int num)
284{
285 int i;
286
287 i = new_nid;
288 new_nid += num;
289 return (i);
290}
291
292int
293OBJ_add_object(const ASN1_OBJECT *obj)
294{
295 ASN1_OBJECT *o;
296 ADDED_OBJ *ao[4] = {NULL, NULL, NULL, NULL}, *aop;
297 int i;
298
299 if (added == NULL)
300 if (!init_added())
301 return (0);
302 if ((o = OBJ_dup(obj)) == NULL)
303 goto err;
304 if (!(ao[ADDED_NID] = malloc(sizeof(ADDED_OBJ))))
305 goto err2;
306 if ((o->length != 0) && (obj->data != NULL))
307 if (!(ao[ADDED_DATA] = malloc(sizeof(ADDED_OBJ))))
308 goto err2;
309 if (o->sn != NULL)
310 if (!(ao[ADDED_SNAME] = malloc(sizeof(ADDED_OBJ))))
311 goto err2;
312 if (o->ln != NULL)
313 if (!(ao[ADDED_LNAME] = malloc(sizeof(ADDED_OBJ))))
314 goto err2;
315
316 for (i = ADDED_DATA; i <= ADDED_NID; i++) {
317 if (ao[i] != NULL) {
318 ao[i]->type = i;
319 ao[i]->obj = o;
320 aop = lh_ADDED_OBJ_insert(added, ao[i]);
321 /* memory leak, buit should not normally matter */
322 free(aop);
323 }
324 }
325 o->flags &= ~(ASN1_OBJECT_FLAG_DYNAMIC |
326 ASN1_OBJECT_FLAG_DYNAMIC_STRINGS |
327 ASN1_OBJECT_FLAG_DYNAMIC_DATA);
328
329 return (o->nid);
330
331 err2:
332 OBJerror(ERR_R_MALLOC_FAILURE);
333 err:
334 for (i = ADDED_DATA; i <= ADDED_NID; i++)
335 free(ao[i]);
336 ASN1_OBJECT_free(o);
337 return (NID_undef);
338}
339
340ASN1_OBJECT *
341OBJ_nid2obj(int n)
342{
343 ADDED_OBJ ad, *adp;
344 ASN1_OBJECT ob;
345
346 if ((n >= 0) && (n < NUM_NID)) {
347 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
348 OBJerror(OBJ_R_UNKNOWN_NID);
349 return (NULL);
350 }
351 return ((ASN1_OBJECT *)&(nid_objs[n]));
352 } else if (added == NULL)
353 return (NULL);
354 else {
355 ad.type = ADDED_NID;
356 ad.obj = &ob;
357 ob.nid = n;
358 adp = lh_ADDED_OBJ_retrieve(added, &ad);
359 if (adp != NULL)
360 return (adp->obj);
361 else {
362 OBJerror(OBJ_R_UNKNOWN_NID);
363 return (NULL);
364 }
365 }
366}
367
368const char *
369OBJ_nid2sn(int n)
370{
371 ADDED_OBJ ad, *adp;
372 ASN1_OBJECT ob;
373
374 if ((n >= 0) && (n < NUM_NID)) {
375 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
376 OBJerror(OBJ_R_UNKNOWN_NID);
377 return (NULL);
378 }
379 return (nid_objs[n].sn);
380 } else if (added == NULL)
381 return (NULL);
382 else {
383 ad.type = ADDED_NID;
384 ad.obj = &ob;
385 ob.nid = n;
386 adp = lh_ADDED_OBJ_retrieve(added, &ad);
387 if (adp != NULL)
388 return (adp->obj->sn);
389 else {
390 OBJerror(OBJ_R_UNKNOWN_NID);
391 return (NULL);
392 }
393 }
394}
395
396const char *
397OBJ_nid2ln(int n)
398{
399 ADDED_OBJ ad, *adp;
400 ASN1_OBJECT ob;
401
402 if ((n >= 0) && (n < NUM_NID)) {
403 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
404 OBJerror(OBJ_R_UNKNOWN_NID);
405 return (NULL);
406 }
407 return (nid_objs[n].ln);
408 } else if (added == NULL)
409 return (NULL);
410 else {
411 ad.type = ADDED_NID;
412 ad.obj = &ob;
413 ob.nid = n;
414 adp = lh_ADDED_OBJ_retrieve(added, &ad);
415 if (adp != NULL)
416 return (adp->obj->ln);
417 else {
418 OBJerror(OBJ_R_UNKNOWN_NID);
419 return (NULL);
420 }
421 }
422}
423
424static int
425obj_cmp(const ASN1_OBJECT * const *ap, const unsigned int *bp)
426{
427 int j;
428 const ASN1_OBJECT *a= *ap;
429 const ASN1_OBJECT *b = &nid_objs[*bp];
430
431 j = (a->length - b->length);
432 if (j)
433 return (j);
434 return (memcmp(a->data, b->data, a->length));
435}
436
437
438static int
439obj_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
440{
441 const ASN1_OBJECT * const *a = a_;
442 unsigned int const *b = b_;
443 return obj_cmp(a, b);
444}
445
446static unsigned int *
447OBJ_bsearch_obj(const ASN1_OBJECT * *key, unsigned int const *base, int num)
448{
449 return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int),
450 obj_cmp_BSEARCH_CMP_FN);
451}
452
453int
454OBJ_obj2nid(const ASN1_OBJECT *a)
455{
456 const unsigned int *op;
457 ADDED_OBJ ad, *adp;
458
459 if (a == NULL)
460 return (NID_undef);
461 if (a->nid != 0)
462 return (a->nid);
463
464 if (added != NULL) {
465 ad.type = ADDED_DATA;
466 ad.obj=(ASN1_OBJECT *)a; /* XXX: ugly but harmless */
467 adp = lh_ADDED_OBJ_retrieve(added, &ad);
468 if (adp != NULL)
469 return (adp->obj->nid);
470 }
471 op = OBJ_bsearch_obj(&a, obj_objs, NUM_OBJ);
472 if (op == NULL)
473 return (NID_undef);
474 return (nid_objs[*op].nid);
475}
476
477/* Convert an object name into an ASN1_OBJECT
478 * if "noname" is not set then search for short and long names first.
479 * This will convert the "dotted" form into an object: unlike OBJ_txt2nid
480 * it can be used with any objects, not just registered ones.
481 */
482
483ASN1_OBJECT *
484OBJ_txt2obj(const char *s, int no_name)
485{
486 int nid = NID_undef;
487 ASN1_OBJECT *op = NULL;
488 unsigned char *buf;
489 unsigned char *p;
490 const unsigned char *cp;
491 int i, j;
492
493 if (!no_name) {
494 if (((nid = OBJ_sn2nid(s)) != NID_undef) ||
495 ((nid = OBJ_ln2nid(s)) != NID_undef) )
496 return OBJ_nid2obj(nid);
497 }
498
499 /* Work out size of content octets */
500 i = a2d_ASN1_OBJECT(NULL, 0, s, -1);
501 if (i <= 0) {
502 /* Don't clear the error */
503 /*ERR_clear_error();*/
504 return NULL;
505 }
506 /* Work out total size */
507 j = ASN1_object_size(0, i, V_ASN1_OBJECT);
508
509 if ((buf = malloc(j)) == NULL)
510 return NULL;
511
512 p = buf;
513 /* Write out tag+length */
514 ASN1_put_object(&p, 0, i, V_ASN1_OBJECT, V_ASN1_UNIVERSAL);
515 /* Write out contents */
516 a2d_ASN1_OBJECT(p, i, s, -1);
517
518 cp = buf;
519 op = d2i_ASN1_OBJECT(NULL, &cp, j);
520 free(buf);
521 return op;
522}
523
524int
525OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
526{
527 int i, ret = 0, len, nid, first = 1, use_bn;
528 BIGNUM *bl = NULL;
529 unsigned long l;
530 const unsigned char *p;
531
532 /* Ensure that, at every state, |buf| is NUL-terminated. */
533 if (buf_len > 0)
534 buf[0] = '\0';
535
536 if ((a == NULL) || (a->data == NULL))
537 goto err;
538
539 if (!no_name && (nid = OBJ_obj2nid(a)) != NID_undef) {
540 const char *s;
541 s = OBJ_nid2ln(nid);
542 if (s == NULL)
543 s = OBJ_nid2sn(nid);
544 if (s) {
545 ret = strlcpy(buf, s, buf_len);
546 goto out;
547 }
548 }
549
550 len = a->length;
551 p = a->data;
552
553 while (len > 0) {
554 l = 0;
555 use_bn = 0;
556 for (;;) {
557 unsigned char c = *p++;
558 len--;
559 if ((len == 0) && (c & 0x80))
560 goto err;
561 if (use_bn) {
562 if (!BN_add_word(bl, c & 0x7f))
563 goto err;
564 } else
565 l |= c & 0x7f;
566 if (!(c & 0x80))
567 break;
568 if (!use_bn && (l > (ULONG_MAX >> 7L))) {
569 if (!bl && !(bl = BN_new()))
570 goto err;
571 if (!BN_set_word(bl, l))
572 goto err;
573 use_bn = 1;
574 }
575 if (use_bn) {
576 if (!BN_lshift(bl, bl, 7))
577 goto err;
578 } else
579 l <<= 7L;
580 }
581
582 if (first) {
583 first = 0;
584 if (l >= 80) {
585 i = 2;
586 if (use_bn) {
587 if (!BN_sub_word(bl, 80))
588 goto err;
589 } else
590 l -= 80;
591 } else {
592 i = (int)(l / 40);
593 l -= (long)(i * 40);
594 }
595 if (buf_len > 1) {
596 *buf++ = i + '0';
597 *buf = '\0';
598 buf_len--;
599 }
600 ret++;
601 }
602
603 if (use_bn) {
604 char *bndec;
605
606 bndec = BN_bn2dec(bl);
607 if (!bndec)
608 goto err;
609 i = snprintf(buf, buf_len, ".%s", bndec);
610 free(bndec);
611 if (i < 0)
612 goto err;
613 if (i >= buf_len) {
614 buf_len = 0;
615 } else {
616 buf += i;
617 buf_len -= i;
618 }
619 ret += i;
620 } else {
621 i = snprintf(buf, buf_len, ".%lu", l);
622 if (i < 0)
623 goto err;
624 if (i >= buf_len) {
625 buf_len = 0;
626 } else {
627 buf += i;
628 buf_len -= i;
629 }
630 ret += i;
631 l = 0;
632 }
633 }
634
635 out:
636 BN_free(bl);
637 return ret;
638
639 err:
640 ret = 0;
641 goto out;
642}
643
644int
645OBJ_txt2nid(const char *s)
646{
647 ASN1_OBJECT *obj;
648 int nid;
649
650 obj = OBJ_txt2obj(s, 0);
651 nid = OBJ_obj2nid(obj);
652 ASN1_OBJECT_free(obj);
653 return nid;
654}
655
656int
657OBJ_ln2nid(const char *s)
658{
659 ASN1_OBJECT o;
660 const ASN1_OBJECT *oo = &o;
661 ADDED_OBJ ad, *adp;
662 const unsigned int *op;
663
664 o.ln = s;
665 if (added != NULL) {
666 ad.type = ADDED_LNAME;
667 ad.obj = &o;
668 adp = lh_ADDED_OBJ_retrieve(added, &ad);
669 if (adp != NULL)
670 return (adp->obj->nid);
671 }
672 op = OBJ_bsearch_ln(&oo, ln_objs, NUM_LN);
673 if (op == NULL)
674 return (NID_undef);
675 return (nid_objs[*op].nid);
676}
677
678int
679OBJ_sn2nid(const char *s)
680{
681 ASN1_OBJECT o;
682 const ASN1_OBJECT *oo = &o;
683 ADDED_OBJ ad, *adp;
684 const unsigned int *op;
685
686 o.sn = s;
687 if (added != NULL) {
688 ad.type = ADDED_SNAME;
689 ad.obj = &o;
690 adp = lh_ADDED_OBJ_retrieve(added, &ad);
691 if (adp != NULL)
692 return (adp->obj->nid);
693 }
694 op = OBJ_bsearch_sn(&oo, sn_objs, NUM_SN);
695 if (op == NULL)
696 return (NID_undef);
697 return (nid_objs[*op].nid);
698}
699
700const void *
701OBJ_bsearch_(const void *key, const void *base, int num, int size,
702 int (*cmp)(const void *, const void *))
703{
704 return OBJ_bsearch_ex_(key, base, num, size, cmp, 0);
705}
706
707const void *
708OBJ_bsearch_ex_(const void *key, const void *base_, int num, int size,
709 int (*cmp)(const void *, const void *), int flags)
710{
711 const char *base = base_;
712 int l, h, i = 0, c = 0;
713 const char *p = NULL;
714
715 if (num == 0)
716 return (NULL);
717 l = 0;
718 h = num;
719 while (l < h) {
720 i = (l + h) / 2;
721 p = &(base[i * size]);
722 c = (*cmp)(key, p);
723 if (c < 0)
724 h = i;
725 else if (c > 0)
726 l = i + 1;
727 else
728 break;
729 }
730 if (c != 0 && !(flags & OBJ_BSEARCH_VALUE_ON_NOMATCH))
731 p = NULL;
732 else if (c == 0 && (flags & OBJ_BSEARCH_FIRST_VALUE_ON_MATCH)) {
733 while (i > 0 && (*cmp)(key, &(base[(i - 1) * size])) == 0)
734 i--;
735 p = &(base[i * size]);
736 }
737 return (p);
738}
739
740int
741OBJ_create_objects(BIO *in)
742{
743 char buf[512];
744 int i, num = 0;
745 char *o, *s, *l = NULL;
746
747 for (;;) {
748 s = o = NULL;
749 i = BIO_gets(in, buf, 512);
750 if (i <= 0)
751 return (num);
752 buf[i - 1] = '\0';
753 if (!isalnum((unsigned char)buf[0]))
754 return (num);
755 o = s=buf;
756 while (isdigit((unsigned char)*s) || (*s == '.'))
757 s++;
758 if (*s != '\0') {
759 *(s++) = '\0';
760 while (isspace((unsigned char)*s))
761 s++;
762 if (*s == '\0')
763 s = NULL;
764 else {
765 l = s;
766 while ((*l != '\0') &&
767 !isspace((unsigned char)*l))
768 l++;
769 if (*l != '\0') {
770 *(l++) = '\0';
771 while (isspace((unsigned char)*l))
772 l++;
773 if (*l == '\0')
774 l = NULL;
775 } else
776 l = NULL;
777 }
778 } else
779 s = NULL;
780 if ((o == NULL) || (*o == '\0'))
781 return (num);
782 if (!OBJ_create(o, s, l))
783 return (num);
784 num++;
785 }
786 /* return(num); */
787}
788
789int
790OBJ_create(const char *oid, const char *sn, const char *ln)
791{
792 int ok = 0;
793 ASN1_OBJECT *op = NULL;
794 unsigned char *buf;
795 int i;
796
797 i = a2d_ASN1_OBJECT(NULL, 0, oid, -1);
798 if (i <= 0)
799 return (0);
800
801 if ((buf = malloc(i)) == NULL) {
802 OBJerror(ERR_R_MALLOC_FAILURE);
803 return (0);
804 }
805 i = a2d_ASN1_OBJECT(buf, i, oid, -1);
806 if (i == 0)
807 goto err;
808 op = (ASN1_OBJECT *)ASN1_OBJECT_create(OBJ_new_nid(1), buf, i, sn, ln);
809 if (op == NULL)
810 goto err;
811 ok = OBJ_add_object(op);
812
813 err:
814 ASN1_OBJECT_free(op);
815 free(buf);
816 return (ok);
817}
diff --git a/src/lib/libcrypto/objects/obj_dat.pl b/src/lib/libcrypto/objects/obj_dat.pl
deleted file mode 100644
index 86bcefb97a..0000000000
--- a/src/lib/libcrypto/objects/obj_dat.pl
+++ /dev/null
@@ -1,307 +0,0 @@
1#!/usr/local/bin/perl
2
3# fixes bug in floating point emulation on sparc64 when
4# this script produces off-by-one output on sparc64
5use integer;
6
7sub obj_cmp
8 {
9 local(@a,@b,$_,$r);
10
11 $A=$obj_len{$obj{$nid{$a}}};
12 $B=$obj_len{$obj{$nid{$b}}};
13
14 $r=($A-$B);
15 return($r) if $r != 0;
16
17 $A=$obj_der{$obj{$nid{$a}}};
18 $B=$obj_der{$obj{$nid{$b}}};
19
20 return($A cmp $B);
21 }
22
23sub expand_obj
24 {
25 local(*v)=@_;
26 local($k,$d);
27 local($i);
28
29 do {
30 $i=0;
31 foreach $k (keys %v)
32 {
33 if (($v{$k} =~ s/(OBJ_[^,]+),/$v{$1},/))
34 { $i++; }
35 }
36 } while($i);
37 foreach $k (keys %v)
38 {
39 @a=split(/,/,$v{$k});
40 $objn{$k}=$#a+1;
41 }
42 return(%objn);
43 }
44
45open (IN,"$ARGV[0]") || die "Can't open input file $ARGV[0]";
46open (OUT,">$ARGV[1]") || die "Can't open output file $ARGV[1]";
47
48while (<IN>)
49 {
50 next unless /^\#define\s+(\S+)\s+(.*)$/;
51 $v=$1;
52 $d=$2;
53 $d =~ s/^\"//;
54 $d =~ s/\"$//;
55 if ($v =~ /^SN_(.*)$/)
56 {
57 if(defined $snames{$d})
58 {
59 print "WARNING: Duplicate short name \"$d\"\n";
60 }
61 else
62 { $snames{$d} = "X"; }
63 $sn{$1}=$d;
64 }
65 elsif ($v =~ /^LN_(.*)$/)
66 {
67 if(defined $lnames{$d})
68 {
69 print "WARNING: Duplicate long name \"$d\"\n";
70 }
71 else
72 { $lnames{$d} = "X"; }
73 $ln{$1}=$d;
74 }
75 elsif ($v =~ /^NID_(.*)$/)
76 { $nid{$d}=$1; }
77 elsif ($v =~ /^OBJ_(.*)$/)
78 {
79 $obj{$1}=$v;
80 $objd{$v}=$d;
81 }
82 }
83close IN;
84
85%ob=&expand_obj(*objd);
86
87@a=sort { $a <=> $b } keys %nid;
88$n=$a[$#a]+1;
89
90@lvalues=();
91$lvalues=0;
92
93for ($i=0; $i<$n; $i++)
94 {
95 if (!defined($nid{$i}))
96 {
97 push(@out,"{NULL,NULL,NID_undef,0,NULL,0},\n");
98 }
99 else
100 {
101 $sn=defined($sn{$nid{$i}})?"$sn{$nid{$i}}":"NULL";
102 $ln=defined($ln{$nid{$i}})?"$ln{$nid{$i}}":"NULL";
103
104 if ($sn eq "NULL") {
105 $sn=$ln;
106 $sn{$nid{$i}} = $ln;
107 }
108
109 if ($ln eq "NULL") {
110 $ln=$sn;
111 $ln{$nid{$i}} = $sn;
112 }
113
114 $out ="{";
115 $out.="\"$sn\"";
116 $out.=","."\"$ln\"";
117 $out.=",NID_$nid{$i},";
118 if (defined($obj{$nid{$i}}) && $objd{$obj{$nid{$i}}} =~ /,/)
119 {
120 $v=$objd{$obj{$nid{$i}}};
121 $v =~ s/L//g;
122 $v =~ s/,/ /g;
123 $r=&der_it($v);
124 $z="";
125 $length=0;
126 foreach (unpack("C*",$r))
127 {
128 $z.=sprintf("0x%02X,",$_);
129 $length++;
130 }
131 $obj_der{$obj{$nid{$i}}}=$z;
132 $obj_len{$obj{$nid{$i}}}=$length;
133
134 push(@lvalues,sprintf("%-45s/* [%3d] %s */\n",
135 $z,$lvalues,$obj{$nid{$i}}));
136 $out.="$length,&(lvalues[$lvalues]),0";
137 $lvalues+=$length;
138 }
139 else
140 {
141 $out.="0,NULL,0";
142 }
143 $out.="},\n";
144 push(@out,$out);
145 }
146 }
147
148@a=grep(defined($sn{$nid{$_}}),0 .. $n);
149foreach (sort { $sn{$nid{$a}} cmp $sn{$nid{$b}} } @a)
150 {
151 push(@sn,sprintf("%2d,\t/* \"$sn{$nid{$_}}\" */\n",$_));
152 }
153
154@a=grep(defined($ln{$nid{$_}}),0 .. $n);
155foreach (sort { $ln{$nid{$a}} cmp $ln{$nid{$b}} } @a)
156 {
157 push(@ln,sprintf("%2d,\t/* \"$ln{$nid{$_}}\" */\n",$_));
158 }
159
160@a=grep(defined($obj{$nid{$_}}),0 .. $n);
161foreach (sort obj_cmp @a)
162 {
163 $m=$obj{$nid{$_}};
164 $v=$objd{$m};
165 $v =~ s/L//g;
166 $v =~ s/,/ /g;
167 push(@ob,sprintf("%2d,\t/* %-32s %s */\n",$_,$m,$v));
168 }
169
170print OUT <<'EOF';
171/* crypto/objects/obj_dat.h */
172
173/* THIS FILE IS GENERATED FROM objects.h by obj_dat.pl via the
174 * following command:
175 * perl obj_dat.pl obj_mac.h obj_dat.h
176 */
177
178/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
179 * All rights reserved.
180 *
181 * This package is an SSL implementation written
182 * by Eric Young (eay@cryptsoft.com).
183 * The implementation was written so as to conform with Netscapes SSL.
184 *
185 * This library is free for commercial and non-commercial use as long as
186 * the following conditions are aheared to. The following conditions
187 * apply to all code found in this distribution, be it the RC4, RSA,
188 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
189 * included with this distribution is covered by the same copyright terms
190 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
191 *
192 * Copyright remains Eric Young's, and as such any Copyright notices in
193 * the code are not to be removed.
194 * If this package is used in a product, Eric Young should be given attribution
195 * as the author of the parts of the library used.
196 * This can be in the form of a textual message at program startup or
197 * in documentation (online or textual) provided with the package.
198 *
199 * Redistribution and use in source and binary forms, with or without
200 * modification, are permitted provided that the following conditions
201 * are met:
202 * 1. Redistributions of source code must retain the copyright
203 * notice, this list of conditions and the following disclaimer.
204 * 2. Redistributions in binary form must reproduce the above copyright
205 * notice, this list of conditions and the following disclaimer in the
206 * documentation and/or other materials provided with the distribution.
207 * 3. All advertising materials mentioning features or use of this software
208 * must display the following acknowledgement:
209 * "This product includes cryptographic software written by
210 * Eric Young (eay@cryptsoft.com)"
211 * The word 'cryptographic' can be left out if the rouines from the library
212 * being used are not cryptographic related :-).
213 * 4. If you include any Windows specific code (or a derivative thereof) from
214 * the apps directory (application code) you must include an acknowledgement:
215 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
216 *
217 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
218 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
219 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
220 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
221 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
222 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
223 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
224 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
225 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
226 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
227 * SUCH DAMAGE.
228 *
229 * The licence and distribution terms for any publically available version or
230 * derivative of this code cannot be changed. i.e. this code cannot simply be
231 * copied and put under another distribution licence
232 * [including the GNU Public Licence.]
233 */
234
235EOF
236
237printf OUT "#define NUM_NID %d\n",$n;
238printf OUT "#define NUM_SN %d\n",$#sn+1;
239printf OUT "#define NUM_LN %d\n",$#ln+1;
240printf OUT "#define NUM_OBJ %d\n\n",$#ob+1;
241
242printf OUT "static const unsigned char lvalues[%d]={\n",$lvalues+1;
243print OUT @lvalues;
244print OUT "};\n\n";
245
246printf OUT "static const ASN1_OBJECT nid_objs[NUM_NID]={\n";
247foreach (@out)
248 {
249 if (length($_) > 75)
250 {
251 $out="";
252 foreach (split(/,/))
253 {
254 $t=$out.$_.",";
255 if (length($t) > 70)
256 {
257 print OUT "$out\n";
258 $t="\t$_,";
259 }
260 $out=$t;
261 }
262 chop $out;
263 print OUT "$out";
264 }
265 else
266 { print OUT $_; }
267 }
268print OUT "};\n\n";
269
270printf OUT "static const unsigned int sn_objs[NUM_SN]={\n";
271print OUT @sn;
272print OUT "};\n\n";
273
274printf OUT "static const unsigned int ln_objs[NUM_LN]={\n";
275print OUT @ln;
276print OUT "};\n\n";
277
278printf OUT "static const unsigned int obj_objs[NUM_OBJ]={\n";
279print OUT @ob;
280print OUT "};\n\n";
281
282close OUT;
283
284sub der_it
285 {
286 local($v)=@_;
287 local(@a,$i,$ret,@r);
288
289 @a=split(/\s+/,$v);
290 $ret.=pack("C*",$a[0]*40+$a[1]);
291 shift @a;
292 shift @a;
293 foreach (@a)
294 {
295 @r=();
296 $t=0;
297 while ($_ >= 128)
298 {
299 $x=$_%128;
300 $_/=128;
301 push(@r,((($t++)?0x80:0)|$x));
302 }
303 push(@r,((($t++)?0x80:0)|$_));
304 $ret.=pack("C*",reverse(@r));
305 }
306 return($ret);
307 }
diff --git a/src/lib/libcrypto/objects/obj_err.c b/src/lib/libcrypto/objects/obj_err.c
deleted file mode 100644
index e1413190eb..0000000000
--- a/src/lib/libcrypto/objects/obj_err.c
+++ /dev/null
@@ -1,96 +0,0 @@
1/* $OpenBSD: obj_err.c,v 1.12 2017/01/29 17:49:23 beck Exp $ */
2/* ====================================================================
3 * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 *
17 * 3. All advertising materials mentioning features or use of this
18 * software must display the following acknowledgment:
19 * "This product includes software developed by the OpenSSL Project
20 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
21 *
22 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
23 * endorse or promote products derived from this software without
24 * prior written permission. For written permission, please contact
25 * openssl-core@OpenSSL.org.
26 *
27 * 5. Products derived from this software may not be called "OpenSSL"
28 * nor may "OpenSSL" appear in their names without prior written
29 * permission of the OpenSSL Project.
30 *
31 * 6. Redistributions of any form whatsoever must retain the following
32 * acknowledgment:
33 * "This product includes software developed by the OpenSSL Project
34 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
35 *
36 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
37 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
38 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
39 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
40 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
42 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
43 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
44 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
45 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
47 * OF THE POSSIBILITY OF SUCH DAMAGE.
48 * ====================================================================
49 *
50 * This product includes cryptographic software written by Eric Young
51 * (eay@cryptsoft.com). This product includes software written by Tim
52 * Hudson (tjh@cryptsoft.com).
53 *
54 */
55
56/* NOTE: this file was auto generated by the mkerr.pl script: any changes
57 * made to it will be overwritten when the script next updates this file,
58 * only reason strings will be preserved.
59 */
60
61#include <stdio.h>
62
63#include <openssl/opensslconf.h>
64
65#include <openssl/err.h>
66#include <openssl/objects.h>
67
68/* BEGIN ERROR CODES */
69#ifndef OPENSSL_NO_ERR
70
71#define ERR_FUNC(func) ERR_PACK(ERR_LIB_OBJ,func,0)
72#define ERR_REASON(reason) ERR_PACK(ERR_LIB_OBJ,0,reason)
73
74static ERR_STRING_DATA OBJ_str_functs[] = {
75 {ERR_FUNC(0xfff), "CRYPTO_internal"},
76 {0, NULL}
77};
78
79static ERR_STRING_DATA OBJ_str_reasons[] = {
80 {ERR_REASON(OBJ_R_MALLOC_FAILURE) , "malloc failure"},
81 {ERR_REASON(OBJ_R_UNKNOWN_NID) , "unknown nid"},
82 {0, NULL}
83};
84
85#endif
86
87void
88ERR_load_OBJ_strings(void)
89{
90#ifndef OPENSSL_NO_ERR
91 if (ERR_func_error_string(OBJ_str_functs[0].error) == NULL) {
92 ERR_load_strings(0, OBJ_str_functs);
93 ERR_load_strings(0, OBJ_str_reasons);
94 }
95#endif
96}
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c
deleted file mode 100644
index 5327a0cb98..0000000000
--- a/src/lib/libcrypto/objects/obj_lib.c
+++ /dev/null
@@ -1,130 +0,0 @@
1/* $OpenBSD: obj_lib.c,v 1.15 2018/09/08 10:31:24 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved.
4 *
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *
9 * This library is free for commercial and non-commercial use as long as
10 * the following conditions are aheared to. The following conditions
11 * apply to all code found in this distribution, be it the RC4, RSA,
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13 * included with this distribution is covered by the same copyright terms
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15 *
16 * Copyright remains Eric Young's, and as such any Copyright notices in
17 * the code are not to be removed.
18 * If this package is used in a product, Eric Young should be given attribution
19 * as the author of the parts of the library used.
20 * This can be in the form of a textual message at program startup or
21 * in documentation (online or textual) provided with the package.
22 *
23 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions
25 * are met:
26 * 1. Redistributions of source code must retain the copyright
27 * notice, this list of conditions and the following disclaimer.
28 * 2. Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the
30 * documentation and/or other materials provided with the distribution.
31 * 3. All advertising materials mentioning features or use of this software
32 * must display the following acknowledgement:
33 * "This product includes cryptographic software written by
34 * Eric Young (eay@cryptsoft.com)"
35 * The word 'cryptographic' can be left out if the rouines from the library
36 * being used are not cryptographic related :-).
37 * 4. If you include any Windows specific code (or a derivative thereof) from
38 * the apps directory (application code) you must include an acknowledgement:
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40 *
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51 * SUCH DAMAGE.
52 *
53 * The licence and distribution terms for any publically available version or
54 * derivative of this code cannot be changed. i.e. this code cannot simply be
55 * copied and put under another distribution licence
56 * [including the GNU Public Licence.]
57 */
58
59#include <stdio.h>
60#include <string.h>
61
62#include <openssl/err.h>
63#include <openssl/buffer.h>
64#include <openssl/lhash.h>
65#include <openssl/objects.h>
66
67ASN1_OBJECT *
68OBJ_dup(const ASN1_OBJECT *o)
69{
70 ASN1_OBJECT *r;
71 char *ln = NULL, *sn = NULL;
72 unsigned char *data = NULL;
73
74 if (o == NULL)
75 return (NULL);
76 if (!(o->flags & ASN1_OBJECT_FLAG_DYNAMIC))
77 return((ASN1_OBJECT *)o); /* XXX: ugh! Why? What kind of
78 duplication is this??? */
79
80 r = ASN1_OBJECT_new();
81 if (r == NULL) {
82 OBJerror(ERR_R_ASN1_LIB);
83 return (NULL);
84 }
85 data = malloc(o->length);
86 if (data == NULL)
87 goto err;
88 if (o->data != NULL)
89 memcpy(data, o->data, o->length);
90 /* once data attached to object it remains const */
91 r->data = data;
92 r->length = o->length;
93 r->nid = o->nid;
94 r->ln = r->sn = NULL;
95 if (o->ln != NULL) {
96 ln = strdup(o->ln);
97 if (ln == NULL)
98 goto err;
99 r->ln = ln;
100 }
101
102 if (o->sn != NULL) {
103 sn = strdup(o->sn);
104 if (sn == NULL)
105 goto err;
106 r->sn = sn;
107 }
108 r->flags = o->flags | (ASN1_OBJECT_FLAG_DYNAMIC |
109 ASN1_OBJECT_FLAG_DYNAMIC_STRINGS | ASN1_OBJECT_FLAG_DYNAMIC_DATA);
110 return (r);
111
112 err:
113 OBJerror(ERR_R_MALLOC_FAILURE);
114 free(ln);
115 free(sn);
116 free(data);
117 free(r);
118 return (NULL);
119}
120
121int
122OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
123{
124 int ret;
125
126 ret = (a->length - b->length);
127 if (ret)
128 return (ret);
129 return (memcmp(a->data, b->data, a->length));
130}
diff --git a/src/lib/libcrypto/objects/obj_mac.num b/src/lib/libcrypto/objects/obj_mac.num
deleted file mode 100644
index 9de2fc5ae9..0000000000
--- a/src/lib/libcrypto/objects/obj_mac.num
+++ /dev/null
@@ -1,1014 +0,0 @@
1undef 0
2rsadsi 1
3pkcs 2
4md2 3
5md5 4
6rc4 5
7rsaEncryption 6
8md2WithRSAEncryption 7
9md5WithRSAEncryption 8
10pbeWithMD2AndDES_CBC 9
11pbeWithMD5AndDES_CBC 10
12X500 11
13X509 12
14commonName 13
15countryName 14
16localityName 15
17stateOrProvinceName 16
18organizationName 17
19organizationalUnitName 18
20rsa 19
21pkcs7 20
22pkcs7_data 21
23pkcs7_signed 22
24pkcs7_enveloped 23
25pkcs7_signedAndEnveloped 24
26pkcs7_digest 25
27pkcs7_encrypted 26
28pkcs3 27
29dhKeyAgreement 28
30des_ecb 29
31des_cfb64 30
32des_cbc 31
33des_ede_ecb 32
34des_ede3_ecb 33
35idea_cbc 34
36idea_cfb64 35
37idea_ecb 36
38rc2_cbc 37
39rc2_ecb 38
40rc2_cfb64 39
41rc2_ofb64 40
42sha 41
43shaWithRSAEncryption 42
44des_ede_cbc 43
45des_ede3_cbc 44
46des_ofb64 45
47idea_ofb64 46
48pkcs9 47
49pkcs9_emailAddress 48
50pkcs9_unstructuredName 49
51pkcs9_contentType 50
52pkcs9_messageDigest 51
53pkcs9_signingTime 52
54pkcs9_countersignature 53
55pkcs9_challengePassword 54
56pkcs9_unstructuredAddress 55
57pkcs9_extCertAttributes 56
58netscape 57
59netscape_cert_extension 58
60netscape_data_type 59
61des_ede_cfb64 60
62des_ede3_cfb64 61
63des_ede_ofb64 62
64des_ede3_ofb64 63
65sha1 64
66sha1WithRSAEncryption 65
67dsaWithSHA 66
68dsa_2 67
69pbeWithSHA1AndRC2_CBC 68
70id_pbkdf2 69
71dsaWithSHA1_2 70
72netscape_cert_type 71
73netscape_base_url 72
74netscape_revocation_url 73
75netscape_ca_revocation_url 74
76netscape_renewal_url 75
77netscape_ca_policy_url 76
78netscape_ssl_server_name 77
79netscape_comment 78
80netscape_cert_sequence 79
81desx_cbc 80
82id_ce 81
83subject_key_identifier 82
84key_usage 83
85private_key_usage_period 84
86subject_alt_name 85
87issuer_alt_name 86
88basic_constraints 87
89crl_number 88
90certificate_policies 89
91authority_key_identifier 90
92bf_cbc 91
93bf_ecb 92
94bf_cfb64 93
95bf_ofb64 94
96mdc2 95
97mdc2WithRSA 96
98rc4_40 97
99rc2_40_cbc 98
100givenName 99
101surname 100
102initials 101
103uniqueIdentifier 102
104crl_distribution_points 103
105md5WithRSA 104
106serialNumber 105
107title 106
108description 107
109cast5_cbc 108
110cast5_ecb 109
111cast5_cfb64 110
112cast5_ofb64 111
113pbeWithMD5AndCast5_CBC 112
114dsaWithSHA1 113
115md5_sha1 114
116sha1WithRSA 115
117dsa 116
118ripemd160 117
119ripemd160WithRSA 119
120rc5_cbc 120
121rc5_ecb 121
122rc5_cfb64 122
123rc5_ofb64 123
124rle_compression 124
125zlib_compression 125
126ext_key_usage 126
127id_pkix 127
128id_kp 128
129server_auth 129
130client_auth 130
131code_sign 131
132email_protect 132
133time_stamp 133
134ms_code_ind 134
135ms_code_com 135
136ms_ctl_sign 136
137ms_sgc 137
138ms_efs 138
139ns_sgc 139
140delta_crl 140
141crl_reason 141
142invalidity_date 142
143sxnet 143
144pbe_WithSHA1And128BitRC4 144
145pbe_WithSHA1And40BitRC4 145
146pbe_WithSHA1And3_Key_TripleDES_CBC 146
147pbe_WithSHA1And2_Key_TripleDES_CBC 147
148pbe_WithSHA1And128BitRC2_CBC 148
149pbe_WithSHA1And40BitRC2_CBC 149
150keyBag 150
151pkcs8ShroudedKeyBag 151
152certBag 152
153crlBag 153
154secretBag 154
155safeContentsBag 155
156friendlyName 156
157localKeyID 157
158x509Certificate 158
159sdsiCertificate 159
160x509Crl 160
161pbes2 161
162pbmac1 162
163hmacWithSHA1 163
164id_qt_cps 164
165id_qt_unotice 165
166rc2_64_cbc 166
167SMIMECapabilities 167
168pbeWithMD2AndRC2_CBC 168
169pbeWithMD5AndRC2_CBC 169
170pbeWithSHA1AndDES_CBC 170
171ms_ext_req 171
172ext_req 172
173name 173
174dnQualifier 174
175id_pe 175
176id_ad 176
177info_access 177
178ad_OCSP 178
179ad_ca_issuers 179
180OCSP_sign 180
181iso 181
182member_body 182
183ISO_US 183
184X9_57 184
185X9cm 185
186pkcs1 186
187pkcs5 187
188SMIME 188
189id_smime_mod 189
190id_smime_ct 190
191id_smime_aa 191
192id_smime_alg 192
193id_smime_cd 193
194id_smime_spq 194
195id_smime_cti 195
196id_smime_mod_cms 196
197id_smime_mod_ess 197
198id_smime_mod_oid 198
199id_smime_mod_msg_v3 199
200id_smime_mod_ets_eSignature_88 200
201id_smime_mod_ets_eSignature_97 201
202id_smime_mod_ets_eSigPolicy_88 202
203id_smime_mod_ets_eSigPolicy_97 203
204id_smime_ct_receipt 204
205id_smime_ct_authData 205
206id_smime_ct_publishCert 206
207id_smime_ct_TSTInfo 207
208id_smime_ct_TDTInfo 208
209id_smime_ct_contentInfo 209
210id_smime_ct_DVCSRequestData 210
211id_smime_ct_DVCSResponseData 211
212id_smime_aa_receiptRequest 212
213id_smime_aa_securityLabel 213
214id_smime_aa_mlExpandHistory 214
215id_smime_aa_contentHint 215
216id_smime_aa_msgSigDigest 216
217id_smime_aa_encapContentType 217
218id_smime_aa_contentIdentifier 218
219id_smime_aa_macValue 219
220id_smime_aa_equivalentLabels 220
221id_smime_aa_contentReference 221
222id_smime_aa_encrypKeyPref 222
223id_smime_aa_signingCertificate 223
224id_smime_aa_smimeEncryptCerts 224
225id_smime_aa_timeStampToken 225
226id_smime_aa_ets_sigPolicyId 226
227id_smime_aa_ets_commitmentType 227
228id_smime_aa_ets_signerLocation 228
229id_smime_aa_ets_signerAttr 229
230id_smime_aa_ets_otherSigCert 230
231id_smime_aa_ets_contentTimestamp 231
232id_smime_aa_ets_CertificateRefs 232
233id_smime_aa_ets_RevocationRefs 233
234id_smime_aa_ets_certValues 234
235id_smime_aa_ets_revocationValues 235
236id_smime_aa_ets_escTimeStamp 236
237id_smime_aa_ets_certCRLTimestamp 237
238id_smime_aa_ets_archiveTimeStamp 238
239id_smime_aa_signatureType 239
240id_smime_aa_dvcs_dvc 240
241id_smime_alg_ESDHwith3DES 241
242id_smime_alg_ESDHwithRC2 242
243id_smime_alg_3DESwrap 243
244id_smime_alg_RC2wrap 244
245id_smime_alg_ESDH 245
246id_smime_alg_CMS3DESwrap 246
247id_smime_alg_CMSRC2wrap 247
248id_smime_cd_ldap 248
249id_smime_spq_ets_sqt_uri 249
250id_smime_spq_ets_sqt_unotice 250
251id_smime_cti_ets_proofOfOrigin 251
252id_smime_cti_ets_proofOfReceipt 252
253id_smime_cti_ets_proofOfDelivery 253
254id_smime_cti_ets_proofOfSender 254
255id_smime_cti_ets_proofOfApproval 255
256id_smime_cti_ets_proofOfCreation 256
257md4 257
258id_pkix_mod 258
259id_qt 259
260id_it 260
261id_pkip 261
262id_alg 262
263id_cmc 263
264id_on 264
265id_pda 265
266id_aca 266
267id_qcs 267
268id_cct 268
269id_pkix1_explicit_88 269
270id_pkix1_implicit_88 270
271id_pkix1_explicit_93 271
272id_pkix1_implicit_93 272
273id_mod_crmf 273
274id_mod_cmc 274
275id_mod_kea_profile_88 275
276id_mod_kea_profile_93 276
277id_mod_cmp 277
278id_mod_qualified_cert_88 278
279id_mod_qualified_cert_93 279
280id_mod_attribute_cert 280
281id_mod_timestamp_protocol 281
282id_mod_ocsp 282
283id_mod_dvcs 283
284id_mod_cmp2000 284
285biometricInfo 285
286qcStatements 286
287ac_auditEntity 287
288ac_targeting 288
289aaControls 289
290sbgp_ipAddrBlock 290
291sbgp_autonomousSysNum 291
292sbgp_routerIdentifier 292
293textNotice 293
294ipsecEndSystem 294
295ipsecTunnel 295
296ipsecUser 296
297dvcs 297
298id_it_caProtEncCert 298
299id_it_signKeyPairTypes 299
300id_it_encKeyPairTypes 300
301id_it_preferredSymmAlg 301
302id_it_caKeyUpdateInfo 302
303id_it_currentCRL 303
304id_it_unsupportedOIDs 304
305id_it_subscriptionRequest 305
306id_it_subscriptionResponse 306
307id_it_keyPairParamReq 307
308id_it_keyPairParamRep 308
309id_it_revPassphrase 309
310id_it_implicitConfirm 310
311id_it_confirmWaitTime 311
312id_it_origPKIMessage 312
313id_regCtrl 313
314id_regInfo 314
315id_regCtrl_regToken 315
316id_regCtrl_authenticator 316
317id_regCtrl_pkiPublicationInfo 317
318id_regCtrl_pkiArchiveOptions 318
319id_regCtrl_oldCertID 319
320id_regCtrl_protocolEncrKey 320
321id_regInfo_utf8Pairs 321
322id_regInfo_certReq 322
323id_alg_des40 323
324id_alg_noSignature 324
325id_alg_dh_sig_hmac_sha1 325
326id_alg_dh_pop 326
327id_cmc_statusInfo 327
328id_cmc_identification 328
329id_cmc_identityProof 329
330id_cmc_dataReturn 330
331id_cmc_transactionId 331
332id_cmc_senderNonce 332
333id_cmc_recipientNonce 333
334id_cmc_addExtensions 334
335id_cmc_encryptedPOP 335
336id_cmc_decryptedPOP 336
337id_cmc_lraPOPWitness 337
338id_cmc_getCert 338
339id_cmc_getCRL 339
340id_cmc_revokeRequest 340
341id_cmc_regInfo 341
342id_cmc_responseInfo 342
343id_cmc_queryPending 343
344id_cmc_popLinkRandom 344
345id_cmc_popLinkWitness 345
346id_cmc_confirmCertAcceptance 346
347id_on_personalData 347
348id_pda_dateOfBirth 348
349id_pda_placeOfBirth 349
350id_pda_pseudonym 350
351id_pda_gender 351
352id_pda_countryOfCitizenship 352
353id_pda_countryOfResidence 353
354id_aca_authenticationInfo 354
355id_aca_accessIdentity 355
356id_aca_chargingIdentity 356
357id_aca_group 357
358id_aca_role 358
359id_qcs_pkixQCSyntax_v1 359
360id_cct_crs 360
361id_cct_PKIData 361
362id_cct_PKIResponse 362
363ad_timeStamping 363
364ad_dvcs 364
365id_pkix_OCSP_basic 365
366id_pkix_OCSP_Nonce 366
367id_pkix_OCSP_CrlID 367
368id_pkix_OCSP_acceptableResponses 368
369id_pkix_OCSP_noCheck 369
370id_pkix_OCSP_archiveCutoff 370
371id_pkix_OCSP_serviceLocator 371
372id_pkix_OCSP_extendedStatus 372
373id_pkix_OCSP_valid 373
374id_pkix_OCSP_path 374
375id_pkix_OCSP_trustRoot 375
376algorithm 376
377rsaSignature 377
378X500algorithms 378
379org 379
380dod 380
381iana 381
382Directory 382
383Management 383
384Experimental 384
385Private 385
386Security 386
387SNMPv2 387
388Mail 388
389Enterprises 389
390dcObject 390
391domainComponent 391
392Domain 392
393joint_iso_ccitt 393
394selected_attribute_types 394
395clearance 395
396md4WithRSAEncryption 396
397ac_proxying 397
398sinfo_access 398
399id_aca_encAttrs 399
400role 400
401policy_constraints 401
402target_information 402
403no_rev_avail 403
404ccitt 404
405ansi_X9_62 405
406X9_62_prime_field 406
407X9_62_characteristic_two_field 407
408X9_62_id_ecPublicKey 408
409X9_62_prime192v1 409
410X9_62_prime192v2 410
411X9_62_prime192v3 411
412X9_62_prime239v1 412
413X9_62_prime239v2 413
414X9_62_prime239v3 414
415X9_62_prime256v1 415
416ecdsa_with_SHA1 416
417ms_csp_name 417
418aes_128_ecb 418
419aes_128_cbc 419
420aes_128_ofb128 420
421aes_128_cfb128 421
422aes_192_ecb 422
423aes_192_cbc 423
424aes_192_ofb128 424
425aes_192_cfb128 425
426aes_256_ecb 426
427aes_256_cbc 427
428aes_256_ofb128 428
429aes_256_cfb128 429
430hold_instruction_code 430
431hold_instruction_none 431
432hold_instruction_call_issuer 432
433hold_instruction_reject 433
434data 434
435pss 435
436ucl 436
437pilot 437
438pilotAttributeType 438
439pilotAttributeSyntax 439
440pilotObjectClass 440
441pilotGroups 441
442iA5StringSyntax 442
443caseIgnoreIA5StringSyntax 443
444pilotObject 444
445pilotPerson 445
446account 446
447document 447
448room 448
449documentSeries 449
450rFC822localPart 450
451dNSDomain 451
452domainRelatedObject 452
453friendlyCountry 453
454simpleSecurityObject 454
455pilotOrganization 455
456pilotDSA 456
457qualityLabelledData 457
458userId 458
459textEncodedORAddress 459
460rfc822Mailbox 460
461info 461
462favouriteDrink 462
463roomNumber 463
464photo 464
465userClass 465
466host 466
467manager 467
468documentIdentifier 468
469documentTitle 469
470documentVersion 470
471documentAuthor 471
472documentLocation 472
473homeTelephoneNumber 473
474secretary 474
475otherMailbox 475
476lastModifiedTime 476
477lastModifiedBy 477
478aRecord 478
479pilotAttributeType27 479
480mXRecord 480
481nSRecord 481
482sOARecord 482
483cNAMERecord 483
484associatedDomain 484
485associatedName 485
486homePostalAddress 486
487personalTitle 487
488mobileTelephoneNumber 488
489pagerTelephoneNumber 489
490friendlyCountryName 490
491organizationalStatus 491
492janetMailbox 492
493mailPreferenceOption 493
494buildingName 494
495dSAQuality 495
496singleLevelQuality 496
497subtreeMinimumQuality 497
498subtreeMaximumQuality 498
499personalSignature 499
500dITRedirect 500
501audio 501
502documentPublisher 502
503x500UniqueIdentifier 503
504mime_mhs 504
505mime_mhs_headings 505
506mime_mhs_bodies 506
507id_hex_partial_message 507
508id_hex_multipart_message 508
509generationQualifier 509
510pseudonym 510
511InternationalRA 511
512id_set 512
513set_ctype 513
514set_msgExt 514
515set_attr 515
516set_policy 516
517set_certExt 517
518set_brand 518
519setct_PANData 519
520setct_PANToken 520
521setct_PANOnly 521
522setct_OIData 522
523setct_PI 523
524setct_PIData 524
525setct_PIDataUnsigned 525
526setct_HODInput 526
527setct_AuthResBaggage 527
528setct_AuthRevReqBaggage 528
529setct_AuthRevResBaggage 529
530setct_CapTokenSeq 530
531setct_PInitResData 531
532setct_PI_TBS 532
533setct_PResData 533
534setct_AuthReqTBS 534
535setct_AuthResTBS 535
536setct_AuthResTBSX 536
537setct_AuthTokenTBS 537
538setct_CapTokenData 538
539setct_CapTokenTBS 539
540setct_AcqCardCodeMsg 540
541setct_AuthRevReqTBS 541
542setct_AuthRevResData 542
543setct_AuthRevResTBS 543
544setct_CapReqTBS 544
545setct_CapReqTBSX 545
546setct_CapResData 546
547setct_CapRevReqTBS 547
548setct_CapRevReqTBSX 548
549setct_CapRevResData 549
550setct_CredReqTBS 550
551setct_CredReqTBSX 551
552setct_CredResData 552
553setct_CredRevReqTBS 553
554setct_CredRevReqTBSX 554
555setct_CredRevResData 555
556setct_PCertReqData 556
557setct_PCertResTBS 557
558setct_BatchAdminReqData 558
559setct_BatchAdminResData 559
560setct_CardCInitResTBS 560
561setct_MeAqCInitResTBS 561
562setct_RegFormResTBS 562
563setct_CertReqData 563
564setct_CertReqTBS 564
565setct_CertResData 565
566setct_CertInqReqTBS 566
567setct_ErrorTBS 567
568setct_PIDualSignedTBE 568
569setct_PIUnsignedTBE 569
570setct_AuthReqTBE 570
571setct_AuthResTBE 571
572setct_AuthResTBEX 572
573setct_AuthTokenTBE 573
574setct_CapTokenTBE 574
575setct_CapTokenTBEX 575
576setct_AcqCardCodeMsgTBE 576
577setct_AuthRevReqTBE 577
578setct_AuthRevResTBE 578
579setct_AuthRevResTBEB 579
580setct_CapReqTBE 580
581setct_CapReqTBEX 581
582setct_CapResTBE 582
583setct_CapRevReqTBE 583
584setct_CapRevReqTBEX 584
585setct_CapRevResTBE 585
586setct_CredReqTBE 586
587setct_CredReqTBEX 587
588setct_CredResTBE 588
589setct_CredRevReqTBE 589
590setct_CredRevReqTBEX 590
591setct_CredRevResTBE 591
592setct_BatchAdminReqTBE 592
593setct_BatchAdminResTBE 593
594setct_RegFormReqTBE 594
595setct_CertReqTBE 595
596setct_CertReqTBEX 596
597setct_CertResTBE 597
598setct_CRLNotificationTBS 598
599setct_CRLNotificationResTBS 599
600setct_BCIDistributionTBS 600
601setext_genCrypt 601
602setext_miAuth 602
603setext_pinSecure 603
604setext_pinAny 604
605setext_track2 605
606setext_cv 606
607set_policy_root 607
608setCext_hashedRoot 608
609setCext_certType 609
610setCext_merchData 610
611setCext_cCertRequired 611
612setCext_tunneling 612
613setCext_setExt 613
614setCext_setQualf 614
615setCext_PGWYcapabilities 615
616setCext_TokenIdentifier 616
617setCext_Track2Data 617
618setCext_TokenType 618
619setCext_IssuerCapabilities 619
620setAttr_Cert 620
621setAttr_PGWYcap 621
622setAttr_TokenType 622
623setAttr_IssCap 623
624set_rootKeyThumb 624
625set_addPolicy 625
626setAttr_Token_EMV 626
627setAttr_Token_B0Prime 627
628setAttr_IssCap_CVM 628
629setAttr_IssCap_T2 629
630setAttr_IssCap_Sig 630
631setAttr_GenCryptgrm 631
632setAttr_T2Enc 632
633setAttr_T2cleartxt 633
634setAttr_TokICCsig 634
635setAttr_SecDevSig 635
636set_brand_IATA_ATA 636
637set_brand_Diners 637
638set_brand_AmericanExpress 638
639set_brand_JCB 639
640set_brand_Visa 640
641set_brand_MasterCard 641
642set_brand_Novus 642
643des_cdmf 643
644rsaOAEPEncryptionSET 644
645itu_t 645
646joint_iso_itu_t 646
647international_organizations 647
648ms_smartcard_login 648
649ms_upn 649
650aes_128_cfb1 650
651aes_192_cfb1 651
652aes_256_cfb1 652
653aes_128_cfb8 653
654aes_192_cfb8 654
655aes_256_cfb8 655
656des_cfb1 656
657des_cfb8 657
658des_ede3_cfb1 658
659des_ede3_cfb8 659
660streetAddress 660
661postalCode 661
662id_ppl 662
663proxyCertInfo 663
664id_ppl_anyLanguage 664
665id_ppl_inheritAll 665
666name_constraints 666
667Independent 667
668sha256WithRSAEncryption 668
669sha384WithRSAEncryption 669
670sha512WithRSAEncryption 670
671sha224WithRSAEncryption 671
672sha256 672
673sha384 673
674sha512 674
675sha224 675
676identified_organization 676
677certicom_arc 677
678wap 678
679wap_wsg 679
680X9_62_id_characteristic_two_basis 680
681X9_62_onBasis 681
682X9_62_tpBasis 682
683X9_62_ppBasis 683
684X9_62_c2pnb163v1 684
685X9_62_c2pnb163v2 685
686X9_62_c2pnb163v3 686
687X9_62_c2pnb176v1 687
688X9_62_c2tnb191v1 688
689X9_62_c2tnb191v2 689
690X9_62_c2tnb191v3 690
691X9_62_c2onb191v4 691
692X9_62_c2onb191v5 692
693X9_62_c2pnb208w1 693
694X9_62_c2tnb239v1 694
695X9_62_c2tnb239v2 695
696X9_62_c2tnb239v3 696
697X9_62_c2onb239v4 697
698X9_62_c2onb239v5 698
699X9_62_c2pnb272w1 699
700X9_62_c2pnb304w1 700
701X9_62_c2tnb359v1 701
702X9_62_c2pnb368w1 702
703X9_62_c2tnb431r1 703
704secp112r1 704
705secp112r2 705
706secp128r1 706
707secp128r2 707
708secp160k1 708
709secp160r1 709
710secp160r2 710
711secp192k1 711
712secp224k1 712
713secp224r1 713
714secp256k1 714
715secp384r1 715
716secp521r1 716
717sect113r1 717
718sect113r2 718
719sect131r1 719
720sect131r2 720
721sect163k1 721
722sect163r1 722
723sect163r2 723
724sect193r1 724
725sect193r2 725
726sect233k1 726
727sect233r1 727
728sect239k1 728
729sect283k1 729
730sect283r1 730
731sect409k1 731
732sect409r1 732
733sect571k1 733
734sect571r1 734
735wap_wsg_idm_ecid_wtls1 735
736wap_wsg_idm_ecid_wtls3 736
737wap_wsg_idm_ecid_wtls4 737
738wap_wsg_idm_ecid_wtls5 738
739wap_wsg_idm_ecid_wtls6 739
740wap_wsg_idm_ecid_wtls7 740
741wap_wsg_idm_ecid_wtls8 741
742wap_wsg_idm_ecid_wtls9 742
743wap_wsg_idm_ecid_wtls10 743
744wap_wsg_idm_ecid_wtls11 744
745wap_wsg_idm_ecid_wtls12 745
746any_policy 746
747policy_mappings 747
748inhibit_any_policy 748
749ipsec3 749
750ipsec4 750
751camellia_128_cbc 751
752camellia_192_cbc 752
753camellia_256_cbc 753
754camellia_128_ecb 754
755camellia_192_ecb 755
756camellia_256_ecb 756
757camellia_128_cfb128 757
758camellia_192_cfb128 758
759camellia_256_cfb128 759
760camellia_128_cfb1 760
761camellia_192_cfb1 761
762camellia_256_cfb1 762
763camellia_128_cfb8 763
764camellia_192_cfb8 764
765camellia_256_cfb8 765
766camellia_128_ofb128 766
767camellia_192_ofb128 767
768camellia_256_ofb128 768
769subject_directory_attributes 769
770issuing_distribution_point 770
771certificate_issuer 771
772korea 772
773kisa 773
774kftc 774
775npki_alg 775
776seed_ecb 776
777seed_cbc 777
778seed_ofb128 778
779seed_cfb128 779
780hmac_md5 780
781hmac_sha1 781
782id_PasswordBasedMAC 782
783id_DHBasedMac 783
784id_it_suppLangTags 784
785caRepository 785
786id_smime_ct_compressedData 786
787id_ct_asciiTextWithCRLF 787
788id_aes128_wrap 788
789id_aes192_wrap 789
790id_aes256_wrap 790
791ecdsa_with_Recommended 791
792ecdsa_with_Specified 792
793ecdsa_with_SHA224 793
794ecdsa_with_SHA256 794
795ecdsa_with_SHA384 795
796ecdsa_with_SHA512 796
797hmacWithMD5 797
798hmacWithSHA224 798
799hmacWithSHA256 799
800hmacWithSHA384 800
801hmacWithSHA512 801
802dsa_with_SHA224 802
803dsa_with_SHA256 803
804whirlpool 804
805cryptopro 805
806cryptocom 806
807id_GostR3411_94_with_GostR3410_2001 807
808id_GostR3411_94_with_GostR3410_94 808
809id_GostR3411_94 809
810id_HMACGostR3411_94 810
811id_GostR3410_2001 811
812id_GostR3410_94 812
813id_Gost28147_89 813
814gost89_cnt 814
815id_Gost28147_89_MAC 815
816id_GostR3411_94_prf 816
817id_GostR3410_2001DH 817
818id_GostR3410_94DH 818
819id_Gost28147_89_CryptoPro_KeyMeshing 819
820id_Gost28147_89_None_KeyMeshing 820
821id_GostR3411_94_TestParamSet 821
822id_GostR3411_94_CryptoProParamSet 822
823id_Gost28147_89_TestParamSet 823
824id_Gost28147_89_CryptoPro_A_ParamSet 824
825id_Gost28147_89_CryptoPro_B_ParamSet 825
826id_Gost28147_89_CryptoPro_C_ParamSet 826
827id_Gost28147_89_CryptoPro_D_ParamSet 827
828id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828
829id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829
830id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830
831id_GostR3410_94_TestParamSet 831
832id_GostR3410_94_CryptoPro_A_ParamSet 832
833id_GostR3410_94_CryptoPro_B_ParamSet 833
834id_GostR3410_94_CryptoPro_C_ParamSet 834
835id_GostR3410_94_CryptoPro_D_ParamSet 835
836id_GostR3410_94_CryptoPro_XchA_ParamSet 836
837id_GostR3410_94_CryptoPro_XchB_ParamSet 837
838id_GostR3410_94_CryptoPro_XchC_ParamSet 838
839id_GostR3410_2001_TestParamSet 839
840id_GostR3410_2001_CryptoPro_A_ParamSet 840
841id_GostR3410_2001_CryptoPro_B_ParamSet 841
842id_GostR3410_2001_CryptoPro_C_ParamSet 842
843id_GostR3410_2001_CryptoPro_XchA_ParamSet 843
844id_GostR3410_2001_CryptoPro_XchB_ParamSet 844
845id_GostR3410_94_a 845
846id_GostR3410_94_aBis 846
847id_GostR3410_94_b 847
848id_GostR3410_94_bBis 848
849id_Gost28147_89_cc 849
850id_GostR3410_94_cc 850
851id_GostR3410_2001_cc 851
852id_GostR3411_94_with_GostR3410_94_cc 852
853id_GostR3411_94_with_GostR3410_2001_cc 853
854id_GostR3410_2001_ParamSet_cc 854
855hmac 855
856LocalKeySet 856
857freshest_crl 857
858id_on_permanentIdentifier 858
859searchGuide 859
860businessCategory 860
861postalAddress 861
862postOfficeBox 862
863physicalDeliveryOfficeName 863
864telephoneNumber 864
865telexNumber 865
866teletexTerminalIdentifier 866
867facsimileTelephoneNumber 867
868x121Address 868
869internationaliSDNNumber 869
870registeredAddress 870
871destinationIndicator 871
872preferredDeliveryMethod 872
873presentationAddress 873
874supportedApplicationContext 874
875member 875
876owner 876
877roleOccupant 877
878seeAlso 878
879userPassword 879
880userCertificate 880
881cACertificate 881
882authorityRevocationList 882
883certificateRevocationList 883
884crossCertificatePair 884
885enhancedSearchGuide 885
886protocolInformation 886
887distinguishedName 887
888uniqueMember 888
889houseIdentifier 889
890supportedAlgorithms 890
891deltaRevocationList 891
892dmdName 892
893id_alg_PWRI_KEK 893
894cmac 894
895aes_128_gcm 895
896aes_128_ccm 896
897id_aes128_wrap_pad 897
898aes_192_gcm 898
899aes_192_ccm 899
900id_aes192_wrap_pad 900
901aes_256_gcm 901
902aes_256_ccm 902
903id_aes256_wrap_pad 903
904aes_128_ctr 904
905aes_192_ctr 905
906aes_256_ctr 906
907id_camellia128_wrap 907
908id_camellia192_wrap 908
909id_camellia256_wrap 909
910anyExtendedKeyUsage 910
911mgf1 911
912rsassaPss 912
913aes_128_xts 913
914aes_256_xts 914
915rc4_hmac_md5 915
916aes_128_cbc_hmac_sha1 916
917aes_192_cbc_hmac_sha1 917
918aes_256_cbc_hmac_sha1 918
919rsaesOaep 919
920teletrust 920
921brainpool 921
922brainpoolP160r1 922
923brainpoolP160t1 923
924brainpoolP192r1 924
925brainpoolP192t1 925
926brainpoolP224r1 926
927brainpoolP224t1 927
928brainpoolP256r1 928
929brainpoolP256t1 929
930brainpoolP320r1 930
931brainpoolP320t1 931
932brainpoolP384r1 932
933brainpoolP384t1 933
934brainpoolP512r1 934
935brainpoolP512t1 935
936FRP256v1 936
937chacha20 937
938gost89_ecb 938
939gost89_cbc 939
940tc26 940
941id_tc26_gost3411_2012_256 941
942id_tc26_gost3411_2012_512 942
943id_tc26_gost_3410_12_512_paramSetA 943
944id_tc26_gost_3410_12_512_paramSetB 944
945id_tc26_gost_28147_param_Z 945
946id_tc26_gost3410_2012_256 946
947id_tc26_gost3410_2012_512 947
948id_tc26_signwithdigest_gost3410_2012_256 948
949id_tc26_signwithdigest_gost3410_2012_512 949
950X25519 950
951X448 951
952Ed25519 952
953Ed448 953
954Ed25519ph 954
955Ed448ph 955
956jurisdictionLocalityName 956
957jurisdictionStateOrProvinceName 957
958jurisdictionCountryName 958
959kx_rsa 959
960kx_ecdhe 960
961kx_dhe 961
962kx_gost 962
963auth_rsa 963
964auth_ecdsa 964
965auth_gost01 965
966auth_null 966
967chacha20_poly1305 967
968sm3 968
969sm3WithRSAEncryption 969
970ISO_CN 970
971oscca 971
972sm_scheme 972
973sm4_ecb 973
974sm4_cbc 974
975sm4_ofb128 975
976sm4_cfb128 976
977sm4_cfb1 977
978sm4_cfb8 978
979sm4_ctr 979
980dhSinglePass_stdDH_sha1kdf_scheme 980
981dhSinglePass_stdDH_sha224kdf_scheme 981
982dhSinglePass_stdDH_sha256kdf_scheme 982
983dhSinglePass_stdDH_sha384kdf_scheme 983
984dhSinglePass_stdDH_sha512kdf_scheme 984
985dhSinglePass_cofactorDH_sha1kdf_scheme 985
986dhSinglePass_cofactorDH_sha224kdf_scheme 986
987dhSinglePass_cofactorDH_sha256kdf_scheme 987
988dhSinglePass_cofactorDH_sha384kdf_scheme 988
989dhSinglePass_cofactorDH_sha512kdf_scheme 989
990dh_std_kdf 990
991dh_cofactor_kdf 991
992pSpecified 992
993id_tc26_gost_3410_12_256_paramSetA 993
994id_tc26_gost_3410_12_256_paramSetB 994
995id_tc26_gost_3410_12_256_paramSetC 995
996id_tc26_gost_3410_12_256_paramSetD 996
997id_tc26_gost_3410_12_512_paramSetTest 997
998id_tc26_gost_3410_12_512_paramSetC 998
999id_tc26_hmac_gost_3411_12_256 999
1000id_tc26_hmac_gost_3411_12_512 1000
1001id_ct_routeOriginAuthz 1001
1002id_ct_rpkiManifest 1002
1003id_ct_rpkiGhostbusters 1003
1004id_ct_resourceTaggedAttest 1004
1005id_cp 1005
1006sbgp_ipAddrBlockv2 1006
1007sbgp_autonomousSysNumv2 1007
1008ipAddr_asNumber 1008
1009ipAddr_asNumberv2 1009
1010rpkiManifest 1010
1011signedObject 1011
1012rpkiNotify 1012
1013id_ct_geofeedCSVwithCRLF 1013
1014id_ct_signedChecklist 1014
diff --git a/src/lib/libcrypto/objects/obj_xref.c b/src/lib/libcrypto/objects/obj_xref.c
deleted file mode 100644
index 3e8730d1c6..0000000000
--- a/src/lib/libcrypto/objects/obj_xref.c
+++ /dev/null
@@ -1,237 +0,0 @@
1/* $OpenBSD: obj_xref.c,v 1.8 2017/01/21 04:44:43 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006.
4 */
5/* ====================================================================
6 * Copyright (c) 2006 The OpenSSL Project. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in
17 * the documentation and/or other materials provided with the
18 * distribution.
19 *
20 * 3. All advertising materials mentioning features or use of this
21 * software must display the following acknowledgment:
22 * "This product includes software developed by the OpenSSL Project
23 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
24 *
25 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
26 * endorse or promote products derived from this software without
27 * prior written permission. For written permission, please contact
28 * licensing@OpenSSL.org.
29 *
30 * 5. Products derived from this software may not be called "OpenSSL"
31 * nor may "OpenSSL" appear in their names without prior written
32 * permission of the OpenSSL Project.
33 *
34 * 6. Redistributions of any form whatsoever must retain the following
35 * acknowledgment:
36 * "This product includes software developed by the OpenSSL Project
37 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
38 *
39 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
40 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
43 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50 * OF THE POSSIBILITY OF SUCH DAMAGE.
51 * ====================================================================
52 *
53 * This product includes cryptographic software written by Eric Young
54 * (eay@cryptsoft.com). This product includes software written by Tim
55 * Hudson (tjh@cryptsoft.com).
56 *
57 */
58
59#include <openssl/objects.h>
60#include "obj_xref.h"
61
62DECLARE_STACK_OF(nid_triple)
63STACK_OF(nid_triple) *sig_app, *sigx_app;
64
65static int
66sig_cmp(const nid_triple *a, const nid_triple *b)
67{
68 return a->sign_id - b->sign_id;
69}
70
71static int sig_cmp_BSEARCH_CMP_FN(const void *, const void *);
72static int sig_cmp(nid_triple const *, nid_triple const *);
73static nid_triple *OBJ_bsearch_sig(nid_triple *key, nid_triple const *base, int num);
74
75static int
76sig_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
77{
78 nid_triple const *a = a_;
79 nid_triple const *b = b_;
80 return sig_cmp(a, b);
81}
82
83static nid_triple *
84OBJ_bsearch_sig(nid_triple *key, nid_triple const *base, int num)
85{
86 return (nid_triple *)OBJ_bsearch_(key, base, num, sizeof(nid_triple),
87 sig_cmp_BSEARCH_CMP_FN);
88}
89
90static int
91sig_sk_cmp(const nid_triple * const *a, const nid_triple * const *b)
92{
93 return (*a)->sign_id - (*b)->sign_id;
94}
95
96static int sigx_cmp_BSEARCH_CMP_FN(const void *, const void *);
97static int sigx_cmp(const nid_triple * const *, const nid_triple * const *);
98static const nid_triple * *OBJ_bsearch_sigx(const nid_triple * *key, const nid_triple * const *base, int num);
99
100static int
101sigx_cmp(const nid_triple * const *a, const nid_triple * const *b)
102{
103 int ret;
104
105 ret = (*a)->hash_id - (*b)->hash_id;
106 if (ret)
107 return ret;
108 return (*a)->pkey_id - (*b)->pkey_id;
109}
110
111
112static int
113sigx_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
114{
115 const nid_triple * const *a = a_;
116 const nid_triple * const *b = b_;
117 return sigx_cmp(a, b);
118}
119
120static const nid_triple * *
121OBJ_bsearch_sigx(const nid_triple * *key, const nid_triple * const *base, int num)
122{
123 return (const nid_triple * *)OBJ_bsearch_(key, base, num, sizeof(const nid_triple *),
124 sigx_cmp_BSEARCH_CMP_FN);
125}
126
127int
128OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid)
129{
130 nid_triple tmp;
131 const nid_triple *rv = NULL;
132 tmp.sign_id = signid;
133
134 if (sig_app) {
135 int idx = sk_nid_triple_find(sig_app, &tmp);
136 if (idx >= 0)
137 rv = sk_nid_triple_value(sig_app, idx);
138 }
139
140#ifndef OBJ_XREF_TEST2
141 if (rv == NULL) {
142 rv = OBJ_bsearch_sig(&tmp, sigoid_srt,
143 sizeof(sigoid_srt) / sizeof(nid_triple));
144 }
145#endif
146 if (rv == NULL)
147 return 0;
148 if (pdig_nid)
149 *pdig_nid = rv->hash_id;
150 if (ppkey_nid)
151 *ppkey_nid = rv->pkey_id;
152 return 1;
153}
154
155int
156OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid)
157{
158 nid_triple tmp;
159 const nid_triple *t = &tmp;
160 const nid_triple **rv = NULL;
161
162 tmp.hash_id = dig_nid;
163 tmp.pkey_id = pkey_nid;
164
165 if (sigx_app) {
166 int idx = sk_nid_triple_find(sigx_app, &tmp);
167 if (idx >= 0) {
168 t = sk_nid_triple_value(sigx_app, idx);
169 rv = &t;
170 }
171 }
172
173#ifndef OBJ_XREF_TEST2
174 if (rv == NULL) {
175 rv = OBJ_bsearch_sigx(&t, sigoid_srt_xref,
176 sizeof(sigoid_srt_xref) / sizeof(nid_triple *));
177 }
178#endif
179 if (rv == NULL)
180 return 0;
181 if (psignid)
182 *psignid = (*rv)->sign_id;
183 return 1;
184}
185
186int
187OBJ_add_sigid(int signid, int dig_id, int pkey_id)
188{
189 nid_triple *ntr;
190
191 if (!sig_app)
192 sig_app = sk_nid_triple_new(sig_sk_cmp);
193 if (!sig_app)
194 return 0;
195 if (!sigx_app)
196 sigx_app = sk_nid_triple_new(sigx_cmp);
197 if (!sigx_app)
198 return 0;
199 ntr = reallocarray(NULL, 3, sizeof(int));
200 if (!ntr)
201 return 0;
202 ntr->sign_id = signid;
203 ntr->hash_id = dig_id;
204 ntr->pkey_id = pkey_id;
205
206 if (!sk_nid_triple_push(sig_app, ntr)) {
207 free(ntr);
208 return 0;
209 }
210
211 if (!sk_nid_triple_push(sigx_app, ntr))
212 return 0;
213
214 sk_nid_triple_sort(sig_app);
215 sk_nid_triple_sort(sigx_app);
216
217 return 1;
218}
219
220static void
221sid_free(nid_triple *tt)
222{
223 free(tt);
224}
225
226void
227OBJ_sigid_free(void)
228{
229 if (sig_app) {
230 sk_nid_triple_pop_free(sig_app, sid_free);
231 sig_app = NULL;
232 }
233 if (sigx_app) {
234 sk_nid_triple_free(sigx_app);
235 sigx_app = NULL;
236 }
237}
diff --git a/src/lib/libcrypto/objects/obj_xref.h b/src/lib/libcrypto/objects/obj_xref.h
deleted file mode 100644
index cffd006999..0000000000
--- a/src/lib/libcrypto/objects/obj_xref.h
+++ /dev/null
@@ -1,105 +0,0 @@
1/* $OpenBSD: obj_xref.h,v 1.5 2021/05/12 10:24:39 inoguchi Exp $ */
2/* AUTOGENERATED BY objxref.pl, DO NOT EDIT */
3
4__BEGIN_HIDDEN_DECLS
5
6typedef struct
7 {
8 int sign_id;
9 int hash_id;
10 int pkey_id;
11 } nid_triple;
12
13static const nid_triple sigoid_srt[] =
14 {
15 {NID_md2WithRSAEncryption, NID_md2, NID_rsaEncryption},
16 {NID_md5WithRSAEncryption, NID_md5, NID_rsaEncryption},
17 {NID_shaWithRSAEncryption, NID_sha, NID_rsaEncryption},
18 {NID_sha1WithRSAEncryption, NID_sha1, NID_rsaEncryption},
19 {NID_dsaWithSHA, NID_sha, NID_dsa},
20 {NID_dsaWithSHA1_2, NID_sha1, NID_dsa_2},
21 {NID_mdc2WithRSA, NID_mdc2, NID_rsaEncryption},
22 {NID_md5WithRSA, NID_md5, NID_rsa},
23 {NID_dsaWithSHA1, NID_sha1, NID_dsa},
24 {NID_sha1WithRSA, NID_sha1, NID_rsa},
25 {NID_ripemd160WithRSA, NID_ripemd160, NID_rsaEncryption},
26 {NID_md4WithRSAEncryption, NID_md4, NID_rsaEncryption},
27 {NID_ecdsa_with_SHA1, NID_sha1, NID_X9_62_id_ecPublicKey},
28 {NID_sha256WithRSAEncryption, NID_sha256, NID_rsaEncryption},
29 {NID_sha384WithRSAEncryption, NID_sha384, NID_rsaEncryption},
30 {NID_sha512WithRSAEncryption, NID_sha512, NID_rsaEncryption},
31 {NID_sha224WithRSAEncryption, NID_sha224, NID_rsaEncryption},
32 {NID_ecdsa_with_Recommended, NID_undef, NID_X9_62_id_ecPublicKey},
33 {NID_ecdsa_with_Specified, NID_undef, NID_X9_62_id_ecPublicKey},
34 {NID_ecdsa_with_SHA224, NID_sha224, NID_X9_62_id_ecPublicKey},
35 {NID_ecdsa_with_SHA256, NID_sha256, NID_X9_62_id_ecPublicKey},
36 {NID_ecdsa_with_SHA384, NID_sha384, NID_X9_62_id_ecPublicKey},
37 {NID_ecdsa_with_SHA512, NID_sha512, NID_X9_62_id_ecPublicKey},
38 {NID_dsa_with_SHA224, NID_sha224, NID_dsa},
39 {NID_dsa_with_SHA256, NID_sha256, NID_dsa},
40 {NID_id_GostR3411_94_with_GostR3410_2001, NID_id_GostR3411_94, NID_id_GostR3410_2001},
41 {NID_id_GostR3411_94_with_GostR3410_94, NID_id_GostR3411_94, NID_id_GostR3410_94},
42 {NID_id_GostR3411_94_with_GostR3410_94_cc, NID_id_GostR3411_94, NID_id_GostR3410_94_cc},
43 {NID_id_GostR3411_94_with_GostR3410_2001_cc, NID_id_GostR3411_94, NID_id_GostR3410_2001_cc},
44 {NID_rsassaPss, NID_undef, NID_rsaEncryption},
45 {NID_id_tc26_signwithdigest_gost3410_2012_256, NID_id_tc26_gost3411_2012_256, NID_id_GostR3410_2001},
46 {NID_id_tc26_signwithdigest_gost3410_2012_512, NID_id_tc26_gost3411_2012_512, NID_id_GostR3410_2001},
47 {NID_dhSinglePass_stdDH_sha1kdf_scheme, NID_sha1, NID_dh_std_kdf},
48 {NID_dhSinglePass_stdDH_sha224kdf_scheme, NID_sha224, NID_dh_std_kdf},
49 {NID_dhSinglePass_stdDH_sha256kdf_scheme, NID_sha256, NID_dh_std_kdf},
50 {NID_dhSinglePass_stdDH_sha384kdf_scheme, NID_sha384, NID_dh_std_kdf},
51 {NID_dhSinglePass_stdDH_sha512kdf_scheme, NID_sha512, NID_dh_std_kdf},
52 {NID_dhSinglePass_cofactorDH_sha1kdf_scheme, NID_sha1, NID_dh_cofactor_kdf},
53 {NID_dhSinglePass_cofactorDH_sha224kdf_scheme, NID_sha224, NID_dh_cofactor_kdf},
54 {NID_dhSinglePass_cofactorDH_sha256kdf_scheme, NID_sha256, NID_dh_cofactor_kdf},
55 {NID_dhSinglePass_cofactorDH_sha384kdf_scheme, NID_sha384, NID_dh_cofactor_kdf},
56 {NID_dhSinglePass_cofactorDH_sha512kdf_scheme, NID_sha512, NID_dh_cofactor_kdf},
57 };
58
59static const nid_triple * const sigoid_srt_xref[] =
60 {
61 &sigoid_srt[29],
62 &sigoid_srt[17],
63 &sigoid_srt[18],
64 &sigoid_srt[0],
65 &sigoid_srt[1],
66 &sigoid_srt[7],
67 &sigoid_srt[2],
68 &sigoid_srt[4],
69 &sigoid_srt[3],
70 &sigoid_srt[9],
71 &sigoid_srt[5],
72 &sigoid_srt[8],
73 &sigoid_srt[12],
74 &sigoid_srt[32],
75 &sigoid_srt[37],
76 &sigoid_srt[6],
77 &sigoid_srt[10],
78 &sigoid_srt[11],
79 &sigoid_srt[13],
80 &sigoid_srt[24],
81 &sigoid_srt[20],
82 &sigoid_srt[34],
83 &sigoid_srt[39],
84 &sigoid_srt[14],
85 &sigoid_srt[21],
86 &sigoid_srt[35],
87 &sigoid_srt[40],
88 &sigoid_srt[15],
89 &sigoid_srt[22],
90 &sigoid_srt[36],
91 &sigoid_srt[41],
92 &sigoid_srt[16],
93 &sigoid_srt[23],
94 &sigoid_srt[19],
95 &sigoid_srt[33],
96 &sigoid_srt[38],
97 &sigoid_srt[25],
98 &sigoid_srt[26],
99 &sigoid_srt[27],
100 &sigoid_srt[28],
101 &sigoid_srt[30],
102 &sigoid_srt[31],
103 };
104
105__END_HIDDEN_DECLS
diff --git a/src/lib/libcrypto/objects/obj_xref.txt b/src/lib/libcrypto/objects/obj_xref.txt
deleted file mode 100644
index e874611a44..0000000000
--- a/src/lib/libcrypto/objects/obj_xref.txt
+++ /dev/null
@@ -1,61 +0,0 @@
1# OID cross reference table.
2# Links signatures OIDs to their corresponding public key algorithms
3# and digests.
4
5md2WithRSAEncryption md2 rsaEncryption
6md5WithRSAEncryption md5 rsaEncryption
7shaWithRSAEncryption sha rsaEncryption
8sha1WithRSAEncryption sha1 rsaEncryption
9md4WithRSAEncryption md4 rsaEncryption
10sha256WithRSAEncryption sha256 rsaEncryption
11sha384WithRSAEncryption sha384 rsaEncryption
12sha512WithRSAEncryption sha512 rsaEncryption
13sha224WithRSAEncryption sha224 rsaEncryption
14mdc2WithRSA mdc2 rsaEncryption
15ripemd160WithRSA ripemd160 rsaEncryption
16# For PSS the digest algorithm can vary and depends on the included
17# AlgorithmIdentifier. The digest "undef" indicates the public key
18# method should handle this explicitly.
19rsassaPss undef rsaEncryption
20
21# Alternative deprecated OIDs. By using the older "rsa" OID this
22# type will be recognized by not normally used.
23
24md5WithRSA md5 rsa
25sha1WithRSA sha1 rsa
26
27dsaWithSHA sha dsa
28dsaWithSHA1 sha1 dsa
29
30dsaWithSHA1_2 sha1 dsa_2
31
32ecdsa_with_SHA1 sha1 X9_62_id_ecPublicKey
33ecdsa_with_SHA224 sha224 X9_62_id_ecPublicKey
34ecdsa_with_SHA256 sha256 X9_62_id_ecPublicKey
35ecdsa_with_SHA384 sha384 X9_62_id_ecPublicKey
36ecdsa_with_SHA512 sha512 X9_62_id_ecPublicKey
37ecdsa_with_Recommended undef X9_62_id_ecPublicKey
38ecdsa_with_Specified undef X9_62_id_ecPublicKey
39
40dsa_with_SHA224 sha224 dsa
41dsa_with_SHA256 sha256 dsa
42
43id_GostR3411_94_with_GostR3410_2001 id_GostR3411_94 id_GostR3410_2001
44id_GostR3411_94_with_GostR3410_94 id_GostR3411_94 id_GostR3410_94
45id_GostR3411_94_with_GostR3410_94_cc id_GostR3411_94 id_GostR3410_94_cc
46id_GostR3411_94_with_GostR3410_2001_cc id_GostR3411_94 id_GostR3410_2001_cc
47id_tc26_signwithdigest_gost3410_2012_256 id_tc26_gost3411_2012_256 id_GostR3410_2001
48id_tc26_signwithdigest_gost3410_2012_512 id_tc26_gost3411_2012_512 id_GostR3410_2001
49
50# ECDH KDFs and their corresponding message digests and schemes
51dhSinglePass_stdDH_sha1kdf_scheme sha1 dh_std_kdf
52dhSinglePass_stdDH_sha224kdf_scheme sha224 dh_std_kdf
53dhSinglePass_stdDH_sha256kdf_scheme sha256 dh_std_kdf
54dhSinglePass_stdDH_sha384kdf_scheme sha384 dh_std_kdf
55dhSinglePass_stdDH_sha512kdf_scheme sha512 dh_std_kdf
56
57dhSinglePass_cofactorDH_sha1kdf_scheme sha1 dh_cofactor_kdf
58dhSinglePass_cofactorDH_sha224kdf_scheme sha224 dh_cofactor_kdf
59dhSinglePass_cofactorDH_sha256kdf_scheme sha256 dh_cofactor_kdf
60dhSinglePass_cofactorDH_sha384kdf_scheme sha384 dh_cofactor_kdf
61dhSinglePass_cofactorDH_sha512kdf_scheme sha512 dh_cofactor_kdf
diff --git a/src/lib/libcrypto/objects/objects.README b/src/lib/libcrypto/objects/objects.README
deleted file mode 100644
index c49e93d679..0000000000
--- a/src/lib/libcrypto/objects/objects.README
+++ /dev/null
@@ -1,44 +0,0 @@
1objects.txt syntax
2------------------
3
4To cover all the naming hacks that were previously in objects.h, we needed some
5kind of hacks in objects.txt.
6
7The basic syntax for adding an object is as follows:
8
9 1 2 3 4 : shortName : Long Name
10
11 If the long name doesn't contain spaces, or no short name
12 exists, the long name is used as basis for the base name
13 in C. Otherwise, the short name is used.
14
15 The base name (let's call it 'base') will then be used to
16 create the C macros SN_base, LN_base, NID_base and OBJ_base.
17
18 Note that if the base name contains spaces, dashes or periods,
19 those will be converted to underscore.
20
21Then there are some extra commands:
22
23 !Alias foo 1 2 3 4
24
25 This just makes a name foo for an OID. The C macro
26 OBJ_foo will be created as a result.
27
28 !Cname foo
29
30 This makes sure that the name foo will be used as base name
31 in C.
32
33 !module foo
34 1 2 3 4 : shortName : Long Name
35 !global
36
37 The !module command was meant to define a kind of modularity.
38 What it does is to make sure the module name is prepended
39 to the base name. !global turns this off. This construction
40 is not recursive.
41
42Lines starting with # are treated as comments, as well as any line starting
43with ! and not matching the commands above.
44
diff --git a/src/lib/libcrypto/objects/objects.h b/src/lib/libcrypto/objects/objects.h
deleted file mode 100644
index c40991b5e3..0000000000
--- a/src/lib/libcrypto/objects/objects.h
+++ /dev/null
@@ -1,1140 +0,0 @@
1/* $OpenBSD: objects.h,v 1.12 2017/01/21 04:53:22 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved.
4 *
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *
9 * This library is free for commercial and non-commercial use as long as
10 * the following conditions are aheared to. The following conditions
11 * apply to all code found in this distribution, be it the RC4, RSA,
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13 * included with this distribution is covered by the same copyright terms
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15 *
16 * Copyright remains Eric Young's, and as such any Copyright notices in
17 * the code are not to be removed.
18 * If this package is used in a product, Eric Young should be given attribution
19 * as the author of the parts of the library used.
20 * This can be in the form of a textual message at program startup or
21 * in documentation (online or textual) provided with the package.
22 *
23 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions
25 * are met:
26 * 1. Redistributions of source code must retain the copyright
27 * notice, this list of conditions and the following disclaimer.
28 * 2. Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the
30 * documentation and/or other materials provided with the distribution.
31 * 3. All advertising materials mentioning features or use of this software
32 * must display the following acknowledgement:
33 * "This product includes cryptographic software written by
34 * Eric Young (eay@cryptsoft.com)"
35 * The word 'cryptographic' can be left out if the rouines from the library
36 * being used are not cryptographic related :-).
37 * 4. If you include any Windows specific code (or a derivative thereof) from
38 * the apps directory (application code) you must include an acknowledgement:
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40 *
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51 * SUCH DAMAGE.
52 *
53 * The licence and distribution terms for any publically available version or
54 * derivative of this code cannot be changed. i.e. this code cannot simply be
55 * copied and put under another distribution licence
56 * [including the GNU Public Licence.]
57 */
58
59#ifndef HEADER_OBJECTS_H
60#define HEADER_OBJECTS_H
61
62#define USE_OBJ_MAC
63
64#ifdef USE_OBJ_MAC
65#include <openssl/obj_mac.h>
66#else
67#define SN_undef "UNDEF"
68#define LN_undef "undefined"
69#define NID_undef 0
70#define OBJ_undef 0L
71
72#define SN_Algorithm "Algorithm"
73#define LN_algorithm "algorithm"
74#define NID_algorithm 38
75#define OBJ_algorithm 1L,3L,14L,3L,2L
76
77#define LN_rsadsi "rsadsi"
78#define NID_rsadsi 1
79#define OBJ_rsadsi 1L,2L,840L,113549L
80
81#define LN_pkcs "pkcs"
82#define NID_pkcs 2
83#define OBJ_pkcs OBJ_rsadsi,1L
84
85#define SN_md2 "MD2"
86#define LN_md2 "md2"
87#define NID_md2 3
88#define OBJ_md2 OBJ_rsadsi,2L,2L
89
90#define SN_md5 "MD5"
91#define LN_md5 "md5"
92#define NID_md5 4
93#define OBJ_md5 OBJ_rsadsi,2L,5L
94
95#define SN_rc4 "RC4"
96#define LN_rc4 "rc4"
97#define NID_rc4 5
98#define OBJ_rc4 OBJ_rsadsi,3L,4L
99
100#define LN_rsaEncryption "rsaEncryption"
101#define NID_rsaEncryption 6
102#define OBJ_rsaEncryption OBJ_pkcs,1L,1L
103
104#define SN_md2WithRSAEncryption "RSA-MD2"
105#define LN_md2WithRSAEncryption "md2WithRSAEncryption"
106#define NID_md2WithRSAEncryption 7
107#define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L
108
109#define SN_md5WithRSAEncryption "RSA-MD5"
110#define LN_md5WithRSAEncryption "md5WithRSAEncryption"
111#define NID_md5WithRSAEncryption 8
112#define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L
113
114#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES"
115#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC"
116#define NID_pbeWithMD2AndDES_CBC 9
117#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L
118
119#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES"
120#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC"
121#define NID_pbeWithMD5AndDES_CBC 10
122#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L
123
124#define LN_X500 "X500"
125#define NID_X500 11
126#define OBJ_X500 2L,5L
127
128#define LN_X509 "X509"
129#define NID_X509 12
130#define OBJ_X509 OBJ_X500,4L
131
132#define SN_commonName "CN"
133#define LN_commonName "commonName"
134#define NID_commonName 13
135#define OBJ_commonName OBJ_X509,3L
136
137#define SN_countryName "C"
138#define LN_countryName "countryName"
139#define NID_countryName 14
140#define OBJ_countryName OBJ_X509,6L
141
142#define SN_localityName "L"
143#define LN_localityName "localityName"
144#define NID_localityName 15
145#define OBJ_localityName OBJ_X509,7L
146
147/* Postal Address? PA */
148
149/* should be "ST" (rfc1327) but MS uses 'S' */
150#define SN_stateOrProvinceName "ST"
151#define LN_stateOrProvinceName "stateOrProvinceName"
152#define NID_stateOrProvinceName 16
153#define OBJ_stateOrProvinceName OBJ_X509,8L
154
155#define SN_organizationName "O"
156#define LN_organizationName "organizationName"
157#define NID_organizationName 17
158#define OBJ_organizationName OBJ_X509,10L
159
160#define SN_organizationalUnitName "OU"
161#define LN_organizationalUnitName "organizationalUnitName"
162#define NID_organizationalUnitName 18
163#define OBJ_organizationalUnitName OBJ_X509,11L
164
165#define SN_rsa "RSA"
166#define LN_rsa "rsa"
167#define NID_rsa 19
168#define OBJ_rsa OBJ_X500,8L,1L,1L
169
170#define LN_pkcs7 "pkcs7"
171#define NID_pkcs7 20
172#define OBJ_pkcs7 OBJ_pkcs,7L
173
174#define LN_pkcs7_data "pkcs7-data"
175#define NID_pkcs7_data 21
176#define OBJ_pkcs7_data OBJ_pkcs7,1L
177
178#define LN_pkcs7_signed "pkcs7-signedData"
179#define NID_pkcs7_signed 22
180#define OBJ_pkcs7_signed OBJ_pkcs7,2L
181
182#define LN_pkcs7_enveloped "pkcs7-envelopedData"
183#define NID_pkcs7_enveloped 23
184#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L
185
186#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData"
187#define NID_pkcs7_signedAndEnveloped 24
188#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L
189
190#define LN_pkcs7_digest "pkcs7-digestData"
191#define NID_pkcs7_digest 25
192#define OBJ_pkcs7_digest OBJ_pkcs7,5L
193
194#define LN_pkcs7_encrypted "pkcs7-encryptedData"
195#define NID_pkcs7_encrypted 26
196#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L
197
198#define LN_pkcs3 "pkcs3"
199#define NID_pkcs3 27
200#define OBJ_pkcs3 OBJ_pkcs,3L
201
202#define LN_dhKeyAgreement "dhKeyAgreement"
203#define NID_dhKeyAgreement 28
204#define OBJ_dhKeyAgreement OBJ_pkcs3,1L
205
206#define SN_des_ecb "DES-ECB"
207#define LN_des_ecb "des-ecb"
208#define NID_des_ecb 29
209#define OBJ_des_ecb OBJ_algorithm,6L
210
211#define SN_des_cfb64 "DES-CFB"
212#define LN_des_cfb64 "des-cfb"
213#define NID_des_cfb64 30
214/* IV + num */
215#define OBJ_des_cfb64 OBJ_algorithm,9L
216
217#define SN_des_cbc "DES-CBC"
218#define LN_des_cbc "des-cbc"
219#define NID_des_cbc 31
220/* IV */
221#define OBJ_des_cbc OBJ_algorithm,7L
222
223#define SN_des_ede "DES-EDE"
224#define LN_des_ede "des-ede"
225#define NID_des_ede 32
226/* ?? */
227#define OBJ_des_ede OBJ_algorithm,17L
228
229#define SN_des_ede3 "DES-EDE3"
230#define LN_des_ede3 "des-ede3"
231#define NID_des_ede3 33
232
233#define SN_idea_cbc "IDEA-CBC"
234#define LN_idea_cbc "idea-cbc"
235#define NID_idea_cbc 34
236#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L
237
238#define SN_idea_cfb64 "IDEA-CFB"
239#define LN_idea_cfb64 "idea-cfb"
240#define NID_idea_cfb64 35
241
242#define SN_idea_ecb "IDEA-ECB"
243#define LN_idea_ecb "idea-ecb"
244#define NID_idea_ecb 36
245
246#define SN_rc2_cbc "RC2-CBC"
247#define LN_rc2_cbc "rc2-cbc"
248#define NID_rc2_cbc 37
249#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L
250
251#define SN_rc2_ecb "RC2-ECB"
252#define LN_rc2_ecb "rc2-ecb"
253#define NID_rc2_ecb 38
254
255#define SN_rc2_cfb64 "RC2-CFB"
256#define LN_rc2_cfb64 "rc2-cfb"
257#define NID_rc2_cfb64 39
258
259#define SN_rc2_ofb64 "RC2-OFB"
260#define LN_rc2_ofb64 "rc2-ofb"
261#define NID_rc2_ofb64 40
262
263#define SN_sha "SHA"
264#define LN_sha "sha"
265#define NID_sha 41
266#define OBJ_sha OBJ_algorithm,18L
267
268#define SN_shaWithRSAEncryption "RSA-SHA"
269#define LN_shaWithRSAEncryption "shaWithRSAEncryption"
270#define NID_shaWithRSAEncryption 42
271#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L
272
273#define SN_des_ede_cbc "DES-EDE-CBC"
274#define LN_des_ede_cbc "des-ede-cbc"
275#define NID_des_ede_cbc 43
276
277#define SN_des_ede3_cbc "DES-EDE3-CBC"
278#define LN_des_ede3_cbc "des-ede3-cbc"
279#define NID_des_ede3_cbc 44
280#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L
281
282#define SN_des_ofb64 "DES-OFB"
283#define LN_des_ofb64 "des-ofb"
284#define NID_des_ofb64 45
285#define OBJ_des_ofb64 OBJ_algorithm,8L
286
287#define SN_idea_ofb64 "IDEA-OFB"
288#define LN_idea_ofb64 "idea-ofb"
289#define NID_idea_ofb64 46
290
291#define LN_pkcs9 "pkcs9"
292#define NID_pkcs9 47
293#define OBJ_pkcs9 OBJ_pkcs,9L
294
295#define SN_pkcs9_emailAddress "Email"
296#define LN_pkcs9_emailAddress "emailAddress"
297#define NID_pkcs9_emailAddress 48
298#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L
299
300#define LN_pkcs9_unstructuredName "unstructuredName"
301#define NID_pkcs9_unstructuredName 49
302#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L
303
304#define LN_pkcs9_contentType "contentType"
305#define NID_pkcs9_contentType 50
306#define OBJ_pkcs9_contentType OBJ_pkcs9,3L
307
308#define LN_pkcs9_messageDigest "messageDigest"
309#define NID_pkcs9_messageDigest 51
310#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L
311
312#define LN_pkcs9_signingTime "signingTime"
313#define NID_pkcs9_signingTime 52
314#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L
315
316#define LN_pkcs9_countersignature "countersignature"
317#define NID_pkcs9_countersignature 53
318#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L
319
320#define LN_pkcs9_challengePassword "challengePassword"
321#define NID_pkcs9_challengePassword 54
322#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L
323
324#define LN_pkcs9_unstructuredAddress "unstructuredAddress"
325#define NID_pkcs9_unstructuredAddress 55
326#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L
327
328#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes"
329#define NID_pkcs9_extCertAttributes 56
330#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L
331
332#define SN_netscape "Netscape"
333#define LN_netscape "Netscape Communications Corp."
334#define NID_netscape 57
335#define OBJ_netscape 2L,16L,840L,1L,113730L
336
337#define SN_netscape_cert_extension "nsCertExt"
338#define LN_netscape_cert_extension "Netscape Certificate Extension"
339#define NID_netscape_cert_extension 58
340#define OBJ_netscape_cert_extension OBJ_netscape,1L
341
342#define SN_netscape_data_type "nsDataType"
343#define LN_netscape_data_type "Netscape Data Type"
344#define NID_netscape_data_type 59
345#define OBJ_netscape_data_type OBJ_netscape,2L
346
347#define SN_des_ede_cfb64 "DES-EDE-CFB"
348#define LN_des_ede_cfb64 "des-ede-cfb"
349#define NID_des_ede_cfb64 60
350
351#define SN_des_ede3_cfb64 "DES-EDE3-CFB"
352#define LN_des_ede3_cfb64 "des-ede3-cfb"
353#define NID_des_ede3_cfb64 61
354
355#define SN_des_ede_ofb64 "DES-EDE-OFB"
356#define LN_des_ede_ofb64 "des-ede-ofb"
357#define NID_des_ede_ofb64 62
358
359#define SN_des_ede3_ofb64 "DES-EDE3-OFB"
360#define LN_des_ede3_ofb64 "des-ede3-ofb"
361#define NID_des_ede3_ofb64 63
362
363/* I'm not sure about the object ID */
364#define SN_sha1 "SHA1"
365#define LN_sha1 "sha1"
366#define NID_sha1 64
367#define OBJ_sha1 OBJ_algorithm,26L
368/* 28 Jun 1996 - eay */
369/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */
370
371#define SN_sha1WithRSAEncryption "RSA-SHA1"
372#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption"
373#define NID_sha1WithRSAEncryption 65
374#define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L
375
376#define SN_dsaWithSHA "DSA-SHA"
377#define LN_dsaWithSHA "dsaWithSHA"
378#define NID_dsaWithSHA 66
379#define OBJ_dsaWithSHA OBJ_algorithm,13L
380
381#define SN_dsa_2 "DSA-old"
382#define LN_dsa_2 "dsaEncryption-old"
383#define NID_dsa_2 67
384#define OBJ_dsa_2 OBJ_algorithm,12L
385
386/* proposed by microsoft to RSA */
387#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64"
388#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC"
389#define NID_pbeWithSHA1AndRC2_CBC 68
390#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L
391
392/* proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now
393 * defined explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something
394 * completely different.
395 */
396#define LN_id_pbkdf2 "PBKDF2"
397#define NID_id_pbkdf2 69
398#define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L
399
400#define SN_dsaWithSHA1_2 "DSA-SHA1-old"
401#define LN_dsaWithSHA1_2 "dsaWithSHA1-old"
402#define NID_dsaWithSHA1_2 70
403/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */
404#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L
405
406#define SN_netscape_cert_type "nsCertType"
407#define LN_netscape_cert_type "Netscape Cert Type"
408#define NID_netscape_cert_type 71
409#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L
410
411#define SN_netscape_base_url "nsBaseUrl"
412#define LN_netscape_base_url "Netscape Base Url"
413#define NID_netscape_base_url 72
414#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L
415
416#define SN_netscape_revocation_url "nsRevocationUrl"
417#define LN_netscape_revocation_url "Netscape Revocation Url"
418#define NID_netscape_revocation_url 73
419#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L
420
421#define SN_netscape_ca_revocation_url "nsCaRevocationUrl"
422#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url"
423#define NID_netscape_ca_revocation_url 74
424#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L
425
426#define SN_netscape_renewal_url "nsRenewalUrl"
427#define LN_netscape_renewal_url "Netscape Renewal Url"
428#define NID_netscape_renewal_url 75
429#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L
430
431#define SN_netscape_ca_policy_url "nsCaPolicyUrl"
432#define LN_netscape_ca_policy_url "Netscape CA Policy Url"
433#define NID_netscape_ca_policy_url 76
434#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L
435
436#define SN_netscape_ssl_server_name "nsSslServerName"
437#define LN_netscape_ssl_server_name "Netscape SSL Server Name"
438#define NID_netscape_ssl_server_name 77
439#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L
440
441#define SN_netscape_comment "nsComment"
442#define LN_netscape_comment "Netscape Comment"
443#define NID_netscape_comment 78
444#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L
445
446#define SN_netscape_cert_sequence "nsCertSequence"
447#define LN_netscape_cert_sequence "Netscape Certificate Sequence"
448#define NID_netscape_cert_sequence 79
449#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L
450
451#define SN_desx_cbc "DESX-CBC"
452#define LN_desx_cbc "desx-cbc"
453#define NID_desx_cbc 80
454
455#define SN_id_ce "id-ce"
456#define NID_id_ce 81
457#define OBJ_id_ce 2L,5L,29L
458
459#define SN_subject_key_identifier "subjectKeyIdentifier"
460#define LN_subject_key_identifier "X509v3 Subject Key Identifier"
461#define NID_subject_key_identifier 82
462#define OBJ_subject_key_identifier OBJ_id_ce,14L
463
464#define SN_key_usage "keyUsage"
465#define LN_key_usage "X509v3 Key Usage"
466#define NID_key_usage 83
467#define OBJ_key_usage OBJ_id_ce,15L
468
469#define SN_private_key_usage_period "privateKeyUsagePeriod"
470#define LN_private_key_usage_period "X509v3 Private Key Usage Period"
471#define NID_private_key_usage_period 84
472#define OBJ_private_key_usage_period OBJ_id_ce,16L
473
474#define SN_subject_alt_name "subjectAltName"
475#define LN_subject_alt_name "X509v3 Subject Alternative Name"
476#define NID_subject_alt_name 85
477#define OBJ_subject_alt_name OBJ_id_ce,17L
478
479#define SN_issuer_alt_name "issuerAltName"
480#define LN_issuer_alt_name "X509v3 Issuer Alternative Name"
481#define NID_issuer_alt_name 86
482#define OBJ_issuer_alt_name OBJ_id_ce,18L
483
484#define SN_basic_constraints "basicConstraints"
485#define LN_basic_constraints "X509v3 Basic Constraints"
486#define NID_basic_constraints 87
487#define OBJ_basic_constraints OBJ_id_ce,19L
488
489#define SN_crl_number "crlNumber"
490#define LN_crl_number "X509v3 CRL Number"
491#define NID_crl_number 88
492#define OBJ_crl_number OBJ_id_ce,20L
493
494#define SN_certificate_policies "certificatePolicies"
495#define LN_certificate_policies "X509v3 Certificate Policies"
496#define NID_certificate_policies 89
497#define OBJ_certificate_policies OBJ_id_ce,32L
498
499#define SN_authority_key_identifier "authorityKeyIdentifier"
500#define LN_authority_key_identifier "X509v3 Authority Key Identifier"
501#define NID_authority_key_identifier 90
502#define OBJ_authority_key_identifier OBJ_id_ce,35L
503
504#define SN_bf_cbc "BF-CBC"
505#define LN_bf_cbc "bf-cbc"
506#define NID_bf_cbc 91
507#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L
508
509#define SN_bf_ecb "BF-ECB"
510#define LN_bf_ecb "bf-ecb"
511#define NID_bf_ecb 92
512
513#define SN_bf_cfb64 "BF-CFB"
514#define LN_bf_cfb64 "bf-cfb"
515#define NID_bf_cfb64 93
516
517#define SN_bf_ofb64 "BF-OFB"
518#define LN_bf_ofb64 "bf-ofb"
519#define NID_bf_ofb64 94
520
521#define SN_mdc2 "MDC2"
522#define LN_mdc2 "mdc2"
523#define NID_mdc2 95
524#define OBJ_mdc2 2L,5L,8L,3L,101L
525/* An alternative? 1L,3L,14L,3L,2L,19L */
526
527#define SN_mdc2WithRSA "RSA-MDC2"
528#define LN_mdc2WithRSA "mdc2withRSA"
529#define NID_mdc2WithRSA 96
530#define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L
531
532#define SN_rc4_40 "RC4-40"
533#define LN_rc4_40 "rc4-40"
534#define NID_rc4_40 97
535
536#define SN_rc2_40_cbc "RC2-40-CBC"
537#define LN_rc2_40_cbc "rc2-40-cbc"
538#define NID_rc2_40_cbc 98
539
540#define SN_givenName "G"
541#define LN_givenName "givenName"
542#define NID_givenName 99
543#define OBJ_givenName OBJ_X509,42L
544
545#define SN_surname "S"
546#define LN_surname "surname"
547#define NID_surname 100
548#define OBJ_surname OBJ_X509,4L
549
550#define SN_initials "I"
551#define LN_initials "initials"
552#define NID_initials 101
553#define OBJ_initials OBJ_X509,43L
554
555#define SN_uniqueIdentifier "UID"
556#define LN_uniqueIdentifier "uniqueIdentifier"
557#define NID_uniqueIdentifier 102
558#define OBJ_uniqueIdentifier OBJ_X509,45L
559
560#define SN_crl_distribution_points "crlDistributionPoints"
561#define LN_crl_distribution_points "X509v3 CRL Distribution Points"
562#define NID_crl_distribution_points 103
563#define OBJ_crl_distribution_points OBJ_id_ce,31L
564
565#define SN_md5WithRSA "RSA-NP-MD5"
566#define LN_md5WithRSA "md5WithRSA"
567#define NID_md5WithRSA 104
568#define OBJ_md5WithRSA OBJ_algorithm,3L
569
570#define SN_serialNumber "SN"
571#define LN_serialNumber "serialNumber"
572#define NID_serialNumber 105
573#define OBJ_serialNumber OBJ_X509,5L
574
575#define SN_title "T"
576#define LN_title "title"
577#define NID_title 106
578#define OBJ_title OBJ_X509,12L
579
580#define SN_description "D"
581#define LN_description "description"
582#define NID_description 107
583#define OBJ_description OBJ_X509,13L
584
585/* CAST5 is CAST-128, I'm just sticking with the documentation */
586#define SN_cast5_cbc "CAST5-CBC"
587#define LN_cast5_cbc "cast5-cbc"
588#define NID_cast5_cbc 108
589#define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L
590
591#define SN_cast5_ecb "CAST5-ECB"
592#define LN_cast5_ecb "cast5-ecb"
593#define NID_cast5_ecb 109
594
595#define SN_cast5_cfb64 "CAST5-CFB"
596#define LN_cast5_cfb64 "cast5-cfb"
597#define NID_cast5_cfb64 110
598
599#define SN_cast5_ofb64 "CAST5-OFB"
600#define LN_cast5_ofb64 "cast5-ofb"
601#define NID_cast5_ofb64 111
602
603#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC"
604#define NID_pbeWithMD5AndCast5_CBC 112
605#define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L
606
607/* This is one sun will soon be using :-(
608 * id-dsa-with-sha1 ID ::= {
609 * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 }
610 */
611#define SN_dsaWithSHA1 "DSA-SHA1"
612#define LN_dsaWithSHA1 "dsaWithSHA1"
613#define NID_dsaWithSHA1 113
614#define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L
615
616#define NID_md5_sha1 114
617#define SN_md5_sha1 "MD5-SHA1"
618#define LN_md5_sha1 "md5-sha1"
619
620#define SN_sha1WithRSA "RSA-SHA1-2"
621#define LN_sha1WithRSA "sha1WithRSA"
622#define NID_sha1WithRSA 115
623#define OBJ_sha1WithRSA OBJ_algorithm,29L
624
625#define SN_dsa "DSA"
626#define LN_dsa "dsaEncryption"
627#define NID_dsa 116
628#define OBJ_dsa 1L,2L,840L,10040L,4L,1L
629
630#define SN_ripemd160 "RIPEMD160"
631#define LN_ripemd160 "ripemd160"
632#define NID_ripemd160 117
633#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L
634
635/* The name should actually be rsaSignatureWithripemd160, but I'm going
636 * to continue using the convention I'm using with the other ciphers */
637#define SN_ripemd160WithRSA "RSA-RIPEMD160"
638#define LN_ripemd160WithRSA "ripemd160WithRSA"
639#define NID_ripemd160WithRSA 119
640#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L
641
642/* Taken from rfc2040
643 * RC5_CBC_Parameters ::= SEQUENCE {
644 * version INTEGER (v1_0(16)),
645 * rounds INTEGER (8..127),
646 * blockSizeInBits INTEGER (64, 128),
647 * iv OCTET STRING OPTIONAL
648 * }
649 */
650#define SN_rc5_cbc "RC5-CBC"
651#define LN_rc5_cbc "rc5-cbc"
652#define NID_rc5_cbc 120
653#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L
654
655#define SN_rc5_ecb "RC5-ECB"
656#define LN_rc5_ecb "rc5-ecb"
657#define NID_rc5_ecb 121
658
659#define SN_rc5_cfb64 "RC5-CFB"
660#define LN_rc5_cfb64 "rc5-cfb"
661#define NID_rc5_cfb64 122
662
663#define SN_rc5_ofb64 "RC5-OFB"
664#define LN_rc5_ofb64 "rc5-ofb"
665#define NID_rc5_ofb64 123
666
667#define SN_rle_compression "RLE"
668#define LN_rle_compression "run length compression"
669#define NID_rle_compression 124
670#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L
671
672#define SN_zlib_compression "ZLIB"
673#define LN_zlib_compression "zlib compression"
674#define NID_zlib_compression 125
675#define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L
676
677#define SN_ext_key_usage "extendedKeyUsage"
678#define LN_ext_key_usage "X509v3 Extended Key Usage"
679#define NID_ext_key_usage 126
680#define OBJ_ext_key_usage OBJ_id_ce,37
681
682#define SN_id_pkix "PKIX"
683#define NID_id_pkix 127
684#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L
685
686#define SN_id_kp "id-kp"
687#define NID_id_kp 128
688#define OBJ_id_kp OBJ_id_pkix,3L
689
690/* PKIX extended key usage OIDs */
691
692#define SN_server_auth "serverAuth"
693#define LN_server_auth "TLS Web Server Authentication"
694#define NID_server_auth 129
695#define OBJ_server_auth OBJ_id_kp,1L
696
697#define SN_client_auth "clientAuth"
698#define LN_client_auth "TLS Web Client Authentication"
699#define NID_client_auth 130
700#define OBJ_client_auth OBJ_id_kp,2L
701
702#define SN_code_sign "codeSigning"
703#define LN_code_sign "Code Signing"
704#define NID_code_sign 131
705#define OBJ_code_sign OBJ_id_kp,3L
706
707#define SN_email_protect "emailProtection"
708#define LN_email_protect "E-mail Protection"
709#define NID_email_protect 132
710#define OBJ_email_protect OBJ_id_kp,4L
711
712#define SN_time_stamp "timeStamping"
713#define LN_time_stamp "Time Stamping"
714#define NID_time_stamp 133
715#define OBJ_time_stamp OBJ_id_kp,8L
716
717/* Additional extended key usage OIDs: Microsoft */
718
719#define SN_ms_code_ind "msCodeInd"
720#define LN_ms_code_ind "Microsoft Individual Code Signing"
721#define NID_ms_code_ind 134
722#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L
723
724#define SN_ms_code_com "msCodeCom"
725#define LN_ms_code_com "Microsoft Commercial Code Signing"
726#define NID_ms_code_com 135
727#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L
728
729#define SN_ms_ctl_sign "msCTLSign"
730#define LN_ms_ctl_sign "Microsoft Trust List Signing"
731#define NID_ms_ctl_sign 136
732#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L
733
734#define SN_ms_sgc "msSGC"
735#define LN_ms_sgc "Microsoft Server Gated Crypto"
736#define NID_ms_sgc 137
737#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L
738
739#define SN_ms_efs "msEFS"
740#define LN_ms_efs "Microsoft Encrypted File System"
741#define NID_ms_efs 138
742#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
743
744/* Additional usage: Netscape */
745
746#define SN_ns_sgc "nsSGC"
747#define LN_ns_sgc "Netscape Server Gated Crypto"
748#define NID_ns_sgc 139
749#define OBJ_ns_sgc OBJ_netscape,4L,1L
750
751#define SN_delta_crl "deltaCRL"
752#define LN_delta_crl "X509v3 Delta CRL Indicator"
753#define NID_delta_crl 140
754#define OBJ_delta_crl OBJ_id_ce,27L
755
756#define SN_crl_reason "CRLReason"
757#define LN_crl_reason "CRL Reason Code"
758#define NID_crl_reason 141
759#define OBJ_crl_reason OBJ_id_ce,21L
760
761#define SN_invalidity_date "invalidityDate"
762#define LN_invalidity_date "Invalidity Date"
763#define NID_invalidity_date 142
764#define OBJ_invalidity_date OBJ_id_ce,24L
765
766#define SN_sxnet "SXNetID"
767#define LN_sxnet "Strong Extranet ID"
768#define NID_sxnet 143
769#define OBJ_sxnet 1L,3L,101L,1L,4L,1L
770
771/* PKCS12 and related OBJECT IDENTIFIERS */
772
773#define OBJ_pkcs12 OBJ_pkcs,12L
774#define OBJ_pkcs12_pbeids OBJ_pkcs12, 1
775
776#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128"
777#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4"
778#define NID_pbe_WithSHA1And128BitRC4 144
779#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L
780
781#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40"
782#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4"
783#define NID_pbe_WithSHA1And40BitRC4 145
784#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L
785
786#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES"
787#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC"
788#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146
789#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L
790
791#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES"
792#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC"
793#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147
794#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L
795
796#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128"
797#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC"
798#define NID_pbe_WithSHA1And128BitRC2_CBC 148
799#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L
800
801#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40"
802#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC"
803#define NID_pbe_WithSHA1And40BitRC2_CBC 149
804#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L
805
806#define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L
807
808#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L
809
810#define LN_keyBag "keyBag"
811#define NID_keyBag 150
812#define OBJ_keyBag OBJ_pkcs12_BagIds, 1L
813
814#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag"
815#define NID_pkcs8ShroudedKeyBag 151
816#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L
817
818#define LN_certBag "certBag"
819#define NID_certBag 152
820#define OBJ_certBag OBJ_pkcs12_BagIds, 3L
821
822#define LN_crlBag "crlBag"
823#define NID_crlBag 153
824#define OBJ_crlBag OBJ_pkcs12_BagIds, 4L
825
826#define LN_secretBag "secretBag"
827#define NID_secretBag 154
828#define OBJ_secretBag OBJ_pkcs12_BagIds, 5L
829
830#define LN_safeContentsBag "safeContentsBag"
831#define NID_safeContentsBag 155
832#define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L
833
834#define LN_friendlyName "friendlyName"
835#define NID_friendlyName 156
836#define OBJ_friendlyName OBJ_pkcs9, 20L
837
838#define LN_localKeyID "localKeyID"
839#define NID_localKeyID 157
840#define OBJ_localKeyID OBJ_pkcs9, 21L
841
842#define OBJ_certTypes OBJ_pkcs9, 22L
843
844#define LN_x509Certificate "x509Certificate"
845#define NID_x509Certificate 158
846#define OBJ_x509Certificate OBJ_certTypes, 1L
847
848#define LN_sdsiCertificate "sdsiCertificate"
849#define NID_sdsiCertificate 159
850#define OBJ_sdsiCertificate OBJ_certTypes, 2L
851
852#define OBJ_crlTypes OBJ_pkcs9, 23L
853
854#define LN_x509Crl "x509Crl"
855#define NID_x509Crl 160
856#define OBJ_x509Crl OBJ_crlTypes, 1L
857
858/* PKCS#5 v2 OIDs */
859
860#define LN_pbes2 "PBES2"
861#define NID_pbes2 161
862#define OBJ_pbes2 OBJ_pkcs,5L,13L
863
864#define LN_pbmac1 "PBMAC1"
865#define NID_pbmac1 162
866#define OBJ_pbmac1 OBJ_pkcs,5L,14L
867
868#define LN_hmacWithSHA1 "hmacWithSHA1"
869#define NID_hmacWithSHA1 163
870#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L
871
872/* Policy Qualifier Ids */
873
874#define LN_id_qt_cps "Policy Qualifier CPS"
875#define SN_id_qt_cps "id-qt-cps"
876#define NID_id_qt_cps 164
877#define OBJ_id_qt_cps OBJ_id_pkix,2L,1L
878
879#define LN_id_qt_unotice "Policy Qualifier User Notice"
880#define SN_id_qt_unotice "id-qt-unotice"
881#define NID_id_qt_unotice 165
882#define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L
883
884#define SN_rc2_64_cbc "RC2-64-CBC"
885#define LN_rc2_64_cbc "rc2-64-cbc"
886#define NID_rc2_64_cbc 166
887
888#define SN_SMIMECapabilities "SMIME-CAPS"
889#define LN_SMIMECapabilities "S/MIME Capabilities"
890#define NID_SMIMECapabilities 167
891#define OBJ_SMIMECapabilities OBJ_pkcs9,15L
892
893#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64"
894#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC"
895#define NID_pbeWithMD2AndRC2_CBC 168
896#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L
897
898#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64"
899#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC"
900#define NID_pbeWithMD5AndRC2_CBC 169
901#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L
902
903#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES"
904#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC"
905#define NID_pbeWithSHA1AndDES_CBC 170
906#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L
907
908/* Extension request OIDs */
909
910#define LN_ms_ext_req "Microsoft Extension Request"
911#define SN_ms_ext_req "msExtReq"
912#define NID_ms_ext_req 171
913#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L
914
915#define LN_ext_req "Extension Request"
916#define SN_ext_req "extReq"
917#define NID_ext_req 172
918#define OBJ_ext_req OBJ_pkcs9,14L
919
920#define SN_name "name"
921#define LN_name "name"
922#define NID_name 173
923#define OBJ_name OBJ_X509,41L
924
925#define SN_dnQualifier "dnQualifier"
926#define LN_dnQualifier "dnQualifier"
927#define NID_dnQualifier 174
928#define OBJ_dnQualifier OBJ_X509,46L
929
930#define SN_id_pe "id-pe"
931#define NID_id_pe 175
932#define OBJ_id_pe OBJ_id_pkix,1L
933
934#define SN_id_ad "id-ad"
935#define NID_id_ad 176
936#define OBJ_id_ad OBJ_id_pkix,48L
937
938#define SN_info_access "authorityInfoAccess"
939#define LN_info_access "Authority Information Access"
940#define NID_info_access 177
941#define OBJ_info_access OBJ_id_pe,1L
942
943#define SN_ad_OCSP "OCSP"
944#define LN_ad_OCSP "OCSP"
945#define NID_ad_OCSP 178
946#define OBJ_ad_OCSP OBJ_id_ad,1L
947
948#define SN_ad_ca_issuers "caIssuers"
949#define LN_ad_ca_issuers "CA Issuers"
950#define NID_ad_ca_issuers 179
951#define OBJ_ad_ca_issuers OBJ_id_ad,2L
952
953#define SN_OCSP_sign "OCSPSigning"
954#define LN_OCSP_sign "OCSP Signing"
955#define NID_OCSP_sign 180
956#define OBJ_OCSP_sign OBJ_id_kp,9L
957#endif /* USE_OBJ_MAC */
958
959#include <openssl/bio.h>
960#include <openssl/asn1.h>
961
962#define OBJ_NAME_TYPE_UNDEF 0x00
963#define OBJ_NAME_TYPE_MD_METH 0x01
964#define OBJ_NAME_TYPE_CIPHER_METH 0x02
965#define OBJ_NAME_TYPE_PKEY_METH 0x03
966#define OBJ_NAME_TYPE_COMP_METH 0x04
967#define OBJ_NAME_TYPE_NUM 0x05
968
969#define OBJ_NAME_ALIAS 0x8000
970
971#define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01
972#define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02
973
974
975#ifdef __cplusplus
976extern "C" {
977#endif
978
979typedef struct obj_name_st {
980 int type;
981 int alias;
982 const char *name;
983 const char *data;
984} OBJ_NAME;
985
986#define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c)
987
988
989int OBJ_NAME_init(void);
990int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
991 int (*cmp_func)(const char *, const char *),
992 void (*free_func)(const char *, int, const char *));
993const char *OBJ_NAME_get(const char *name, int type);
994int OBJ_NAME_add(const char *name, int type, const char *data);
995int OBJ_NAME_remove(const char *name, int type);
996void OBJ_NAME_cleanup(int type); /* -1 for everything */
997void OBJ_NAME_do_all(int type, void (*fn)(const OBJ_NAME *, void *arg),
998 void *arg);
999void OBJ_NAME_do_all_sorted(int type, void (*fn)(const OBJ_NAME *, void *arg),
1000 void *arg);
1001
1002ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o);
1003ASN1_OBJECT * OBJ_nid2obj(int n);
1004const char * OBJ_nid2ln(int n);
1005const char * OBJ_nid2sn(int n);
1006int OBJ_obj2nid(const ASN1_OBJECT *o);
1007ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name);
1008int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);
1009int OBJ_txt2nid(const char *s);
1010int OBJ_ln2nid(const char *s);
1011int OBJ_sn2nid(const char *s);
1012int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b);
1013const void * OBJ_bsearch_(const void *key, const void *base, int num,
1014 int size, int (*cmp)(const void *, const void *));
1015const void * OBJ_bsearch_ex_(const void *key, const void *base, int num,
1016 int size, int (*cmp)(const void *, const void *),
1017 int flags);
1018
1019#ifndef LIBRESSL_INTERNAL
1020
1021#define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \
1022 static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \
1023 static int nm##_cmp(type1 const *, type2 const *); \
1024 scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num)
1025
1026#define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \
1027 _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp)
1028#define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \
1029 type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num)
1030
1031/*
1032 * Unsolved problem: if a type is actually a pointer type, like
1033 * nid_triple is, then its impossible to get a const where you need
1034 * it. Consider:
1035 *
1036 * typedef int nid_triple[3];
1037 * const void *a_;
1038 * const nid_triple const *a = a_;
1039 *
1040 * The assignement discards a const because what you really want is:
1041 *
1042 * const int const * const *a = a_;
1043 *
1044 * But if you do that, you lose the fact that a is an array of 3 ints,
1045 * which breaks comparison functions.
1046 *
1047 * Thus we end up having to cast, sadly, or unpack the
1048 * declarations. Or, as I finally did in this case, delcare nid_triple
1049 * to be a struct, which it should have been in the first place.
1050 *
1051 * Ben, August 2008.
1052 *
1053 * Also, strictly speaking not all types need be const, but handling
1054 * the non-constness means a lot of complication, and in practice
1055 * comparison routines do always not touch their arguments.
1056 */
1057
1058#define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \
1059 static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \
1060 { \
1061 type1 const *a = a_; \
1062 type2 const *b = b_; \
1063 return nm##_cmp(a,b); \
1064 } \
1065 static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \
1066 { \
1067 return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \
1068 nm##_cmp_BSEARCH_CMP_FN); \
1069 } \
1070 extern void dummy_prototype(void)
1071
1072#define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \
1073 static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \
1074 { \
1075 type1 const *a = a_; \
1076 type2 const *b = b_; \
1077 return nm##_cmp(a,b); \
1078 } \
1079 type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \
1080 { \
1081 return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \
1082 nm##_cmp_BSEARCH_CMP_FN); \
1083 } \
1084 extern void dummy_prototype(void)
1085
1086#define OBJ_bsearch(type1,key,type2,base,num,cmp) \
1087 ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \
1088 num,sizeof(type2), \
1089 ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \
1090 (void)CHECKED_PTR_OF(type2,cmp##_type_2), \
1091 cmp##_BSEARCH_CMP_FN)))
1092
1093#define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \
1094 ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \
1095 num,sizeof(type2), \
1096 ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \
1097 (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \
1098 cmp##_BSEARCH_CMP_FN)),flags)
1099
1100#endif /* !LIBRESSL_INTERNAL */
1101
1102int OBJ_new_nid(int num);
1103int OBJ_add_object(const ASN1_OBJECT *obj);
1104int OBJ_create(const char *oid, const char *sn, const char *ln);
1105void OBJ_cleanup(void );
1106int OBJ_create_objects(BIO *in);
1107
1108int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid);
1109int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid);
1110int OBJ_add_sigid(int signid, int dig_id, int pkey_id);
1111void OBJ_sigid_free(void);
1112
1113extern int obj_cleanup_defer;
1114void check_defer(int nid);
1115
1116/* BEGIN ERROR CODES */
1117/* The following lines are auto generated by the script mkerr.pl. Any changes
1118 * made after this point may be overwritten when the script is next run.
1119 */
1120void ERR_load_OBJ_strings(void);
1121
1122/* Error codes for the OBJ functions. */
1123
1124/* Function codes. */
1125#define OBJ_F_OBJ_ADD_OBJECT 105
1126#define OBJ_F_OBJ_CREATE 100
1127#define OBJ_F_OBJ_DUP 101
1128#define OBJ_F_OBJ_NAME_NEW_INDEX 106
1129#define OBJ_F_OBJ_NID2LN 102
1130#define OBJ_F_OBJ_NID2OBJ 103
1131#define OBJ_F_OBJ_NID2SN 104
1132
1133/* Reason codes. */
1134#define OBJ_R_MALLOC_FAILURE 100
1135#define OBJ_R_UNKNOWN_NID 101
1136
1137#ifdef __cplusplus
1138}
1139#endif
1140#endif
diff --git a/src/lib/libcrypto/objects/objects.pl b/src/lib/libcrypto/objects/objects.pl
deleted file mode 100644
index d2bf659d88..0000000000
--- a/src/lib/libcrypto/objects/objects.pl
+++ /dev/null
@@ -1,233 +0,0 @@
1#!/usr/local/bin/perl
2
3open (NUMIN,"$ARGV[1]") || die "Can't open number file $ARGV[1]";
4$max_nid=0;
5$o=0;
6while(<NUMIN>)
7 {
8 chop;
9 $o++;
10 s/#.*$//;
11 next if /^\s*$/;
12 $_ = 'X'.$_;
13 ($Cname,$mynum) = split;
14 $Cname =~ s/^X//;
15 if (defined($nidn{$mynum}))
16 { die "$ARGV[1]:$o:There's already an object with NID ",$mynum," on line ",$order{$mynum},"\n"; }
17 if (defined($nid{$Cname}))
18 { die "$ARGV[1]:$o:There's already an object with name ",$Cname," on line ",$order{$nid{$Cname}},"\n"; }
19 $nid{$Cname} = $mynum;
20 $nidn{$mynum} = $Cname;
21 $order{$mynum} = $o;
22 $max_nid = $mynum if $mynum > $max_nid;
23 }
24close NUMIN;
25
26open (IN,"$ARGV[0]") || die "Can't open input file $ARGV[0]";
27$Cname="";
28$o=0;
29while (<IN>)
30 {
31 chop;
32 $o++;
33 if (/^!module\s+(.*)$/)
34 {
35 $module = $1."-";
36 $module =~ s/\./_/g;
37 $module =~ s/-/_/g;
38 }
39 if (/^!global$/)
40 { $module = ""; }
41 if (/^!Cname\s+(.*)$/)
42 { $Cname = $1; }
43 if (/^!Alias\s+(.+?)\s+(.*)$/)
44 {
45 $Cname = $module.$1;
46 $myoid = $2;
47 $myoid = &process_oid($myoid);
48 $Cname =~ s/-/_/g;
49 $ordern{$o} = $Cname;
50 $order{$Cname} = $o;
51 $obj{$Cname} = $myoid;
52 $_ = "";
53 $Cname = "";
54 }
55 s/!.*$//;
56 s/#.*$//;
57 next if /^\s*$/;
58 ($myoid,$mysn,$myln) = split ':';
59 $mysn =~ s/^\s*//;
60 $mysn =~ s/\s*$//;
61 $myln =~ s/^\s*//;
62 $myln =~ s/\s*$//;
63 $myoid =~ s/^\s*//;
64 $myoid =~ s/\s*$//;
65 if ($myoid ne "")
66 {
67 $myoid = &process_oid($myoid);
68 }
69
70 if ($Cname eq "" && !($myln =~ / /))
71 {
72 $Cname = $myln;
73 $Cname =~ s/\./_/g;
74 $Cname =~ s/-/_/g;
75 if ($Cname ne "" && defined($ln{$module.$Cname}))
76 { die "objects.txt:$o:There's already an object with long name ",$ln{$module.$Cname}," on line ",$order{$module.$Cname},"\n"; }
77 }
78 if ($Cname eq "")
79 {
80 $Cname = $mysn;
81 $Cname =~ s/-/_/g;
82 if ($Cname ne "" && defined($sn{$module.$Cname}))
83 { die "objects.txt:$o:There's already an object with short name ",$sn{$module.$Cname}," on line ",$order{$module.$Cname},"\n"; }
84 }
85 if ($Cname eq "")
86 {
87 $Cname = $myln;
88 $Cname =~ s/-/_/g;
89 $Cname =~ s/\./_/g;
90 $Cname =~ s/ /_/g;
91 if ($Cname ne "" && defined($ln{$module.$Cname}))
92 { die "objects.txt:$o:There's already an object with long name ",$ln{$module.$Cname}," on line ",$order{$module.$Cname},"\n"; }
93 }
94 $Cname =~ s/\./_/g;
95 $Cname =~ s/-/_/g;
96 $Cname = $module.$Cname;
97 $ordern{$o} = $Cname;
98 $order{$Cname} = $o;
99 $sn{$Cname} = $mysn;
100 $ln{$Cname} = $myln;
101 $obj{$Cname} = $myoid;
102 if (!defined($nid{$Cname}))
103 {
104 $max_nid++;
105 $nid{$Cname} = $max_nid;
106 $nidn{$max_nid} = $Cname;
107print STDERR "Added OID $Cname\n";
108 }
109 $Cname="";
110 }
111close IN;
112
113#XXX don't modify input files
114#open (NUMOUT,">$ARGV[1]") || die "Can't open output file $ARGV[1]";
115#foreach (sort { $a <=> $b } keys %nidn)
116# {
117# print NUMOUT $nidn{$_},"\t\t",$_,"\n";
118# }
119#close NUMOUT;
120
121open (OUT,">$ARGV[2]") || die "Can't open output file $ARGV[2]";
122print OUT <<'EOF';
123/* crypto/objects/obj_mac.h */
124
125/* THIS FILE IS GENERATED FROM objects.txt by objects.pl via the
126 * following command:
127 * perl objects.pl objects.txt obj_mac.num obj_mac.h
128 */
129
130/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
131 * All rights reserved.
132 *
133 * This package is an SSL implementation written
134 * by Eric Young (eay@cryptsoft.com).
135 * The implementation was written so as to conform with Netscapes SSL.
136 *
137 * This library is free for commercial and non-commercial use as long as
138 * the following conditions are aheared to. The following conditions
139 * apply to all code found in this distribution, be it the RC4, RSA,
140 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
141 * included with this distribution is covered by the same copyright terms
142 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
143 *
144 * Copyright remains Eric Young's, and as such any Copyright notices in
145 * the code are not to be removed.
146 * If this package is used in a product, Eric Young should be given attribution
147 * as the author of the parts of the library used.
148 * This can be in the form of a textual message at program startup or
149 * in documentation (online or textual) provided with the package.
150 *
151 * Redistribution and use in source and binary forms, with or without
152 * modification, are permitted provided that the following conditions
153 * are met:
154 * 1. Redistributions of source code must retain the copyright
155 * notice, this list of conditions and the following disclaimer.
156 * 2. Redistributions in binary form must reproduce the above copyright
157 * notice, this list of conditions and the following disclaimer in the
158 * documentation and/or other materials provided with the distribution.
159 * 3. All advertising materials mentioning features or use of this software
160 * must display the following acknowledgement:
161 * "This product includes cryptographic software written by
162 * Eric Young (eay@cryptsoft.com)"
163 * The word 'cryptographic' can be left out if the rouines from the library
164 * being used are not cryptographic related :-).
165 * 4. If you include any Windows specific code (or a derivative thereof) from
166 * the apps directory (application code) you must include an acknowledgement:
167 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
168 *
169 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
170 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
171 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
172 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
173 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
174 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
175 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
176 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
177 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
178 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
179 * SUCH DAMAGE.
180 *
181 * The licence and distribution terms for any publically available version or
182 * derivative of this code cannot be changed. i.e. this code cannot simply be
183 * copied and put under another distribution licence
184 * [including the GNU Public Licence.]
185 */
186
187#define SN_undef "UNDEF"
188#define LN_undef "undefined"
189#define NID_undef 0
190#define OBJ_undef 0L
191
192EOF
193
194foreach (sort { $a <=> $b } keys %ordern)
195 {
196 $Cname=$ordern{$_};
197 print OUT "#define SN_",$Cname,"\t\t\"",$sn{$Cname},"\"\n" if $sn{$Cname} ne "";
198 print OUT "#define LN_",$Cname,"\t\t\"",$ln{$Cname},"\"\n" if $ln{$Cname} ne "";
199 print OUT "#define NID_",$Cname,"\t\t",$nid{$Cname},"\n" if $nid{$Cname} ne "";
200 print OUT "#define OBJ_",$Cname,"\t\t",$obj{$Cname},"\n" if $obj{$Cname} ne "";
201 print OUT "\n";
202 }
203
204close OUT;
205
206sub process_oid
207 {
208 local($oid)=@_;
209 local(@a,$oid_pref);
210
211 @a = split(/\s+/,$myoid);
212 $pref_oid = "";
213 $pref_sep = "";
214 if (!($a[0] =~ /^[0-9]+$/))
215 {
216 $a[0] =~ s/-/_/g;
217 if (!defined($obj{$a[0]}))
218 { die "$ARGV[0]:$o:Undefined identifier ",$a[0],"\n"; }
219 $pref_oid = "OBJ_" . $a[0];
220 $pref_sep = ",";
221 shift @a;
222 }
223 $oids = join('L,',@a) . "L";
224 if ($oids ne "L")
225 {
226 $oids = $pref_oid . $pref_sep . $oids;
227 }
228 else
229 {
230 $oids = $pref_oid;
231 }
232 return($oids);
233 }
diff --git a/src/lib/libcrypto/objects/objects.txt b/src/lib/libcrypto/objects/objects.txt
deleted file mode 100644
index ea95f18ba2..0000000000
--- a/src/lib/libcrypto/objects/objects.txt
+++ /dev/null
@@ -1,1424 +0,0 @@
1# CCITT was renamed to ITU-T quite some time ago
20 : ITU-T : itu-t
3!Alias ccitt itu-t
4
51 : ISO : iso
6
72 : JOINT-ISO-ITU-T : joint-iso-itu-t
8!Alias joint-iso-ccitt joint-iso-itu-t
9
10iso 2 : member-body : ISO Member Body
11
12iso 3 : identified-organization
13
14# HMAC OIDs
15identified-organization 6 1 5 5 8 1 1 : HMAC-MD5 : hmac-md5
16identified-organization 6 1 5 5 8 1 2 : HMAC-SHA1 : hmac-sha1
17
18identified-organization 132 : certicom-arc
19
20joint-iso-itu-t 23 : international-organizations : International Organizations
21
22international-organizations 43 : wap
23wap 1 : wap-wsg
24
25joint-iso-itu-t 5 1 5 : selected-attribute-types : Selected Attribute Types
26
27selected-attribute-types 55 : clearance
28
29member-body 840 : ISO-US : ISO US Member Body
30ISO-US 10040 : X9-57 : X9.57
31X9-57 4 : X9cm : X9.57 CM ?
32
33!Cname dsa
34X9cm 1 : DSA : dsaEncryption
35X9cm 3 : DSA-SHA1 : dsaWithSHA1
36
37
38ISO-US 10045 : ansi-X9-62 : ANSI X9.62
39!module X9-62
40!Alias id-fieldType ansi-X9-62 1
41X9-62_id-fieldType 1 : prime-field
42X9-62_id-fieldType 2 : characteristic-two-field
43X9-62_characteristic-two-field 3 : id-characteristic-two-basis
44X9-62_id-characteristic-two-basis 1 : onBasis
45X9-62_id-characteristic-two-basis 2 : tpBasis
46X9-62_id-characteristic-two-basis 3 : ppBasis
47!Alias id-publicKeyType ansi-X9-62 2
48X9-62_id-publicKeyType 1 : id-ecPublicKey
49!Alias ellipticCurve ansi-X9-62 3
50!Alias c-TwoCurve X9-62_ellipticCurve 0
51X9-62_c-TwoCurve 1 : c2pnb163v1
52X9-62_c-TwoCurve 2 : c2pnb163v2
53X9-62_c-TwoCurve 3 : c2pnb163v3
54X9-62_c-TwoCurve 4 : c2pnb176v1
55X9-62_c-TwoCurve 5 : c2tnb191v1
56X9-62_c-TwoCurve 6 : c2tnb191v2
57X9-62_c-TwoCurve 7 : c2tnb191v3
58X9-62_c-TwoCurve 8 : c2onb191v4
59X9-62_c-TwoCurve 9 : c2onb191v5
60X9-62_c-TwoCurve 10 : c2pnb208w1
61X9-62_c-TwoCurve 11 : c2tnb239v1
62X9-62_c-TwoCurve 12 : c2tnb239v2
63X9-62_c-TwoCurve 13 : c2tnb239v3
64X9-62_c-TwoCurve 14 : c2onb239v4
65X9-62_c-TwoCurve 15 : c2onb239v5
66X9-62_c-TwoCurve 16 : c2pnb272w1
67X9-62_c-TwoCurve 17 : c2pnb304w1
68X9-62_c-TwoCurve 18 : c2tnb359v1
69X9-62_c-TwoCurve 19 : c2pnb368w1
70X9-62_c-TwoCurve 20 : c2tnb431r1
71!Alias primeCurve X9-62_ellipticCurve 1
72X9-62_primeCurve 1 : prime192v1
73X9-62_primeCurve 2 : prime192v2
74X9-62_primeCurve 3 : prime192v3
75X9-62_primeCurve 4 : prime239v1
76X9-62_primeCurve 5 : prime239v2
77X9-62_primeCurve 6 : prime239v3
78X9-62_primeCurve 7 : prime256v1
79!Alias id-ecSigType ansi-X9-62 4
80!global
81X9-62_id-ecSigType 1 : ecdsa-with-SHA1
82X9-62_id-ecSigType 2 : ecdsa-with-Recommended
83X9-62_id-ecSigType 3 : ecdsa-with-Specified
84ecdsa-with-Specified 1 : ecdsa-with-SHA224
85ecdsa-with-Specified 2 : ecdsa-with-SHA256
86ecdsa-with-Specified 3 : ecdsa-with-SHA384
87ecdsa-with-Specified 4 : ecdsa-with-SHA512
88
89# SECG curve OIDs from "SEC 2: Recommended Elliptic Curve Domain Parameters"
90# (http://www.secg.org/)
91!Alias secg_ellipticCurve certicom-arc 0
92# SECG prime curves OIDs
93secg-ellipticCurve 6 : secp112r1
94secg-ellipticCurve 7 : secp112r2
95secg-ellipticCurve 28 : secp128r1
96secg-ellipticCurve 29 : secp128r2
97secg-ellipticCurve 9 : secp160k1
98secg-ellipticCurve 8 : secp160r1
99secg-ellipticCurve 30 : secp160r2
100secg-ellipticCurve 31 : secp192k1
101# NOTE: the curve secp192r1 is the same as prime192v1 defined above
102# and is therefore omitted
103secg-ellipticCurve 32 : secp224k1
104secg-ellipticCurve 33 : secp224r1
105secg-ellipticCurve 10 : secp256k1
106# NOTE: the curve secp256r1 is the same as prime256v1 defined above
107# and is therefore omitted
108secg-ellipticCurve 34 : secp384r1
109secg-ellipticCurve 35 : secp521r1
110# SECG characteristic two curves OIDs
111secg-ellipticCurve 4 : sect113r1
112secg-ellipticCurve 5 : sect113r2
113secg-ellipticCurve 22 : sect131r1
114secg-ellipticCurve 23 : sect131r2
115secg-ellipticCurve 1 : sect163k1
116secg-ellipticCurve 2 : sect163r1
117secg-ellipticCurve 15 : sect163r2
118secg-ellipticCurve 24 : sect193r1
119secg-ellipticCurve 25 : sect193r2
120secg-ellipticCurve 26 : sect233k1
121secg-ellipticCurve 27 : sect233r1
122secg-ellipticCurve 3 : sect239k1
123secg-ellipticCurve 16 : sect283k1
124secg-ellipticCurve 17 : sect283r1
125secg-ellipticCurve 36 : sect409k1
126secg-ellipticCurve 37 : sect409r1
127secg-ellipticCurve 38 : sect571k1
128secg-ellipticCurve 39 : sect571r1
129
130# WAP/TLS curve OIDs (http://www.wapforum.org/)
131!Alias wap-wsg-idm-ecid wap-wsg 4
132wap-wsg-idm-ecid 1 : wap-wsg-idm-ecid-wtls1
133wap-wsg-idm-ecid 3 : wap-wsg-idm-ecid-wtls3
134wap-wsg-idm-ecid 4 : wap-wsg-idm-ecid-wtls4
135wap-wsg-idm-ecid 5 : wap-wsg-idm-ecid-wtls5
136wap-wsg-idm-ecid 6 : wap-wsg-idm-ecid-wtls6
137wap-wsg-idm-ecid 7 : wap-wsg-idm-ecid-wtls7
138wap-wsg-idm-ecid 8 : wap-wsg-idm-ecid-wtls8
139wap-wsg-idm-ecid 9 : wap-wsg-idm-ecid-wtls9
140wap-wsg-idm-ecid 10 : wap-wsg-idm-ecid-wtls10
141wap-wsg-idm-ecid 11 : wap-wsg-idm-ecid-wtls11
142wap-wsg-idm-ecid 12 : wap-wsg-idm-ecid-wtls12
143
144
145ISO-US 113533 7 66 10 : CAST5-CBC : cast5-cbc
146 : CAST5-ECB : cast5-ecb
147!Cname cast5-cfb64
148 : CAST5-CFB : cast5-cfb
149!Cname cast5-ofb64
150 : CAST5-OFB : cast5-ofb
151!Cname pbeWithMD5AndCast5-CBC
152ISO-US 113533 7 66 12 : : pbeWithMD5AndCast5CBC
153
154# Macs for CMP and CRMF
155ISO-US 113533 7 66 13 : id-PasswordBasedMAC : password based MAC
156ISO-US 113533 7 66 30 : id-DHBasedMac : Diffie-Hellman based MAC
157
158ISO-US 113549 : rsadsi : RSA Data Security, Inc.
159
160rsadsi 1 : pkcs : RSA Data Security, Inc. PKCS
161
162pkcs 1 : pkcs1
163pkcs1 1 : : rsaEncryption
164pkcs1 2 : RSA-MD2 : md2WithRSAEncryption
165pkcs1 3 : RSA-MD4 : md4WithRSAEncryption
166pkcs1 4 : RSA-MD5 : md5WithRSAEncryption
167pkcs1 5 : RSA-SHA1 : sha1WithRSAEncryption
168# According to PKCS #1 version 2.1
169pkcs1 7 : RSAES-OAEP : rsaesOaep
170pkcs1 8 : MGF1 : mgf1
171pkcs1 9 : PSPECIFIED : pSpecified
172pkcs1 10 : RSASSA-PSS : rsassaPss
173
174pkcs1 11 : RSA-SHA256 : sha256WithRSAEncryption
175pkcs1 12 : RSA-SHA384 : sha384WithRSAEncryption
176pkcs1 13 : RSA-SHA512 : sha512WithRSAEncryption
177pkcs1 14 : RSA-SHA224 : sha224WithRSAEncryption
178
179pkcs 3 : pkcs3
180pkcs3 1 : : dhKeyAgreement
181
182pkcs 5 : pkcs5
183pkcs5 1 : PBE-MD2-DES : pbeWithMD2AndDES-CBC
184pkcs5 3 : PBE-MD5-DES : pbeWithMD5AndDES-CBC
185pkcs5 4 : PBE-MD2-RC2-64 : pbeWithMD2AndRC2-CBC
186pkcs5 6 : PBE-MD5-RC2-64 : pbeWithMD5AndRC2-CBC
187pkcs5 10 : PBE-SHA1-DES : pbeWithSHA1AndDES-CBC
188pkcs5 11 : PBE-SHA1-RC2-64 : pbeWithSHA1AndRC2-CBC
189!Cname id_pbkdf2
190pkcs5 12 : : PBKDF2
191!Cname pbes2
192pkcs5 13 : : PBES2
193!Cname pbmac1
194pkcs5 14 : : PBMAC1
195
196pkcs 7 : pkcs7
197pkcs7 1 : : pkcs7-data
198!Cname pkcs7-signed
199pkcs7 2 : : pkcs7-signedData
200!Cname pkcs7-enveloped
201pkcs7 3 : : pkcs7-envelopedData
202!Cname pkcs7-signedAndEnveloped
203pkcs7 4 : : pkcs7-signedAndEnvelopedData
204!Cname pkcs7-digest
205pkcs7 5 : : pkcs7-digestData
206!Cname pkcs7-encrypted
207pkcs7 6 : : pkcs7-encryptedData
208
209pkcs 9 : pkcs9
210!module pkcs9
211pkcs9 1 : : emailAddress
212pkcs9 2 : : unstructuredName
213pkcs9 3 : : contentType
214pkcs9 4 : : messageDigest
215pkcs9 5 : : signingTime
216pkcs9 6 : : countersignature
217pkcs9 7 : : challengePassword
218pkcs9 8 : : unstructuredAddress
219!Cname extCertAttributes
220pkcs9 9 : : extendedCertificateAttributes
221!global
222
223!Cname ext-req
224pkcs9 14 : extReq : Extension Request
225
226!Cname SMIMECapabilities
227pkcs9 15 : SMIME-CAPS : S/MIME Capabilities
228
229# S/MIME
230!Cname SMIME
231pkcs9 16 : SMIME : S/MIME
232SMIME 0 : id-smime-mod
233SMIME 1 : id-smime-ct
234SMIME 2 : id-smime-aa
235SMIME 3 : id-smime-alg
236SMIME 4 : id-smime-cd
237SMIME 5 : id-smime-spq
238SMIME 6 : id-smime-cti
239
240# S/MIME Modules
241id-smime-mod 1 : id-smime-mod-cms
242id-smime-mod 2 : id-smime-mod-ess
243id-smime-mod 3 : id-smime-mod-oid
244id-smime-mod 4 : id-smime-mod-msg-v3
245id-smime-mod 5 : id-smime-mod-ets-eSignature-88
246id-smime-mod 6 : id-smime-mod-ets-eSignature-97
247id-smime-mod 7 : id-smime-mod-ets-eSigPolicy-88
248id-smime-mod 8 : id-smime-mod-ets-eSigPolicy-97
249
250# S/MIME Content Types
251id-smime-ct 1 : id-smime-ct-receipt
252id-smime-ct 2 : id-smime-ct-authData
253id-smime-ct 3 : id-smime-ct-publishCert
254id-smime-ct 4 : id-smime-ct-TSTInfo
255id-smime-ct 5 : id-smime-ct-TDTInfo
256id-smime-ct 6 : id-smime-ct-contentInfo
257id-smime-ct 7 : id-smime-ct-DVCSRequestData
258id-smime-ct 8 : id-smime-ct-DVCSResponseData
259id-smime-ct 9 : id-smime-ct-compressedData
260id-smime-ct 24 : id-ct-routeOriginAuthz
261id-smime-ct 26 : id-ct-rpkiManifest
262id-smime-ct 27 : id-ct-asciiTextWithCRLF
263id-smime-ct 35 : id-ct-rpkiGhostbusters
264id-smime-ct 36 : id-ct-resourceTaggedAttest
265id-smime-ct 47 : id-ct-geofeedCSVwithCRLF
266id-smime-ct 48 : id-ct-signedChecklist
267
268# S/MIME Attributes
269id-smime-aa 1 : id-smime-aa-receiptRequest
270id-smime-aa 2 : id-smime-aa-securityLabel
271id-smime-aa 3 : id-smime-aa-mlExpandHistory
272id-smime-aa 4 : id-smime-aa-contentHint
273id-smime-aa 5 : id-smime-aa-msgSigDigest
274# obsolete
275id-smime-aa 6 : id-smime-aa-encapContentType
276id-smime-aa 7 : id-smime-aa-contentIdentifier
277# obsolete
278id-smime-aa 8 : id-smime-aa-macValue
279id-smime-aa 9 : id-smime-aa-equivalentLabels
280id-smime-aa 10 : id-smime-aa-contentReference
281id-smime-aa 11 : id-smime-aa-encrypKeyPref
282id-smime-aa 12 : id-smime-aa-signingCertificate
283id-smime-aa 13 : id-smime-aa-smimeEncryptCerts
284id-smime-aa 14 : id-smime-aa-timeStampToken
285id-smime-aa 15 : id-smime-aa-ets-sigPolicyId
286id-smime-aa 16 : id-smime-aa-ets-commitmentType
287id-smime-aa 17 : id-smime-aa-ets-signerLocation
288id-smime-aa 18 : id-smime-aa-ets-signerAttr
289id-smime-aa 19 : id-smime-aa-ets-otherSigCert
290id-smime-aa 20 : id-smime-aa-ets-contentTimestamp
291id-smime-aa 21 : id-smime-aa-ets-CertificateRefs
292id-smime-aa 22 : id-smime-aa-ets-RevocationRefs
293id-smime-aa 23 : id-smime-aa-ets-certValues
294id-smime-aa 24 : id-smime-aa-ets-revocationValues
295id-smime-aa 25 : id-smime-aa-ets-escTimeStamp
296id-smime-aa 26 : id-smime-aa-ets-certCRLTimestamp
297id-smime-aa 27 : id-smime-aa-ets-archiveTimeStamp
298id-smime-aa 28 : id-smime-aa-signatureType
299id-smime-aa 29 : id-smime-aa-dvcs-dvc
300
301# S/MIME Algorithm Identifiers
302# obsolete
303id-smime-alg 1 : id-smime-alg-ESDHwith3DES
304# obsolete
305id-smime-alg 2 : id-smime-alg-ESDHwithRC2
306# obsolete
307id-smime-alg 3 : id-smime-alg-3DESwrap
308# obsolete
309id-smime-alg 4 : id-smime-alg-RC2wrap
310id-smime-alg 5 : id-smime-alg-ESDH
311id-smime-alg 6 : id-smime-alg-CMS3DESwrap
312id-smime-alg 7 : id-smime-alg-CMSRC2wrap
313id-smime-alg 9 : id-alg-PWRI-KEK
314
315# S/MIME Certificate Distribution
316id-smime-cd 1 : id-smime-cd-ldap
317
318# S/MIME Signature Policy Qualifier
319id-smime-spq 1 : id-smime-spq-ets-sqt-uri
320id-smime-spq 2 : id-smime-spq-ets-sqt-unotice
321
322# S/MIME Commitment Type Identifier
323id-smime-cti 1 : id-smime-cti-ets-proofOfOrigin
324id-smime-cti 2 : id-smime-cti-ets-proofOfReceipt
325id-smime-cti 3 : id-smime-cti-ets-proofOfDelivery
326id-smime-cti 4 : id-smime-cti-ets-proofOfSender
327id-smime-cti 5 : id-smime-cti-ets-proofOfApproval
328id-smime-cti 6 : id-smime-cti-ets-proofOfCreation
329
330pkcs9 20 : : friendlyName
331pkcs9 21 : : localKeyID
332!Cname ms-csp-name
3331 3 6 1 4 1 311 17 1 : CSPName : Microsoft CSP Name
3341 3 6 1 4 1 311 17 2 : LocalKeySet : Microsoft Local Key set
335!Alias certTypes pkcs9 22
336certTypes 1 : : x509Certificate
337certTypes 2 : : sdsiCertificate
338!Alias crlTypes pkcs9 23
339crlTypes 1 : : x509Crl
340
341!Alias pkcs12 pkcs 12
342!Alias pkcs12-pbeids pkcs12 1
343
344!Cname pbe-WithSHA1And128BitRC4
345pkcs12-pbeids 1 : PBE-SHA1-RC4-128 : pbeWithSHA1And128BitRC4
346!Cname pbe-WithSHA1And40BitRC4
347pkcs12-pbeids 2 : PBE-SHA1-RC4-40 : pbeWithSHA1And40BitRC4
348!Cname pbe-WithSHA1And3_Key_TripleDES-CBC
349pkcs12-pbeids 3 : PBE-SHA1-3DES : pbeWithSHA1And3-KeyTripleDES-CBC
350!Cname pbe-WithSHA1And2_Key_TripleDES-CBC
351pkcs12-pbeids 4 : PBE-SHA1-2DES : pbeWithSHA1And2-KeyTripleDES-CBC
352!Cname pbe-WithSHA1And128BitRC2-CBC
353pkcs12-pbeids 5 : PBE-SHA1-RC2-128 : pbeWithSHA1And128BitRC2-CBC
354!Cname pbe-WithSHA1And40BitRC2-CBC
355pkcs12-pbeids 6 : PBE-SHA1-RC2-40 : pbeWithSHA1And40BitRC2-CBC
356
357!Alias pkcs12-Version1 pkcs12 10
358!Alias pkcs12-BagIds pkcs12-Version1 1
359pkcs12-BagIds 1 : : keyBag
360pkcs12-BagIds 2 : : pkcs8ShroudedKeyBag
361pkcs12-BagIds 3 : : certBag
362pkcs12-BagIds 4 : : crlBag
363pkcs12-BagIds 5 : : secretBag
364pkcs12-BagIds 6 : : safeContentsBag
365
366rsadsi 2 2 : MD2 : md2
367rsadsi 2 4 : MD4 : md4
368rsadsi 2 5 : MD5 : md5
369 : MD5-SHA1 : md5-sha1
370rsadsi 2 6 : : hmacWithMD5
371rsadsi 2 7 : : hmacWithSHA1
372
373# From RFC4231
374rsadsi 2 8 : : hmacWithSHA224
375rsadsi 2 9 : : hmacWithSHA256
376rsadsi 2 10 : : hmacWithSHA384
377rsadsi 2 11 : : hmacWithSHA512
378
379rsadsi 3 2 : RC2-CBC : rc2-cbc
380 : RC2-ECB : rc2-ecb
381!Cname rc2-cfb64
382 : RC2-CFB : rc2-cfb
383!Cname rc2-ofb64
384 : RC2-OFB : rc2-ofb
385 : RC2-40-CBC : rc2-40-cbc
386 : RC2-64-CBC : rc2-64-cbc
387rsadsi 3 4 : RC4 : rc4
388 : RC4-40 : rc4-40
389rsadsi 3 7 : DES-EDE3-CBC : des-ede3-cbc
390rsadsi 3 8 : RC5-CBC : rc5-cbc
391 : RC5-ECB : rc5-ecb
392!Cname rc5-cfb64
393 : RC5-CFB : rc5-cfb
394!Cname rc5-ofb64
395 : RC5-OFB : rc5-ofb
396
397!Cname ms-ext-req
3981 3 6 1 4 1 311 2 1 14 : msExtReq : Microsoft Extension Request
399!Cname ms-code-ind
4001 3 6 1 4 1 311 2 1 21 : msCodeInd : Microsoft Individual Code Signing
401!Cname ms-code-com
4021 3 6 1 4 1 311 2 1 22 : msCodeCom : Microsoft Commercial Code Signing
403!Cname ms-ctl-sign
4041 3 6 1 4 1 311 10 3 1 : msCTLSign : Microsoft Trust List Signing
405!Cname ms-sgc
4061 3 6 1 4 1 311 10 3 3 : msSGC : Microsoft Server Gated Crypto
407!Cname ms-efs
4081 3 6 1 4 1 311 10 3 4 : msEFS : Microsoft Encrypted File System
409!Cname ms-smartcard-login
4101 3 6 1 4 1 311 20 2 2 : msSmartcardLogin : Microsoft Smartcardlogin
411!Cname ms-upn
4121 3 6 1 4 1 311 20 2 3 : msUPN : Microsoft Universal Principal Name
413
4141 3 6 1 4 1 188 7 1 1 2 : IDEA-CBC : idea-cbc
415 : IDEA-ECB : idea-ecb
416!Cname idea-cfb64
417 : IDEA-CFB : idea-cfb
418!Cname idea-ofb64
419 : IDEA-OFB : idea-ofb
420
4211 3 6 1 4 1 3029 1 2 : BF-CBC : bf-cbc
422 : BF-ECB : bf-ecb
423!Cname bf-cfb64
424 : BF-CFB : bf-cfb
425!Cname bf-ofb64
426 : BF-OFB : bf-ofb
427
428!Cname id-pkix
4291 3 6 1 5 5 7 : PKIX
430
431# PKIX Arcs
432id-pkix 0 : id-pkix-mod
433id-pkix 1 : id-pe
434id-pkix 2 : id-qt
435id-pkix 3 : id-kp
436id-pkix 4 : id-it
437id-pkix 5 : id-pkip
438id-pkix 6 : id-alg
439id-pkix 7 : id-cmc
440id-pkix 8 : id-on
441id-pkix 9 : id-pda
442id-pkix 10 : id-aca
443id-pkix 11 : id-qcs
444id-pkix 12 : id-cct
445id-pkix 14 : id-cp
446id-pkix 21 : id-ppl
447id-pkix 48 : id-ad
448
449# PKIX Modules
450id-pkix-mod 1 : id-pkix1-explicit-88
451id-pkix-mod 2 : id-pkix1-implicit-88
452id-pkix-mod 3 : id-pkix1-explicit-93
453id-pkix-mod 4 : id-pkix1-implicit-93
454id-pkix-mod 5 : id-mod-crmf
455id-pkix-mod 6 : id-mod-cmc
456id-pkix-mod 7 : id-mod-kea-profile-88
457id-pkix-mod 8 : id-mod-kea-profile-93
458id-pkix-mod 9 : id-mod-cmp
459id-pkix-mod 10 : id-mod-qualified-cert-88
460id-pkix-mod 11 : id-mod-qualified-cert-93
461id-pkix-mod 12 : id-mod-attribute-cert
462id-pkix-mod 13 : id-mod-timestamp-protocol
463id-pkix-mod 14 : id-mod-ocsp
464id-pkix-mod 15 : id-mod-dvcs
465id-pkix-mod 16 : id-mod-cmp2000
466
467# PKIX Private Extensions
468!Cname info-access
469id-pe 1 : authorityInfoAccess : Authority Information Access
470id-pe 2 : biometricInfo : Biometric Info
471id-pe 3 : qcStatements
472id-pe 4 : ac-auditEntity
473id-pe 5 : ac-targeting
474id-pe 6 : aaControls
475id-pe 7 : sbgp-ipAddrBlock
476id-pe 8 : sbgp-autonomousSysNum
477id-pe 9 : sbgp-routerIdentifier
478id-pe 10 : ac-proxying
479!Cname sinfo-access
480id-pe 11 : subjectInfoAccess : Subject Information Access
481id-pe 14 : proxyCertInfo : Proxy Certificate Information
482id-pe 28 : sbgp-ipAddrBlockv2
483id-pe 29 : sbgp-autonomousSysNumv2
484
485# PKIX policyQualifiers for Internet policy qualifiers
486id-qt 1 : id-qt-cps : Policy Qualifier CPS
487id-qt 2 : id-qt-unotice : Policy Qualifier User Notice
488id-qt 3 : textNotice
489
490# PKIX key purpose identifiers
491!Cname server-auth
492id-kp 1 : serverAuth : TLS Web Server Authentication
493!Cname client-auth
494id-kp 2 : clientAuth : TLS Web Client Authentication
495!Cname code-sign
496id-kp 3 : codeSigning : Code Signing
497!Cname email-protect
498id-kp 4 : emailProtection : E-mail Protection
499id-kp 5 : ipsecEndSystem : IPSec End System
500id-kp 6 : ipsecTunnel : IPSec Tunnel
501id-kp 7 : ipsecUser : IPSec User
502!Cname time-stamp
503id-kp 8 : timeStamping : Time Stamping
504# From OCSP spec RFC2560
505!Cname OCSP-sign
506id-kp 9 : OCSPSigning : OCSP Signing
507id-kp 10 : DVCS : dvcs
508
509# CMP information types
510id-it 1 : id-it-caProtEncCert
511id-it 2 : id-it-signKeyPairTypes
512id-it 3 : id-it-encKeyPairTypes
513id-it 4 : id-it-preferredSymmAlg
514id-it 5 : id-it-caKeyUpdateInfo
515id-it 6 : id-it-currentCRL
516id-it 7 : id-it-unsupportedOIDs
517# obsolete
518id-it 8 : id-it-subscriptionRequest
519# obsolete
520id-it 9 : id-it-subscriptionResponse
521id-it 10 : id-it-keyPairParamReq
522id-it 11 : id-it-keyPairParamRep
523id-it 12 : id-it-revPassphrase
524id-it 13 : id-it-implicitConfirm
525id-it 14 : id-it-confirmWaitTime
526id-it 15 : id-it-origPKIMessage
527id-it 16 : id-it-suppLangTags
528
529# CRMF registration
530id-pkip 1 : id-regCtrl
531id-pkip 2 : id-regInfo
532
533# CRMF registration controls
534id-regCtrl 1 : id-regCtrl-regToken
535id-regCtrl 2 : id-regCtrl-authenticator
536id-regCtrl 3 : id-regCtrl-pkiPublicationInfo
537id-regCtrl 4 : id-regCtrl-pkiArchiveOptions
538id-regCtrl 5 : id-regCtrl-oldCertID
539id-regCtrl 6 : id-regCtrl-protocolEncrKey
540
541# CRMF registration information
542id-regInfo 1 : id-regInfo-utf8Pairs
543id-regInfo 2 : id-regInfo-certReq
544
545# algorithms
546id-alg 1 : id-alg-des40
547id-alg 2 : id-alg-noSignature
548id-alg 3 : id-alg-dh-sig-hmac-sha1
549id-alg 4 : id-alg-dh-pop
550
551# CMC controls
552id-cmc 1 : id-cmc-statusInfo
553id-cmc 2 : id-cmc-identification
554id-cmc 3 : id-cmc-identityProof
555id-cmc 4 : id-cmc-dataReturn
556id-cmc 5 : id-cmc-transactionId
557id-cmc 6 : id-cmc-senderNonce
558id-cmc 7 : id-cmc-recipientNonce
559id-cmc 8 : id-cmc-addExtensions
560id-cmc 9 : id-cmc-encryptedPOP
561id-cmc 10 : id-cmc-decryptedPOP
562id-cmc 11 : id-cmc-lraPOPWitness
563id-cmc 15 : id-cmc-getCert
564id-cmc 16 : id-cmc-getCRL
565id-cmc 17 : id-cmc-revokeRequest
566id-cmc 18 : id-cmc-regInfo
567id-cmc 19 : id-cmc-responseInfo
568id-cmc 21 : id-cmc-queryPending
569id-cmc 22 : id-cmc-popLinkRandom
570id-cmc 23 : id-cmc-popLinkWitness
571id-cmc 24 : id-cmc-confirmCertAcceptance
572
573# other names
574id-on 1 : id-on-personalData
575id-on 3 : id-on-permanentIdentifier : Permanent Identifier
576
577# personal data attributes
578id-pda 1 : id-pda-dateOfBirth
579id-pda 2 : id-pda-placeOfBirth
580id-pda 3 : id-pda-gender
581id-pda 4 : id-pda-countryOfCitizenship
582id-pda 5 : id-pda-countryOfResidence
583
584# attribute certificate attributes
585id-aca 1 : id-aca-authenticationInfo
586id-aca 2 : id-aca-accessIdentity
587id-aca 3 : id-aca-chargingIdentity
588id-aca 4 : id-aca-group
589# attention : the following seems to be obsolete, replace by 'role'
590id-aca 5 : id-aca-role
591id-aca 6 : id-aca-encAttrs
592
593# qualified certificate statements
594id-qcs 1 : id-qcs-pkixQCSyntax-v1
595
596# CMC content types
597id-cct 1 : id-cct-crs
598id-cct 2 : id-cct-PKIData
599id-cct 3 : id-cct-PKIResponse
600
601# PKIX Certificate Policies
602id-cp 2 : ipAddr-asNumber
603id-cp 3 : ipAddr-asNumberv2
604
605# Predefined Proxy Certificate policy languages
606id-ppl 0 : id-ppl-anyLanguage : Any language
607id-ppl 1 : id-ppl-inheritAll : Inherit all
608id-ppl 2 : id-ppl-independent : Independent
609
610# access descriptors for authority info access extension
611!Cname ad-OCSP
612id-ad 1 : OCSP : OCSP
613!Cname ad-ca-issuers
614id-ad 2 : caIssuers : CA Issuers
615!Cname ad-timeStamping
616id-ad 3 : ad_timestamping : AD Time Stamping
617!Cname ad-dvcs
618id-ad 4 : AD_DVCS : ad dvcs
619id-ad 5 : caRepository : CA Repository
620id-ad 10 : rpkiManifest : RPKI Manifest
621id-ad 11 : signedObject : Signed Object
622id-ad 13 : rpkiNotify : RPKI Notify
623
624!Alias id-pkix-OCSP ad-OCSP
625!module id-pkix-OCSP
626!Cname basic
627id-pkix-OCSP 1 : basicOCSPResponse : Basic OCSP Response
628id-pkix-OCSP 2 : Nonce : OCSP Nonce
629id-pkix-OCSP 3 : CrlID : OCSP CRL ID
630id-pkix-OCSP 4 : acceptableResponses : Acceptable OCSP Responses
631id-pkix-OCSP 5 : noCheck : OCSP No Check
632id-pkix-OCSP 6 : archiveCutoff : OCSP Archive Cutoff
633id-pkix-OCSP 7 : serviceLocator : OCSP Service Locator
634id-pkix-OCSP 8 : extendedStatus : Extended OCSP Status
635id-pkix-OCSP 9 : valid
636id-pkix-OCSP 10 : path
637id-pkix-OCSP 11 : trustRoot : Trust Root
638!global
639
6401 3 14 3 2 : algorithm : algorithm
641algorithm 3 : RSA-NP-MD5 : md5WithRSA
642algorithm 6 : DES-ECB : des-ecb
643algorithm 7 : DES-CBC : des-cbc
644!Cname des-ofb64
645algorithm 8 : DES-OFB : des-ofb
646!Cname des-cfb64
647algorithm 9 : DES-CFB : des-cfb
648algorithm 11 : rsaSignature
649!Cname dsa-2
650algorithm 12 : DSA-old : dsaEncryption-old
651algorithm 13 : DSA-SHA : dsaWithSHA
652algorithm 15 : RSA-SHA : shaWithRSAEncryption
653!Cname des-ede-ecb
654algorithm 17 : DES-EDE : des-ede
655!Cname des-ede3-ecb
656 : DES-EDE3 : des-ede3
657 : DES-EDE-CBC : des-ede-cbc
658!Cname des-ede-cfb64
659 : DES-EDE-CFB : des-ede-cfb
660!Cname des-ede3-cfb64
661 : DES-EDE3-CFB : des-ede3-cfb
662!Cname des-ede-ofb64
663 : DES-EDE-OFB : des-ede-ofb
664!Cname des-ede3-ofb64
665 : DES-EDE3-OFB : des-ede3-ofb
666 : DESX-CBC : desx-cbc
667algorithm 18 : SHA : sha
668algorithm 26 : SHA1 : sha1
669!Cname dsaWithSHA1-2
670algorithm 27 : DSA-SHA1-old : dsaWithSHA1-old
671algorithm 29 : RSA-SHA1-2 : sha1WithRSA
672
6731 3 36 3 2 1 : RIPEMD160 : ripemd160
6741 3 36 3 3 1 2 : RSA-RIPEMD160 : ripemd160WithRSA
675
676!Cname sxnet
6771 3 101 1 4 1 : SXNetID : Strong Extranet ID
678
6792 5 : X500 : directory services (X.500)
680
681X500 4 : X509
682X509 3 : CN : commonName
683X509 4 : SN : surname
684X509 5 : : serialNumber
685X509 6 : C : countryName
686X509 7 : L : localityName
687X509 8 : ST : stateOrProvinceName
688X509 9 : street : streetAddress
689X509 10 : O : organizationName
690X509 11 : OU : organizationalUnitName
691X509 12 : title : title
692X509 13 : : description
693X509 14 : : searchGuide
694X509 15 : : businessCategory
695X509 16 : : postalAddress
696X509 17 : : postalCode
697X509 18 : : postOfficeBox
698X509 19 : : physicalDeliveryOfficeName
699X509 20 : : telephoneNumber
700X509 21 : : telexNumber
701X509 22 : : teletexTerminalIdentifier
702X509 23 : : facsimileTelephoneNumber
703X509 24 : : x121Address
704X509 25 : : internationaliSDNNumber
705X509 26 : : registeredAddress
706X509 27 : : destinationIndicator
707X509 28 : : preferredDeliveryMethod
708X509 29 : : presentationAddress
709X509 30 : : supportedApplicationContext
710X509 31 : member :
711X509 32 : owner :
712X509 33 : : roleOccupant
713X509 34 : seeAlso :
714X509 35 : : userPassword
715X509 36 : : userCertificate
716X509 37 : : cACertificate
717X509 38 : : authorityRevocationList
718X509 39 : : certificateRevocationList
719X509 40 : : crossCertificatePair
720X509 41 : name : name
721X509 42 : GN : givenName
722X509 43 : initials : initials
723X509 44 : : generationQualifier
724X509 45 : : x500UniqueIdentifier
725X509 46 : dnQualifier : dnQualifier
726X509 47 : : enhancedSearchGuide
727X509 48 : : protocolInformation
728X509 49 : : distinguishedName
729X509 50 : : uniqueMember
730X509 51 : : houseIdentifier
731X509 52 : : supportedAlgorithms
732X509 53 : : deltaRevocationList
733X509 54 : dmdName :
734X509 65 : : pseudonym
735X509 72 : role : role
736
737X500 8 : X500algorithms : directory services - algorithms
738X500algorithms 1 1 : RSA : rsa
739X500algorithms 3 100 : RSA-MDC2 : mdc2WithRSA
740X500algorithms 3 101 : MDC2 : mdc2
741
742X500 29 : id-ce
743!Cname subject-directory-attributes
744id-ce 9 : subjectDirectoryAttributes : X509v3 Subject Directory Attributes
745!Cname subject-key-identifier
746id-ce 14 : subjectKeyIdentifier : X509v3 Subject Key Identifier
747!Cname key-usage
748id-ce 15 : keyUsage : X509v3 Key Usage
749!Cname private-key-usage-period
750id-ce 16 : privateKeyUsagePeriod : X509v3 Private Key Usage Period
751!Cname subject-alt-name
752id-ce 17 : subjectAltName : X509v3 Subject Alternative Name
753!Cname issuer-alt-name
754id-ce 18 : issuerAltName : X509v3 Issuer Alternative Name
755!Cname basic-constraints
756id-ce 19 : basicConstraints : X509v3 Basic Constraints
757!Cname crl-number
758id-ce 20 : crlNumber : X509v3 CRL Number
759!Cname crl-reason
760id-ce 21 : CRLReason : X509v3 CRL Reason Code
761!Cname invalidity-date
762id-ce 24 : invalidityDate : Invalidity Date
763!Cname delta-crl
764id-ce 27 : deltaCRL : X509v3 Delta CRL Indicator
765!Cname issuing-distribution-point
766id-ce 28 : issuingDistributionPoint : X509v3 Issuing Distribution Point
767!Cname certificate-issuer
768id-ce 29 : certificateIssuer : X509v3 Certificate Issuer
769!Cname name-constraints
770id-ce 30 : nameConstraints : X509v3 Name Constraints
771!Cname crl-distribution-points
772id-ce 31 : crlDistributionPoints : X509v3 CRL Distribution Points
773!Cname certificate-policies
774id-ce 32 : certificatePolicies : X509v3 Certificate Policies
775!Cname any-policy
776certificate-policies 0 : anyPolicy : X509v3 Any Policy
777!Cname policy-mappings
778id-ce 33 : policyMappings : X509v3 Policy Mappings
779!Cname authority-key-identifier
780id-ce 35 : authorityKeyIdentifier : X509v3 Authority Key Identifier
781!Cname policy-constraints
782id-ce 36 : policyConstraints : X509v3 Policy Constraints
783!Cname ext-key-usage
784id-ce 37 : extendedKeyUsage : X509v3 Extended Key Usage
785!Cname freshest-crl
786id-ce 46 : freshestCRL : X509v3 Freshest CRL
787!Cname inhibit-any-policy
788id-ce 54 : inhibitAnyPolicy : X509v3 Inhibit Any Policy
789!Cname target-information
790id-ce 55 : targetInformation : X509v3 AC Targeting
791!Cname no-rev-avail
792id-ce 56 : noRevAvail : X509v3 No Revocation Available
793
794# From RFC5280
795ext-key-usage 0 : anyExtendedKeyUsage : Any Extended Key Usage
796
797
798!Cname netscape
7992 16 840 1 113730 : Netscape : Netscape Communications Corp.
800!Cname netscape-cert-extension
801netscape 1 : nsCertExt : Netscape Certificate Extension
802!Cname netscape-data-type
803netscape 2 : nsDataType : Netscape Data Type
804!Cname netscape-cert-type
805netscape-cert-extension 1 : nsCertType : Netscape Cert Type
806!Cname netscape-base-url
807netscape-cert-extension 2 : nsBaseUrl : Netscape Base Url
808!Cname netscape-revocation-url
809netscape-cert-extension 3 : nsRevocationUrl : Netscape Revocation Url
810!Cname netscape-ca-revocation-url
811netscape-cert-extension 4 : nsCaRevocationUrl : Netscape CA Revocation Url
812!Cname netscape-renewal-url
813netscape-cert-extension 7 : nsRenewalUrl : Netscape Renewal Url
814!Cname netscape-ca-policy-url
815netscape-cert-extension 8 : nsCaPolicyUrl : Netscape CA Policy Url
816!Cname netscape-ssl-server-name
817netscape-cert-extension 12 : nsSslServerName : Netscape SSL Server Name
818!Cname netscape-comment
819netscape-cert-extension 13 : nsComment : Netscape Comment
820!Cname netscape-cert-sequence
821netscape-data-type 5 : nsCertSequence : Netscape Certificate Sequence
822!Cname ns-sgc
823netscape 4 1 : nsSGC : Netscape Server Gated Crypto
824
825# iso(1)
826iso 3 : ORG : org
827org 6 : DOD : dod
828dod 1 : IANA : iana
829!Alias internet iana
830
831internet 1 : directory : Directory
832internet 2 : mgmt : Management
833internet 3 : experimental : Experimental
834internet 4 : private : Private
835internet 5 : security : Security
836internet 6 : snmpv2 : SNMPv2
837# Documents refer to "internet 7" as "mail". This however leads to ambiguities
838# with RFC2798, Section 9.1.3, where "mail" is defined as the short name for
839# rfc822Mailbox. The short name is therefore here left out for a reason.
840# Subclasses of "mail", e.g. "MIME MHS" don't consitute a problem, as
841# references are realized via long name "Mail" (with capital M).
842internet 7 : : Mail
843
844Private 1 : enterprises : Enterprises
845
846# RFC 2247
847Enterprises 1466 344 : dcobject : dcObject
848
849# Extended Validation
850!Alias extendedValidation Enterprises 311 60
851extendedValidation 2 1 1 : : jurisdictionLocalityName
852extendedValidation 2 1 2 : : jurisdictionStateOrProvinceName
853extendedValidation 2 1 3 : : jurisdictionCountryName
854
855# RFC 1495
856Mail 1 : mime-mhs : MIME MHS
857mime-mhs 1 : mime-mhs-headings : mime-mhs-headings
858mime-mhs 2 : mime-mhs-bodies : mime-mhs-bodies
859mime-mhs-headings 1 : id-hex-partial-message : id-hex-partial-message
860mime-mhs-headings 2 : id-hex-multipart-message : id-hex-multipart-message
861
862# What the hell are these OIDs, really?
863!Cname rle-compression
8641 1 1 1 666 1 : RLE : run length compression
865!Cname zlib-compression
866id-smime-alg 8 : ZLIB : zlib compression
867
868# AES aka Rijndael
869
870!Alias csor 2 16 840 1 101 3
871!Alias nistAlgorithms csor 4
872!Alias aes nistAlgorithms 1
873
874aes 1 : AES-128-ECB : aes-128-ecb
875aes 2 : AES-128-CBC : aes-128-cbc
876!Cname aes-128-ofb128
877aes 3 : AES-128-OFB : aes-128-ofb
878!Cname aes-128-cfb128
879aes 4 : AES-128-CFB : aes-128-cfb
880aes 5 : id-aes128-wrap
881aes 6 : id-aes128-GCM : aes-128-gcm
882aes 7 : id-aes128-CCM : aes-128-ccm
883aes 8 : id-aes128-wrap-pad
884
885aes 21 : AES-192-ECB : aes-192-ecb
886aes 22 : AES-192-CBC : aes-192-cbc
887!Cname aes-192-ofb128
888aes 23 : AES-192-OFB : aes-192-ofb
889!Cname aes-192-cfb128
890aes 24 : AES-192-CFB : aes-192-cfb
891aes 25 : id-aes192-wrap
892aes 26 : id-aes192-GCM : aes-192-gcm
893aes 27 : id-aes192-CCM : aes-192-ccm
894aes 28 : id-aes192-wrap-pad
895
896aes 41 : AES-256-ECB : aes-256-ecb
897aes 42 : AES-256-CBC : aes-256-cbc
898!Cname aes-256-ofb128
899aes 43 : AES-256-OFB : aes-256-ofb
900!Cname aes-256-cfb128
901aes 44 : AES-256-CFB : aes-256-cfb
902aes 45 : id-aes256-wrap
903aes 46 : id-aes256-GCM : aes-256-gcm
904aes 47 : id-aes256-CCM : aes-256-ccm
905aes 48 : id-aes256-wrap-pad
906
907# There are no OIDs for these modes...
908
909 : AES-128-CFB1 : aes-128-cfb1
910 : AES-192-CFB1 : aes-192-cfb1
911 : AES-256-CFB1 : aes-256-cfb1
912 : AES-128-CFB8 : aes-128-cfb8
913 : AES-192-CFB8 : aes-192-cfb8
914 : AES-256-CFB8 : aes-256-cfb8
915 : AES-128-CTR : aes-128-ctr
916 : AES-192-CTR : aes-192-ctr
917 : AES-256-CTR : aes-256-ctr
918 : AES-128-XTS : aes-128-xts
919 : AES-256-XTS : aes-256-xts
920 : DES-CFB1 : des-cfb1
921 : DES-CFB8 : des-cfb8
922 : DES-EDE3-CFB1 : des-ede3-cfb1
923 : DES-EDE3-CFB8 : des-ede3-cfb8
924
925# OIDs for SHA224, SHA256, SHA385 and SHA512, according to x9.84.
926!Alias nist_hashalgs nistAlgorithms 2
927nist_hashalgs 1 : SHA256 : sha256
928nist_hashalgs 2 : SHA384 : sha384
929nist_hashalgs 3 : SHA512 : sha512
930nist_hashalgs 4 : SHA224 : sha224
931
932# OIDs for dsa-with-sha224 and dsa-with-sha256
933!Alias dsa_with_sha2 nistAlgorithms 3
934dsa_with_sha2 1 : dsa_with_SHA224
935dsa_with_sha2 2 : dsa_with_SHA256
936
937# Hold instruction CRL entry extension
938!Cname hold-instruction-code
939id-ce 23 : holdInstructionCode : Hold Instruction Code
940!Alias holdInstruction X9-57 2
941!Cname hold-instruction-none
942holdInstruction 1 : holdInstructionNone : Hold Instruction None
943!Cname hold-instruction-call-issuer
944holdInstruction 2 : holdInstructionCallIssuer : Hold Instruction Call Issuer
945!Cname hold-instruction-reject
946holdInstruction 3 : holdInstructionReject : Hold Instruction Reject
947
948# OID's from ITU-T. Most of this is defined in RFC 1274. A couple of
949# them are also mentioned in RFC 2247
950itu-t 9 : data
951data 2342 : pss
952pss 19200300 : ucl
953ucl 100 : pilot
954pilot 1 : : pilotAttributeType
955pilot 3 : : pilotAttributeSyntax
956pilot 4 : : pilotObjectClass
957pilot 10 : : pilotGroups
958pilotAttributeSyntax 4 : : iA5StringSyntax
959pilotAttributeSyntax 5 : : caseIgnoreIA5StringSyntax
960pilotObjectClass 3 : : pilotObject
961pilotObjectClass 4 : : pilotPerson
962pilotObjectClass 5 : account
963pilotObjectClass 6 : document
964pilotObjectClass 7 : room
965pilotObjectClass 9 : : documentSeries
966pilotObjectClass 13 : domain : Domain
967pilotObjectClass 14 : : rFC822localPart
968pilotObjectClass 15 : : dNSDomain
969pilotObjectClass 17 : : domainRelatedObject
970pilotObjectClass 18 : : friendlyCountry
971pilotObjectClass 19 : : simpleSecurityObject
972pilotObjectClass 20 : : pilotOrganization
973pilotObjectClass 21 : : pilotDSA
974pilotObjectClass 22 : : qualityLabelledData
975pilotAttributeType 1 : UID : userId
976pilotAttributeType 2 : : textEncodedORAddress
977pilotAttributeType 3 : mail : rfc822Mailbox
978pilotAttributeType 4 : info
979pilotAttributeType 5 : : favouriteDrink
980pilotAttributeType 6 : : roomNumber
981pilotAttributeType 7 : photo
982pilotAttributeType 8 : : userClass
983pilotAttributeType 9 : host
984pilotAttributeType 10 : manager
985pilotAttributeType 11 : : documentIdentifier
986pilotAttributeType 12 : : documentTitle
987pilotAttributeType 13 : : documentVersion
988pilotAttributeType 14 : : documentAuthor
989pilotAttributeType 15 : : documentLocation
990pilotAttributeType 20 : : homeTelephoneNumber
991pilotAttributeType 21 : secretary
992pilotAttributeType 22 : : otherMailbox
993pilotAttributeType 23 : : lastModifiedTime
994pilotAttributeType 24 : : lastModifiedBy
995pilotAttributeType 25 : DC : domainComponent
996pilotAttributeType 26 : : aRecord
997pilotAttributeType 27 : : pilotAttributeType27
998pilotAttributeType 28 : : mXRecord
999pilotAttributeType 29 : : nSRecord
1000pilotAttributeType 30 : : sOARecord
1001pilotAttributeType 31 : : cNAMERecord
1002pilotAttributeType 37 : : associatedDomain
1003pilotAttributeType 38 : : associatedName
1004pilotAttributeType 39 : : homePostalAddress
1005pilotAttributeType 40 : : personalTitle
1006pilotAttributeType 41 : : mobileTelephoneNumber
1007pilotAttributeType 42 : : pagerTelephoneNumber
1008pilotAttributeType 43 : : friendlyCountryName
1009# The following clashes with 2.5.4.45, so commented away
1010#pilotAttributeType 44 : uid : uniqueIdentifier
1011pilotAttributeType 45 : : organizationalStatus
1012pilotAttributeType 46 : : janetMailbox
1013pilotAttributeType 47 : : mailPreferenceOption
1014pilotAttributeType 48 : : buildingName
1015pilotAttributeType 49 : : dSAQuality
1016pilotAttributeType 50 : : singleLevelQuality
1017pilotAttributeType 51 : : subtreeMinimumQuality
1018pilotAttributeType 52 : : subtreeMaximumQuality
1019pilotAttributeType 53 : : personalSignature
1020pilotAttributeType 54 : : dITRedirect
1021pilotAttributeType 55 : audio
1022pilotAttributeType 56 : : documentPublisher
1023
1024international-organizations 42 : id-set : Secure Electronic Transactions
1025
1026id-set 0 : set-ctype : content types
1027id-set 1 : set-msgExt : message extensions
1028id-set 3 : set-attr
1029id-set 5 : set-policy
1030id-set 7 : set-certExt : certificate extensions
1031id-set 8 : set-brand
1032
1033set-ctype 0 : setct-PANData
1034set-ctype 1 : setct-PANToken
1035set-ctype 2 : setct-PANOnly
1036set-ctype 3 : setct-OIData
1037set-ctype 4 : setct-PI
1038set-ctype 5 : setct-PIData
1039set-ctype 6 : setct-PIDataUnsigned
1040set-ctype 7 : setct-HODInput
1041set-ctype 8 : setct-AuthResBaggage
1042set-ctype 9 : setct-AuthRevReqBaggage
1043set-ctype 10 : setct-AuthRevResBaggage
1044set-ctype 11 : setct-CapTokenSeq
1045set-ctype 12 : setct-PInitResData
1046set-ctype 13 : setct-PI-TBS
1047set-ctype 14 : setct-PResData
1048set-ctype 16 : setct-AuthReqTBS
1049set-ctype 17 : setct-AuthResTBS
1050set-ctype 18 : setct-AuthResTBSX
1051set-ctype 19 : setct-AuthTokenTBS
1052set-ctype 20 : setct-CapTokenData
1053set-ctype 21 : setct-CapTokenTBS
1054set-ctype 22 : setct-AcqCardCodeMsg
1055set-ctype 23 : setct-AuthRevReqTBS
1056set-ctype 24 : setct-AuthRevResData
1057set-ctype 25 : setct-AuthRevResTBS
1058set-ctype 26 : setct-CapReqTBS
1059set-ctype 27 : setct-CapReqTBSX
1060set-ctype 28 : setct-CapResData
1061set-ctype 29 : setct-CapRevReqTBS
1062set-ctype 30 : setct-CapRevReqTBSX
1063set-ctype 31 : setct-CapRevResData
1064set-ctype 32 : setct-CredReqTBS
1065set-ctype 33 : setct-CredReqTBSX
1066set-ctype 34 : setct-CredResData
1067set-ctype 35 : setct-CredRevReqTBS
1068set-ctype 36 : setct-CredRevReqTBSX
1069set-ctype 37 : setct-CredRevResData
1070set-ctype 38 : setct-PCertReqData
1071set-ctype 39 : setct-PCertResTBS
1072set-ctype 40 : setct-BatchAdminReqData
1073set-ctype 41 : setct-BatchAdminResData
1074set-ctype 42 : setct-CardCInitResTBS
1075set-ctype 43 : setct-MeAqCInitResTBS
1076set-ctype 44 : setct-RegFormResTBS
1077set-ctype 45 : setct-CertReqData
1078set-ctype 46 : setct-CertReqTBS
1079set-ctype 47 : setct-CertResData
1080set-ctype 48 : setct-CertInqReqTBS
1081set-ctype 49 : setct-ErrorTBS
1082set-ctype 50 : setct-PIDualSignedTBE
1083set-ctype 51 : setct-PIUnsignedTBE
1084set-ctype 52 : setct-AuthReqTBE
1085set-ctype 53 : setct-AuthResTBE
1086set-ctype 54 : setct-AuthResTBEX
1087set-ctype 55 : setct-AuthTokenTBE
1088set-ctype 56 : setct-CapTokenTBE
1089set-ctype 57 : setct-CapTokenTBEX
1090set-ctype 58 : setct-AcqCardCodeMsgTBE
1091set-ctype 59 : setct-AuthRevReqTBE
1092set-ctype 60 : setct-AuthRevResTBE
1093set-ctype 61 : setct-AuthRevResTBEB
1094set-ctype 62 : setct-CapReqTBE
1095set-ctype 63 : setct-CapReqTBEX
1096set-ctype 64 : setct-CapResTBE
1097set-ctype 65 : setct-CapRevReqTBE
1098set-ctype 66 : setct-CapRevReqTBEX
1099set-ctype 67 : setct-CapRevResTBE
1100set-ctype 68 : setct-CredReqTBE
1101set-ctype 69 : setct-CredReqTBEX
1102set-ctype 70 : setct-CredResTBE
1103set-ctype 71 : setct-CredRevReqTBE
1104set-ctype 72 : setct-CredRevReqTBEX
1105set-ctype 73 : setct-CredRevResTBE
1106set-ctype 74 : setct-BatchAdminReqTBE
1107set-ctype 75 : setct-BatchAdminResTBE
1108set-ctype 76 : setct-RegFormReqTBE
1109set-ctype 77 : setct-CertReqTBE
1110set-ctype 78 : setct-CertReqTBEX
1111set-ctype 79 : setct-CertResTBE
1112set-ctype 80 : setct-CRLNotificationTBS
1113set-ctype 81 : setct-CRLNotificationResTBS
1114set-ctype 82 : setct-BCIDistributionTBS
1115
1116set-msgExt 1 : setext-genCrypt : generic cryptogram
1117set-msgExt 3 : setext-miAuth : merchant initiated auth
1118set-msgExt 4 : setext-pinSecure
1119set-msgExt 5 : setext-pinAny
1120set-msgExt 7 : setext-track2
1121set-msgExt 8 : setext-cv : additional verification
1122
1123set-policy 0 : set-policy-root
1124
1125set-certExt 0 : setCext-hashedRoot
1126set-certExt 1 : setCext-certType
1127set-certExt 2 : setCext-merchData
1128set-certExt 3 : setCext-cCertRequired
1129set-certExt 4 : setCext-tunneling
1130set-certExt 5 : setCext-setExt
1131set-certExt 6 : setCext-setQualf
1132set-certExt 7 : setCext-PGWYcapabilities
1133set-certExt 8 : setCext-TokenIdentifier
1134set-certExt 9 : setCext-Track2Data
1135set-certExt 10 : setCext-TokenType
1136set-certExt 11 : setCext-IssuerCapabilities
1137
1138set-attr 0 : setAttr-Cert
1139set-attr 1 : setAttr-PGWYcap : payment gateway capabilities
1140set-attr 2 : setAttr-TokenType
1141set-attr 3 : setAttr-IssCap : issuer capabilities
1142
1143setAttr-Cert 0 : set-rootKeyThumb
1144setAttr-Cert 1 : set-addPolicy
1145
1146setAttr-TokenType 1 : setAttr-Token-EMV
1147setAttr-TokenType 2 : setAttr-Token-B0Prime
1148
1149setAttr-IssCap 3 : setAttr-IssCap-CVM
1150setAttr-IssCap 4 : setAttr-IssCap-T2
1151setAttr-IssCap 5 : setAttr-IssCap-Sig
1152
1153setAttr-IssCap-CVM 1 : setAttr-GenCryptgrm : generate cryptogram
1154setAttr-IssCap-T2 1 : setAttr-T2Enc : encrypted track 2
1155setAttr-IssCap-T2 2 : setAttr-T2cleartxt : cleartext track 2
1156
1157setAttr-IssCap-Sig 1 : setAttr-TokICCsig : ICC or token signature
1158setAttr-IssCap-Sig 2 : setAttr-SecDevSig : secure device signature
1159
1160set-brand 1 : set-brand-IATA-ATA
1161set-brand 30 : set-brand-Diners
1162set-brand 34 : set-brand-AmericanExpress
1163set-brand 35 : set-brand-JCB
1164set-brand 4 : set-brand-Visa
1165set-brand 5 : set-brand-MasterCard
1166set-brand 6011 : set-brand-Novus
1167
1168rsadsi 3 10 : DES-CDMF : des-cdmf
1169rsadsi 1 1 6 : rsaOAEPEncryptionSET
1170
1171 : Oakley-EC2N-3 : ipsec3
1172 : Oakley-EC2N-4 : ipsec4
1173
1174iso 0 10118 3 0 55 : whirlpool
1175
1176# GOST OIDs
1177
1178member-body 643 2 2 : cryptopro
1179member-body 643 2 9 : cryptocom
1180
1181cryptopro 3 : id-GostR3411-94-with-GostR3410-2001 : GOST R 34.11-94 with GOST R 34.10-2001
1182cryptopro 4 : id-GostR3411-94-with-GostR3410-94 : GOST R 34.11-94 with GOST R 34.10-94
1183!Cname id-GostR3411-94
1184cryptopro 9 : md_gost94 : GOST R 34.11-94
1185cryptopro 10 : id-HMACGostR3411-94 : HMAC GOST 34.11-94
1186!Cname id-GostR3410-2001
1187cryptopro 19 : gost2001 : GOST R 34.10-2001
1188!Cname id-GostR3410-94
1189cryptopro 20 : gost94 : GOST R 34.10-94
1190!Cname id-Gost28147-89
1191cryptopro 21 : gost89 : GOST 28147-89
1192 : gost89-cnt
1193!Cname id-Gost28147-89-MAC
1194cryptopro 22 : gost-mac : GOST 28147-89 MAC
1195!Cname id-GostR3411-94-prf
1196cryptopro 23 : prf-gostr3411-94 : GOST R 34.11-94 PRF
1197cryptopro 98 : id-GostR3410-2001DH : GOST R 34.10-2001 DH
1198cryptopro 99 : id-GostR3410-94DH : GOST R 34.10-94 DH
1199
1200cryptopro 14 1 : id-Gost28147-89-CryptoPro-KeyMeshing
1201cryptopro 14 0 : id-Gost28147-89-None-KeyMeshing
1202
1203# GOST parameter set OIDs
1204
1205cryptopro 30 0 : id-GostR3411-94-TestParamSet
1206cryptopro 30 1 : id-GostR3411-94-CryptoProParamSet
1207
1208cryptopro 31 0 : id-Gost28147-89-TestParamSet
1209cryptopro 31 1 : id-Gost28147-89-CryptoPro-A-ParamSet
1210cryptopro 31 2 : id-Gost28147-89-CryptoPro-B-ParamSet
1211cryptopro 31 3 : id-Gost28147-89-CryptoPro-C-ParamSet
1212cryptopro 31 4 : id-Gost28147-89-CryptoPro-D-ParamSet
1213cryptopro 31 5 : id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet
1214cryptopro 31 6 : id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet
1215cryptopro 31 7 : id-Gost28147-89-CryptoPro-RIC-1-ParamSet
1216
1217cryptopro 32 0 : id-GostR3410-94-TestParamSet
1218cryptopro 32 2 : id-GostR3410-94-CryptoPro-A-ParamSet
1219cryptopro 32 3 : id-GostR3410-94-CryptoPro-B-ParamSet
1220cryptopro 32 4 : id-GostR3410-94-CryptoPro-C-ParamSet
1221cryptopro 32 5 : id-GostR3410-94-CryptoPro-D-ParamSet
1222
1223cryptopro 33 1 : id-GostR3410-94-CryptoPro-XchA-ParamSet
1224cryptopro 33 2 : id-GostR3410-94-CryptoPro-XchB-ParamSet
1225cryptopro 33 3 : id-GostR3410-94-CryptoPro-XchC-ParamSet
1226
1227cryptopro 35 0 : id-GostR3410-2001-TestParamSet
1228cryptopro 35 1 : id-GostR3410-2001-CryptoPro-A-ParamSet
1229cryptopro 35 2 : id-GostR3410-2001-CryptoPro-B-ParamSet
1230cryptopro 35 3 : id-GostR3410-2001-CryptoPro-C-ParamSet
1231
1232cryptopro 36 0 : id-GostR3410-2001-CryptoPro-XchA-ParamSet
1233cryptopro 36 1 : id-GostR3410-2001-CryptoPro-XchB-ParamSet
1234
1235id-GostR3410-94 1 : id-GostR3410-94-a
1236id-GostR3410-94 2 : id-GostR3410-94-aBis
1237id-GostR3410-94 3 : id-GostR3410-94-b
1238id-GostR3410-94 4 : id-GostR3410-94-bBis
1239
1240# Cryptocom LTD GOST OIDs
1241
1242cryptocom 1 6 1 : id-Gost28147-89-cc : GOST 28147-89 Cryptocom ParamSet
1243!Cname id-GostR3410-94-cc
1244cryptocom 1 5 3 : gost94cc : GOST 34.10-94 Cryptocom
1245!Cname id-GostR3410-2001-cc
1246cryptocom 1 5 4 : gost2001cc : GOST 34.10-2001 Cryptocom
1247
1248cryptocom 1 3 3 : id-GostR3411-94-with-GostR3410-94-cc : GOST R 34.11-94 with GOST R 34.10-94 Cryptocom
1249cryptocom 1 3 4 : id-GostR3411-94-with-GostR3410-2001-cc : GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom
1250
1251cryptocom 1 8 1 : id-GostR3410-2001-ParamSet-cc : GOST R 3410-2001 Parameter Set Cryptocom
1252
1253# Definitions for SM3
1254
12551 2 156 10197 1 401 : SM3 : sm3
12561 2 156 10197 1 504 : RSA-SM3 : sm3WithRSAEncryption
1257
1258# Definitions for Camellia cipher - CBC MODE
1259
12601 2 392 200011 61 1 1 1 2 : CAMELLIA-128-CBC : camellia-128-cbc
12611 2 392 200011 61 1 1 1 3 : CAMELLIA-192-CBC : camellia-192-cbc
12621 2 392 200011 61 1 1 1 4 : CAMELLIA-256-CBC : camellia-256-cbc
12631 2 392 200011 61 1 1 3 2 : id-camellia128-wrap
12641 2 392 200011 61 1 1 3 3 : id-camellia192-wrap
12651 2 392 200011 61 1 1 3 4 : id-camellia256-wrap
1266
1267# Definitions for Camellia cipher - ECB, CFB, OFB MODE
1268
1269!Alias ntt-ds 0 3 4401 5
1270!Alias camellia ntt-ds 3 1 9
1271
1272camellia 1 : CAMELLIA-128-ECB : camellia-128-ecb
1273!Cname camellia-128-ofb128
1274camellia 3 : CAMELLIA-128-OFB : camellia-128-ofb
1275!Cname camellia-128-cfb128
1276camellia 4 : CAMELLIA-128-CFB : camellia-128-cfb
1277
1278camellia 21 : CAMELLIA-192-ECB : camellia-192-ecb
1279!Cname camellia-192-ofb128
1280camellia 23 : CAMELLIA-192-OFB : camellia-192-ofb
1281!Cname camellia-192-cfb128
1282camellia 24 : CAMELLIA-192-CFB : camellia-192-cfb
1283
1284camellia 41 : CAMELLIA-256-ECB : camellia-256-ecb
1285!Cname camellia-256-ofb128
1286camellia 43 : CAMELLIA-256-OFB : camellia-256-ofb
1287!Cname camellia-256-cfb128
1288camellia 44 : CAMELLIA-256-CFB : camellia-256-cfb
1289
1290# There are no OIDs for these modes...
1291
1292 : CAMELLIA-128-CFB1 : camellia-128-cfb1
1293 : CAMELLIA-192-CFB1 : camellia-192-cfb1
1294 : CAMELLIA-256-CFB1 : camellia-256-cfb1
1295 : CAMELLIA-128-CFB8 : camellia-128-cfb8
1296 : CAMELLIA-192-CFB8 : camellia-192-cfb8
1297 : CAMELLIA-256-CFB8 : camellia-256-cfb8
1298
1299# Definitions for SEED cipher - ECB, CBC, OFB mode
1300
1301member-body 410 200004 : KISA : kisa
1302kisa 1 3 : SEED-ECB : seed-ecb
1303kisa 1 4 : SEED-CBC : seed-cbc
1304!Cname seed-cfb128
1305kisa 1 5 : SEED-CFB : seed-cfb
1306!Cname seed-ofb128
1307kisa 1 6 : SEED-OFB : seed-ofb
1308
1309# Definitions for SM4 cipher
1310
1311member-body 156 : ISO-CN : ISO CN Member Body
1312ISO-CN 10197 : oscca
1313oscca 1 : sm-scheme
1314
1315sm-scheme 104 1 : SM4-ECB : sm4-ecb
1316sm-scheme 104 2 : SM4-CBC : sm4-cbc
1317!Cname sm4-ofb128
1318sm-scheme 104 3 : SM4-OFB : sm4-ofb
1319!Cname sm4-cfb128
1320sm-scheme 104 4 : SM4-CFB : sm4-cfb
1321sm-scheme 104 5 : SM4-CFB1 : sm4-cfb1
1322sm-scheme 104 6 : SM4-CFB8 : sm4-cfb8
1323sm-scheme 104 7 : SM4-CTR : sm4-ctr
1324
1325# There is no OID that just denotes "HMAC" oddly enough...
1326
1327 : HMAC : hmac
1328# Nor CMAC either
1329 : CMAC : cmac
1330
1331# Synthetic composite ciphersuites
1332 : RC4-HMAC-MD5 : rc4-hmac-md5
1333 : AES-128-CBC-HMAC-SHA1 : aes-128-cbc-hmac-sha1
1334 : AES-192-CBC-HMAC-SHA1 : aes-192-cbc-hmac-sha1
1335 : AES-256-CBC-HMAC-SHA1 : aes-256-cbc-hmac-sha1
1336
1337# ECDH schemes from RFC 5753
1338!Alias x9-63-scheme 1 3 133 16 840 63 0
1339!Alias secg-scheme certicom-arc 1
1340
1341x9-63-scheme 2 : dhSinglePass-stdDH-sha1kdf-scheme
1342secg-scheme 11 0 : dhSinglePass-stdDH-sha224kdf-scheme
1343secg-scheme 11 1 : dhSinglePass-stdDH-sha256kdf-scheme
1344secg-scheme 11 2 : dhSinglePass-stdDH-sha384kdf-scheme
1345secg-scheme 11 3 : dhSinglePass-stdDH-sha512kdf-scheme
1346
1347x9-63-scheme 3 : dhSinglePass-cofactorDH-sha1kdf-scheme
1348secg-scheme 14 0 : dhSinglePass-cofactorDH-sha224kdf-scheme
1349secg-scheme 14 1 : dhSinglePass-cofactorDH-sha256kdf-scheme
1350secg-scheme 14 2 : dhSinglePass-cofactorDH-sha384kdf-scheme
1351secg-scheme 14 3 : dhSinglePass-cofactorDH-sha512kdf-scheme
1352
1353# DH NIDs for use with lookup tables.
1354 : dh-std-kdf
1355 : dh-cofactor-kdf
1356
1357identified-organization 36 : teletrust
1358teletrust 3 3 2 8 1 : brainpool
1359brainpool 1 1 : brainpoolP160r1
1360brainpool 1 2 : brainpoolP160t1
1361brainpool 1 3 : brainpoolP192r1
1362brainpool 1 4 : brainpoolP192t1
1363brainpool 1 5 : brainpoolP224r1
1364brainpool 1 6 : brainpoolP224t1
1365brainpool 1 7 : brainpoolP256r1
1366brainpool 1 8 : brainpoolP256t1
1367brainpool 1 9 : brainpoolP320r1
1368brainpool 1 10 : brainpoolP320t1
1369brainpool 1 11 : brainpoolP384r1
1370brainpool 1 12 : brainpoolP384t1
1371brainpool 1 13 : brainpoolP512r1
1372brainpool 1 14 : brainpoolP512t1
1373
13741 2 250 1 223 101 256 1 : FRP256v1
1375
1376# ChaCha Stream Cipher
1377!Cname chacha20
1378 : ChaCha : chacha
1379
1380 : ChaCha20-Poly1305 : chacha20-poly1305
1381
1382 : gost89-ecb
1383 : gost89-cbc
1384
1385member-body 643 7 1 : tc26
1386!Cname id-tc26-gost3411-2012-256
1387tc26 1 2 2 : streebog256 : GOST R 34.11-2012 (256 bit)
1388!Cname id-tc26-gost3411-2012-512
1389tc26 1 2 3 : streebog512 : GOST R 34-11-2012 (512 bit)
1390tc26 1 4 1 : id-tc26-hmac-gost-3411-12-256 : HMAC STREEBOG 256
1391tc26 1 4 2 : id-tc26-hmac-gost-3411-12-512 : HMAC STREEBOG 512
1392tc26 2 1 1 1 : id-tc26-gost-3410-12-256-paramSetA : GOST R 34.10-2012 (256 bit) ParamSet A
1393tc26 2 1 1 2 : id-tc26-gost-3410-12-256-paramSetB : GOST R 34.10-2012 (256 bit) ParamSet B
1394tc26 2 1 1 3 : id-tc26-gost-3410-12-256-paramSetC : GOST R 34.10-2012 (256 bit) ParamSet C
1395tc26 2 1 1 4 : id-tc26-gost-3410-12-256-paramSetD : GOST R 34.10-2012 (256 bit) ParamSet D
1396tc26 2 1 2 0 : id-tc26-gost-3410-12-512-paramSetTest : GOST R 34.10-2012 (512 bit) testing parameter set
1397tc26 2 1 2 1 : id-tc26-gost-3410-12-512-paramSetA : GOST R 34.10-2012 (512 bit) ParamSet A
1398tc26 2 1 2 2 : id-tc26-gost-3410-12-512-paramSetB : GOST R 34.10-2012 (512 bit) ParamSet B
1399tc26 2 1 2 3 : id-tc26-gost-3410-12-512-paramSetC : GOST R 34.10-2012 (512 bit) ParamSet C
1400tc26 2 5 1 1 : id-tc26-gost-28147-param-Z
1401tc26 1 1 1 : id-tc26-gost3410-2012-256 : GOST R 34.10-2012 (256 bit)
1402tc26 1 1 2 : id-tc26-gost3410-2012-512 : GOST R 34.10-2012 (512 bit)
1403tc26 1 3 2 : id-tc26-signwithdigest-gost3410-2012-256 : GOST R 34.11-2012 with GOST R 34.10-2012 (256 bit)
1404tc26 1 3 3 : id-tc26-signwithdigest-gost3410-2012-512 : GOST R 34.11-2012 with GOST R 34.10-2012 (512 bit)
1405
1406# Curves from draft-ietf-curdle-pkix-02
14071 3 101 110 : X25519
14081 3 101 111 : X448
14091 3 101 112 : Ed25519
14101 3 101 113 : Ed448
14111 3 101 114 : Ed25519ph
14121 3 101 115 : Ed448ph
1413
1414# TLS cipher suite key exchange
1415 : KxRSA : kx-rsa
1416 : KxECDHE : kx-ecdhe
1417 : KxDHE : kx-dhe
1418 : KxGOST : kx-gost
1419
1420# TLS cipher suite authentication
1421 : AuthRSA : auth-rsa
1422 : AuthECDSA : auth-ecdsa
1423 : AuthGOST01 : auth-gost01
1424 : AuthNULL : auth-null
diff --git a/src/lib/libcrypto/objects/objxref.pl b/src/lib/libcrypto/objects/objxref.pl
deleted file mode 100644
index 8873c91ad9..0000000000
--- a/src/lib/libcrypto/objects/objxref.pl
+++ /dev/null
@@ -1,111 +0,0 @@
1#!/usr/local/bin/perl
2
3use strict;
4
5my %xref_tbl;
6my %oid_tbl;
7
8my ($mac_file, $xref_file) = @ARGV;
9
10open(IN, $mac_file) || die "Can't open $mac_file";
11
12# Read in OID nid values for a lookup table.
13
14while (<IN>)
15 {
16 chomp;
17 my ($name, $num) = /^(\S+)\s+(\S+)$/;
18 $oid_tbl{$name} = $num;
19 }
20close IN;
21
22open(IN, $xref_file) || die "Can't open $xref_file";
23
24my $ln = 1;
25
26while (<IN>)
27 {
28 chomp;
29 s/#.*$//;
30 next if (/^\S*$/);
31 my ($xr, $p1, $p2) = /^(\S+)\s+(\S+)\s+(\S+)/;
32 check_oid($xr);
33 check_oid($p1);
34 check_oid($p2);
35 $xref_tbl{$xr} = [$p1, $p2, $ln];
36 }
37
38my @xrkeys = keys %xref_tbl;
39
40my @srt1 = sort { $oid_tbl{$a} <=> $oid_tbl{$b}} @xrkeys;
41
42for(my $i = 0; $i <= $#srt1; $i++)
43 {
44 $xref_tbl{$srt1[$i]}[2] = $i;
45 }
46
47my @srt2 = sort
48 {
49 my$ap1 = $oid_tbl{$xref_tbl{$a}[0]};
50 my$bp1 = $oid_tbl{$xref_tbl{$b}[0]};
51 return $ap1 - $bp1 if ($ap1 != $bp1);
52 my$ap2 = $oid_tbl{$xref_tbl{$a}[1]};
53 my$bp2 = $oid_tbl{$xref_tbl{$b}[1]};
54
55 return $ap2 - $bp2;
56 } @xrkeys;
57
58my $pname = $0;
59
60$pname =~ s|^.[^/]/||;
61
62print <<EOF;
63/* \$OpenBSD\$ */
64/* AUTOGENERATED BY $pname, DO NOT EDIT */
65
66__BEGIN_HIDDEN_DECLS
67
68typedef struct
69 {
70 int sign_id;
71 int hash_id;
72 int pkey_id;
73 } nid_triple;
74
75static const nid_triple sigoid_srt[] =
76 {
77EOF
78
79foreach (@srt1)
80 {
81 my $xr = $_;
82 my ($p1, $p2) = @{$xref_tbl{$_}};
83 print "\t{NID_$xr, NID_$p1, NID_$p2},\n";
84 }
85
86print "\t};";
87print <<EOF;
88
89
90static const nid_triple * const sigoid_srt_xref[] =
91 {
92EOF
93
94foreach (@srt2)
95 {
96 my $x = $xref_tbl{$_}[2];
97 print "\t\&sigoid_srt\[$x\],\n";
98 }
99
100print "\t};\n\n";
101print "__END_HIDDEN_DECLS\n";
102
103sub check_oid
104 {
105 my ($chk) = @_;
106 if (!exists $oid_tbl{$chk})
107 {
108 die "Not Found \"$chk\"\n";
109 }
110 }
111