diff options
| author | djm <> | 2008-09-06 12:17:54 +0000 |
|---|---|---|
| committer | djm <> | 2008-09-06 12:17:54 +0000 |
| commit | 6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda (patch) | |
| tree | 7ccc28afe1789ea3dbedf72365f955d5b8e105b5 /src/lib/libcrypto/objects | |
| parent | 89181603212b41e95cde36b1be5a146ce8fb2935 (diff) | |
| download | openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.tar.gz openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.tar.bz2 openbsd-6b62d1fdd8a4fd35acfcc0c4bb1bf8b757fa8cda.zip | |
resolve conflicts
Diffstat (limited to 'src/lib/libcrypto/objects')
| -rw-r--r-- | src/lib/libcrypto/objects/o_names.c | 6 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/obj_dat.c | 254 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/obj_dat.pl | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/obj_err.c | 9 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/obj_lib.c | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/obj_mac.num | 115 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/objects.h | 7 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/objects.txt | 185 |
8 files changed, 493 insertions, 90 deletions
diff --git a/src/lib/libcrypto/objects/o_names.c b/src/lib/libcrypto/objects/o_names.c index 28c9370ca3..adb5731f76 100644 --- a/src/lib/libcrypto/objects/o_names.c +++ b/src/lib/libcrypto/objects/o_names.c | |||
| @@ -111,8 +111,8 @@ int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *), | |||
| 111 | static int obj_name_cmp(const void *a_void, const void *b_void) | 111 | static int obj_name_cmp(const void *a_void, const void *b_void) |
| 112 | { | 112 | { |
| 113 | int ret; | 113 | int ret; |
| 114 | OBJ_NAME *a = (OBJ_NAME *)a_void; | 114 | const OBJ_NAME *a = (const OBJ_NAME *)a_void; |
| 115 | OBJ_NAME *b = (OBJ_NAME *)b_void; | 115 | const OBJ_NAME *b = (const OBJ_NAME *)b_void; |
| 116 | 116 | ||
| 117 | ret=a->type-b->type; | 117 | ret=a->type-b->type; |
| 118 | if (ret == 0) | 118 | if (ret == 0) |
| @@ -133,7 +133,7 @@ static int obj_name_cmp(const void *a_void, const void *b_void) | |||
| 133 | static unsigned long obj_name_hash(const void *a_void) | 133 | static unsigned long obj_name_hash(const void *a_void) |
| 134 | { | 134 | { |
| 135 | unsigned long ret; | 135 | unsigned long ret; |
| 136 | OBJ_NAME *a = (OBJ_NAME *)a_void; | 136 | const OBJ_NAME *a = (const OBJ_NAME *)a_void; |
| 137 | 137 | ||
| 138 | if ((name_funcs_stack != NULL) && (sk_NAME_FUNCS_num(name_funcs_stack) > a->type)) | 138 | if ((name_funcs_stack != NULL) && (sk_NAME_FUNCS_num(name_funcs_stack) > a->type)) |
| 139 | { | 139 | { |
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c index f549d078ef..7fd7433241 100644 --- a/src/lib/libcrypto/objects/obj_dat.c +++ b/src/lib/libcrypto/objects/obj_dat.c | |||
| @@ -58,10 +58,12 @@ | |||
| 58 | 58 | ||
| 59 | #include <stdio.h> | 59 | #include <stdio.h> |
| 60 | #include <ctype.h> | 60 | #include <ctype.h> |
| 61 | #include <limits.h> | ||
| 61 | #include "cryptlib.h" | 62 | #include "cryptlib.h" |
| 62 | #include <openssl/lhash.h> | 63 | #include <openssl/lhash.h> |
| 63 | #include <openssl/asn1.h> | 64 | #include <openssl/asn1.h> |
| 64 | #include <openssl/objects.h> | 65 | #include <openssl/objects.h> |
| 66 | #include <openssl/bn.h> | ||
| 65 | 67 | ||
| 66 | /* obj_dat.h is generated from objects.h by obj_dat.pl */ | 68 | /* obj_dat.h is generated from objects.h by obj_dat.pl */ |
| 67 | #ifndef OPENSSL_NO_OBJECT | 69 | #ifndef OPENSSL_NO_OBJECT |
| @@ -115,7 +117,7 @@ static unsigned long add_hash(const void *ca_void) | |||
| 115 | int i; | 117 | int i; |
| 116 | unsigned long ret=0; | 118 | unsigned long ret=0; |
| 117 | unsigned char *p; | 119 | unsigned char *p; |
| 118 | ADDED_OBJ *ca = (ADDED_OBJ *)ca_void; | 120 | const ADDED_OBJ *ca = (const ADDED_OBJ *)ca_void; |
| 119 | 121 | ||
| 120 | a=ca->obj; | 122 | a=ca->obj; |
| 121 | switch (ca->type) | 123 | switch (ca->type) |
| @@ -149,8 +151,8 @@ static int add_cmp(const void *ca_void, const void *cb_void) | |||
| 149 | { | 151 | { |
| 150 | ASN1_OBJECT *a,*b; | 152 | ASN1_OBJECT *a,*b; |
| 151 | int i; | 153 | int i; |
| 152 | ADDED_OBJ *ca = (ADDED_OBJ *)ca_void; | 154 | const ADDED_OBJ *ca = (const ADDED_OBJ *)ca_void; |
| 153 | ADDED_OBJ *cb = (ADDED_OBJ *)cb_void; | 155 | const ADDED_OBJ *cb = (const ADDED_OBJ *)cb_void; |
| 154 | 156 | ||
| 155 | i=ca->type-cb->type; | 157 | i=ca->type-cb->type; |
| 156 | if (i) return(i); | 158 | if (i) return(i); |
| @@ -161,7 +163,7 @@ static int add_cmp(const void *ca_void, const void *cb_void) | |||
| 161 | case ADDED_DATA: | 163 | case ADDED_DATA: |
| 162 | i=(a->length - b->length); | 164 | i=(a->length - b->length); |
| 163 | if (i) return(i); | 165 | if (i) return(i); |
| 164 | return(memcmp(a->data,b->data,a->length)); | 166 | return(memcmp(a->data,b->data,(size_t)a->length)); |
| 165 | case ADDED_SNAME: | 167 | case ADDED_SNAME: |
| 166 | if (a->sn == NULL) return(-1); | 168 | if (a->sn == NULL) return(-1); |
| 167 | else if (b->sn == NULL) return(1); | 169 | else if (b->sn == NULL) return(1); |
| @@ -382,8 +384,8 @@ int OBJ_obj2nid(const ASN1_OBJECT *a) | |||
| 382 | adp=(ADDED_OBJ *)lh_retrieve(added,&ad); | 384 | adp=(ADDED_OBJ *)lh_retrieve(added,&ad); |
| 383 | if (adp != NULL) return (adp->obj->nid); | 385 | if (adp != NULL) return (adp->obj->nid); |
| 384 | } | 386 | } |
| 385 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&a,(char *)obj_objs,NUM_OBJ, | 387 | op=(ASN1_OBJECT **)OBJ_bsearch((const char *)&a,(const char *)obj_objs, |
| 386 | sizeof(ASN1_OBJECT *),obj_cmp); | 388 | NUM_OBJ, sizeof(ASN1_OBJECT *),obj_cmp); |
| 387 | if (op == NULL) | 389 | if (op == NULL) |
| 388 | return(NID_undef); | 390 | return(NID_undef); |
| 389 | return((*op)->nid); | 391 | return((*op)->nid); |
| @@ -399,7 +401,9 @@ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) | |||
| 399 | { | 401 | { |
| 400 | int nid = NID_undef; | 402 | int nid = NID_undef; |
| 401 | ASN1_OBJECT *op=NULL; | 403 | ASN1_OBJECT *op=NULL; |
| 402 | unsigned char *buf,*p; | 404 | unsigned char *buf; |
| 405 | unsigned char *p; | ||
| 406 | const unsigned char *cp; | ||
| 403 | int i, j; | 407 | int i, j; |
| 404 | 408 | ||
| 405 | if(!no_name) { | 409 | if(!no_name) { |
| @@ -411,8 +415,8 @@ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) | |||
| 411 | /* Work out size of content octets */ | 415 | /* Work out size of content octets */ |
| 412 | i=a2d_ASN1_OBJECT(NULL,0,s,-1); | 416 | i=a2d_ASN1_OBJECT(NULL,0,s,-1); |
| 413 | if (i <= 0) { | 417 | if (i <= 0) { |
| 414 | /* Clear the error */ | 418 | /* Don't clear the error */ |
| 415 | ERR_get_error(); | 419 | /*ERR_clear_error();*/ |
| 416 | return NULL; | 420 | return NULL; |
| 417 | } | 421 | } |
| 418 | /* Work out total size */ | 422 | /* Work out total size */ |
| @@ -425,75 +429,170 @@ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) | |||
| 425 | ASN1_put_object(&p,0,i,V_ASN1_OBJECT,V_ASN1_UNIVERSAL); | 429 | ASN1_put_object(&p,0,i,V_ASN1_OBJECT,V_ASN1_UNIVERSAL); |
| 426 | /* Write out contents */ | 430 | /* Write out contents */ |
| 427 | a2d_ASN1_OBJECT(p,i,s,-1); | 431 | a2d_ASN1_OBJECT(p,i,s,-1); |
| 428 | 432 | ||
| 429 | p=buf; | 433 | cp=buf; |
| 430 | op=d2i_ASN1_OBJECT(NULL,&p,j); | 434 | op=d2i_ASN1_OBJECT(NULL,&cp,j); |
| 431 | OPENSSL_free(buf); | 435 | OPENSSL_free(buf); |
| 432 | return op; | 436 | return op; |
| 433 | } | 437 | } |
| 434 | 438 | ||
| 435 | int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) | 439 | int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) |
| 436 | { | 440 | { |
| 437 | int i,idx=0,n=0,len,nid; | 441 | int i,n=0,len,nid, first, use_bn; |
| 442 | BIGNUM *bl; | ||
| 438 | unsigned long l; | 443 | unsigned long l; |
| 439 | unsigned char *p; | 444 | unsigned char *p; |
| 440 | const char *s; | ||
| 441 | char tbuf[DECIMAL_SIZE(i)+DECIMAL_SIZE(l)+2]; | 445 | char tbuf[DECIMAL_SIZE(i)+DECIMAL_SIZE(l)+2]; |
| 442 | 446 | ||
| 443 | if (buf_len <= 0) return(0); | ||
| 444 | |||
| 445 | if ((a == NULL) || (a->data == NULL)) { | 447 | if ((a == NULL) || (a->data == NULL)) { |
| 446 | buf[0]='\0'; | 448 | buf[0]='\0'; |
| 447 | return(0); | 449 | return(0); |
| 448 | } | 450 | } |
| 449 | 451 | ||
| 450 | if (no_name || (nid=OBJ_obj2nid(a)) == NID_undef) { | ||
| 451 | len=a->length; | ||
| 452 | p=a->data; | ||
| 453 | 452 | ||
| 454 | idx=0; | 453 | if (!no_name && (nid=OBJ_obj2nid(a)) != NID_undef) |
| 455 | l=0; | 454 | { |
| 456 | while (idx < a->length) { | 455 | const char *s; |
| 457 | l|=(p[idx]&0x7f); | 456 | s=OBJ_nid2ln(nid); |
| 458 | if (!(p[idx] & 0x80)) break; | 457 | if (s == NULL) |
| 459 | l<<=7L; | 458 | s=OBJ_nid2sn(nid); |
| 460 | idx++; | 459 | if (buf) |
| 460 | BUF_strlcpy(buf,s,buf_len); | ||
| 461 | n=strlen(s); | ||
| 462 | return n; | ||
| 461 | } | 463 | } |
| 462 | idx++; | ||
| 463 | i=(int)(l/40); | ||
| 464 | if (i > 2) i=2; | ||
| 465 | l-=(long)(i*40); | ||
| 466 | |||
| 467 | BIO_snprintf(tbuf,sizeof tbuf,"%d.%lu",i,l); | ||
| 468 | i=strlen(tbuf); | ||
| 469 | BUF_strlcpy(buf,tbuf,buf_len); | ||
| 470 | buf_len-=i; | ||
| 471 | buf+=i; | ||
| 472 | n+=i; | ||
| 473 | 464 | ||
| 465 | |||
| 466 | len=a->length; | ||
| 467 | p=a->data; | ||
| 468 | |||
| 469 | first = 1; | ||
| 470 | bl = NULL; | ||
| 471 | |||
| 472 | while (len > 0) | ||
| 473 | { | ||
| 474 | l=0; | 474 | l=0; |
| 475 | for (; idx<len; idx++) { | 475 | use_bn = 0; |
| 476 | l|=p[idx]&0x7f; | 476 | for (;;) |
| 477 | if (!(p[idx] & 0x80)) { | 477 | { |
| 478 | BIO_snprintf(tbuf,sizeof tbuf,".%lu",l); | 478 | unsigned char c = *p++; |
| 479 | i=strlen(tbuf); | 479 | len--; |
| 480 | if ((len == 0) && (c & 0x80)) | ||
| 481 | goto err; | ||
| 482 | if (use_bn) | ||
| 483 | { | ||
| 484 | if (!BN_add_word(bl, c & 0x7f)) | ||
| 485 | goto err; | ||
| 486 | } | ||
| 487 | else | ||
| 488 | l |= c & 0x7f; | ||
| 489 | if (!(c & 0x80)) | ||
| 490 | break; | ||
| 491 | if (!use_bn && (l > (ULONG_MAX >> 7L))) | ||
| 492 | { | ||
| 493 | if (!bl && !(bl = BN_new())) | ||
| 494 | goto err; | ||
| 495 | if (!BN_set_word(bl, l)) | ||
| 496 | goto err; | ||
| 497 | use_bn = 1; | ||
| 498 | } | ||
| 499 | if (use_bn) | ||
| 500 | { | ||
| 501 | if (!BN_lshift(bl, bl, 7)) | ||
| 502 | goto err; | ||
| 503 | } | ||
| 504 | else | ||
| 505 | l<<=7L; | ||
| 506 | } | ||
| 507 | |||
| 508 | if (first) | ||
| 509 | { | ||
| 510 | first = 0; | ||
| 511 | if (l >= 80) | ||
| 512 | { | ||
| 513 | i = 2; | ||
| 514 | if (use_bn) | ||
| 515 | { | ||
| 516 | if (!BN_sub_word(bl, 80)) | ||
| 517 | goto err; | ||
| 518 | } | ||
| 519 | else | ||
| 520 | l -= 80; | ||
| 521 | } | ||
| 522 | else | ||
| 523 | { | ||
| 524 | i=(int)(l/40); | ||
| 525 | l-=(long)(i*40); | ||
| 526 | } | ||
| 527 | if (buf && (buf_len > 0)) | ||
| 528 | { | ||
| 529 | *buf++ = i + '0'; | ||
| 530 | buf_len--; | ||
| 531 | } | ||
| 532 | n++; | ||
| 533 | } | ||
| 534 | |||
| 535 | if (use_bn) | ||
| 536 | { | ||
| 537 | char *bndec; | ||
| 538 | bndec = BN_bn2dec(bl); | ||
| 539 | if (!bndec) | ||
| 540 | goto err; | ||
| 541 | i = strlen(bndec); | ||
| 542 | if (buf) | ||
| 543 | { | ||
| 480 | if (buf_len > 0) | 544 | if (buf_len > 0) |
| 481 | BUF_strlcpy(buf,tbuf,buf_len); | 545 | { |
| 482 | buf_len-=i; | 546 | *buf++ = '.'; |
| 483 | buf+=i; | 547 | buf_len--; |
| 484 | n+=i; | 548 | } |
| 485 | l=0; | 549 | BUF_strlcpy(buf,bndec,buf_len); |
| 550 | if (i > buf_len) | ||
| 551 | { | ||
| 552 | buf += buf_len; | ||
| 553 | buf_len = 0; | ||
| 554 | } | ||
| 555 | else | ||
| 556 | { | ||
| 557 | buf+=i; | ||
| 558 | buf_len-=i; | ||
| 559 | } | ||
| 560 | } | ||
| 561 | n++; | ||
| 562 | n += i; | ||
| 563 | OPENSSL_free(bndec); | ||
| 564 | } | ||
| 565 | else | ||
| 566 | { | ||
| 567 | BIO_snprintf(tbuf,sizeof tbuf,".%lu",l); | ||
| 568 | i=strlen(tbuf); | ||
| 569 | if (buf && (buf_len > 0)) | ||
| 570 | { | ||
| 571 | BUF_strlcpy(buf,tbuf,buf_len); | ||
| 572 | if (i > buf_len) | ||
| 573 | { | ||
| 574 | buf += buf_len; | ||
| 575 | buf_len = 0; | ||
| 576 | } | ||
| 577 | else | ||
| 578 | { | ||
| 579 | buf+=i; | ||
| 580 | buf_len-=i; | ||
| 581 | } | ||
| 582 | } | ||
| 583 | n+=i; | ||
| 584 | l=0; | ||
| 486 | } | 585 | } |
| 487 | l<<=7L; | ||
| 488 | } | 586 | } |
| 489 | } else { | 587 | |
| 490 | s=OBJ_nid2ln(nid); | 588 | if (bl) |
| 491 | if (s == NULL) | 589 | BN_free(bl); |
| 492 | s=OBJ_nid2sn(nid); | 590 | return n; |
| 493 | BUF_strlcpy(buf,s,buf_len); | 591 | |
| 494 | n=strlen(s); | 592 | err: |
| 495 | } | 593 | if (bl) |
| 496 | return(n); | 594 | BN_free(bl); |
| 595 | return -1; | ||
| 497 | } | 596 | } |
| 498 | 597 | ||
| 499 | int OBJ_txt2nid(const char *s) | 598 | int OBJ_txt2nid(const char *s) |
| @@ -519,7 +618,7 @@ int OBJ_ln2nid(const char *s) | |||
| 519 | adp=(ADDED_OBJ *)lh_retrieve(added,&ad); | 618 | adp=(ADDED_OBJ *)lh_retrieve(added,&ad); |
| 520 | if (adp != NULL) return (adp->obj->nid); | 619 | if (adp != NULL) return (adp->obj->nid); |
| 521 | } | 620 | } |
| 522 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)ln_objs,NUM_LN, | 621 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)ln_objs, NUM_LN, |
| 523 | sizeof(ASN1_OBJECT *),ln_cmp); | 622 | sizeof(ASN1_OBJECT *),ln_cmp); |
| 524 | if (op == NULL) return(NID_undef); | 623 | if (op == NULL) return(NID_undef); |
| 525 | return((*op)->nid); | 624 | return((*op)->nid); |
| @@ -547,8 +646,8 @@ int OBJ_sn2nid(const char *s) | |||
| 547 | static int obj_cmp(const void *ap, const void *bp) | 646 | static int obj_cmp(const void *ap, const void *bp) |
| 548 | { | 647 | { |
| 549 | int j; | 648 | int j; |
| 550 | ASN1_OBJECT *a= *(ASN1_OBJECT **)ap; | 649 | const ASN1_OBJECT *a= *(ASN1_OBJECT * const *)ap; |
| 551 | ASN1_OBJECT *b= *(ASN1_OBJECT **)bp; | 650 | const ASN1_OBJECT *b= *(ASN1_OBJECT * const *)bp; |
| 552 | 651 | ||
| 553 | j=(a->length - b->length); | 652 | j=(a->length - b->length); |
| 554 | if (j) return(j); | 653 | if (j) return(j); |
| @@ -558,8 +657,14 @@ static int obj_cmp(const void *ap, const void *bp) | |||
| 558 | const char *OBJ_bsearch(const char *key, const char *base, int num, int size, | 657 | const char *OBJ_bsearch(const char *key, const char *base, int num, int size, |
| 559 | int (*cmp)(const void *, const void *)) | 658 | int (*cmp)(const void *, const void *)) |
| 560 | { | 659 | { |
| 561 | int l,h,i,c; | 660 | return OBJ_bsearch_ex(key, base, num, size, cmp, 0); |
| 562 | const char *p; | 661 | } |
| 662 | |||
| 663 | const char *OBJ_bsearch_ex(const char *key, const char *base, int num, | ||
| 664 | int size, int (*cmp)(const void *, const void *), int flags) | ||
| 665 | { | ||
| 666 | int l,h,i=0,c=0; | ||
| 667 | const char *p = NULL; | ||
| 563 | 668 | ||
| 564 | if (num == 0) return(NULL); | 669 | if (num == 0) return(NULL); |
| 565 | l=0; | 670 | l=0; |
| @@ -574,20 +679,33 @@ const char *OBJ_bsearch(const char *key, const char *base, int num, int size, | |||
| 574 | else if (c > 0) | 679 | else if (c > 0) |
| 575 | l=i+1; | 680 | l=i+1; |
| 576 | else | 681 | else |
| 577 | return(p); | 682 | break; |
| 578 | } | 683 | } |
| 579 | #ifdef CHARSET_EBCDIC | 684 | #ifdef CHARSET_EBCDIC |
| 580 | /* THIS IS A KLUDGE - Because the *_obj is sorted in ASCII order, and | 685 | /* THIS IS A KLUDGE - Because the *_obj is sorted in ASCII order, and |
| 581 | * I don't have perl (yet), we revert to a *LINEAR* search | 686 | * I don't have perl (yet), we revert to a *LINEAR* search |
| 582 | * when the object wasn't found in the binary search. | 687 | * when the object wasn't found in the binary search. |
| 583 | */ | 688 | */ |
| 584 | for (i=0; i<num; ++i) { | 689 | if (c != 0) |
| 585 | p= &(base[i*size]); | 690 | { |
| 586 | if ((*cmp)(key,p) == 0) | 691 | for (i=0; i<num; ++i) |
| 587 | return p; | 692 | { |
| 588 | } | 693 | p= &(base[i*size]); |
| 694 | c = (*cmp)(key,p); | ||
| 695 | if (c == 0 || (c < 0 && (flags & OBJ_BSEARCH_VALUE_ON_NOMATCH))) | ||
| 696 | return p; | ||
| 697 | } | ||
| 698 | } | ||
| 589 | #endif | 699 | #endif |
| 590 | return(NULL); | 700 | if (c != 0 && !(flags & OBJ_BSEARCH_VALUE_ON_NOMATCH)) |
| 701 | p = NULL; | ||
| 702 | else if (c == 0 && (flags & OBJ_BSEARCH_FIRST_VALUE_ON_MATCH)) | ||
| 703 | { | ||
| 704 | while(i > 0 && (*cmp)(key,&(base[(i-1)*size])) == 0) | ||
| 705 | i--; | ||
| 706 | p = &(base[i*size]); | ||
| 707 | } | ||
| 708 | return(p); | ||
| 591 | } | 709 | } |
| 592 | 710 | ||
| 593 | int OBJ_create_objects(BIO *in) | 711 | int OBJ_create_objects(BIO *in) |
diff --git a/src/lib/libcrypto/objects/obj_dat.pl b/src/lib/libcrypto/objects/obj_dat.pl index d0371661f9..8a09a46ee6 100644 --- a/src/lib/libcrypto/objects/obj_dat.pl +++ b/src/lib/libcrypto/objects/obj_dat.pl | |||
| @@ -94,7 +94,7 @@ for ($i=0; $i<$n; $i++) | |||
| 94 | { | 94 | { |
| 95 | if (!defined($nid{$i})) | 95 | if (!defined($nid{$i})) |
| 96 | { | 96 | { |
| 97 | push(@out,"{NULL,NULL,NID_undef,0,NULL},\n"); | 97 | push(@out,"{NULL,NULL,NID_undef,0,NULL,0},\n"); |
| 98 | } | 98 | } |
| 99 | else | 99 | else |
| 100 | { | 100 | { |
| @@ -138,7 +138,7 @@ for ($i=0; $i<$n; $i++) | |||
| 138 | } | 138 | } |
| 139 | else | 139 | else |
| 140 | { | 140 | { |
| 141 | $out.="0,NULL"; | 141 | $out.="0,NULL,0"; |
| 142 | } | 142 | } |
| 143 | $out.="},\n"; | 143 | $out.="},\n"; |
| 144 | push(@out,$out); | 144 | push(@out,$out); |
diff --git a/src/lib/libcrypto/objects/obj_err.c b/src/lib/libcrypto/objects/obj_err.c index 0682979b38..12b48850c6 100644 --- a/src/lib/libcrypto/objects/obj_err.c +++ b/src/lib/libcrypto/objects/obj_err.c | |||
| @@ -91,15 +91,12 @@ static ERR_STRING_DATA OBJ_str_reasons[]= | |||
| 91 | 91 | ||
| 92 | void ERR_load_OBJ_strings(void) | 92 | void ERR_load_OBJ_strings(void) |
| 93 | { | 93 | { |
| 94 | static int init=1; | 94 | #ifndef OPENSSL_NO_ERR |
| 95 | 95 | ||
| 96 | if (init) | 96 | if (ERR_func_error_string(OBJ_str_functs[0].error) == NULL) |
| 97 | { | 97 | { |
| 98 | init=0; | ||
| 99 | #ifndef OPENSSL_NO_ERR | ||
| 100 | ERR_load_strings(0,OBJ_str_functs); | 98 | ERR_load_strings(0,OBJ_str_functs); |
| 101 | ERR_load_strings(0,OBJ_str_reasons); | 99 | ERR_load_strings(0,OBJ_str_reasons); |
| 102 | #endif | ||
| 103 | |||
| 104 | } | 100 | } |
| 101 | #endif | ||
| 105 | } | 102 | } |
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c index b0b0f2ff24..706fa0b0e7 100644 --- a/src/lib/libcrypto/objects/obj_lib.c +++ b/src/lib/libcrypto/objects/obj_lib.c | |||
| @@ -82,7 +82,8 @@ ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o) | |||
| 82 | r->data=OPENSSL_malloc(o->length); | 82 | r->data=OPENSSL_malloc(o->length); |
| 83 | if (r->data == NULL) | 83 | if (r->data == NULL) |
| 84 | goto err; | 84 | goto err; |
| 85 | memcpy(r->data,o->data,o->length); | 85 | if (o->data != NULL) |
| 86 | memcpy(r->data,o->data,o->length); | ||
| 86 | r->length=o->length; | 87 | r->length=o->length; |
| 87 | r->nid=o->nid; | 88 | r->nid=o->nid; |
| 88 | r->ln=r->sn=NULL; | 89 | r->ln=r->sn=NULL; |
diff --git a/src/lib/libcrypto/objects/obj_mac.num b/src/lib/libcrypto/objects/obj_mac.num index 84555d936e..47815b1e4e 100644 --- a/src/lib/libcrypto/objects/obj_mac.num +++ b/src/lib/libcrypto/objects/obj_mac.num | |||
| @@ -673,3 +673,118 @@ sha256 672 | |||
| 673 | sha384 673 | 673 | sha384 673 |
| 674 | sha512 674 | 674 | sha512 674 |
| 675 | sha224 675 | 675 | sha224 675 |
| 676 | identified_organization 676 | ||
| 677 | certicom_arc 677 | ||
| 678 | wap 678 | ||
| 679 | wap_wsg 679 | ||
| 680 | X9_62_id_characteristic_two_basis 680 | ||
| 681 | X9_62_onBasis 681 | ||
| 682 | X9_62_tpBasis 682 | ||
| 683 | X9_62_ppBasis 683 | ||
| 684 | X9_62_c2pnb163v1 684 | ||
| 685 | X9_62_c2pnb163v2 685 | ||
| 686 | X9_62_c2pnb163v3 686 | ||
| 687 | X9_62_c2pnb176v1 687 | ||
| 688 | X9_62_c2tnb191v1 688 | ||
| 689 | X9_62_c2tnb191v2 689 | ||
| 690 | X9_62_c2tnb191v3 690 | ||
| 691 | X9_62_c2onb191v4 691 | ||
| 692 | X9_62_c2onb191v5 692 | ||
| 693 | X9_62_c2pnb208w1 693 | ||
| 694 | X9_62_c2tnb239v1 694 | ||
| 695 | X9_62_c2tnb239v2 695 | ||
| 696 | X9_62_c2tnb239v3 696 | ||
| 697 | X9_62_c2onb239v4 697 | ||
| 698 | X9_62_c2onb239v5 698 | ||
| 699 | X9_62_c2pnb272w1 699 | ||
| 700 | X9_62_c2pnb304w1 700 | ||
| 701 | X9_62_c2tnb359v1 701 | ||
| 702 | X9_62_c2pnb368w1 702 | ||
| 703 | X9_62_c2tnb431r1 703 | ||
| 704 | secp112r1 704 | ||
| 705 | secp112r2 705 | ||
| 706 | secp128r1 706 | ||
| 707 | secp128r2 707 | ||
| 708 | secp160k1 708 | ||
| 709 | secp160r1 709 | ||
| 710 | secp160r2 710 | ||
| 711 | secp192k1 711 | ||
| 712 | secp224k1 712 | ||
| 713 | secp224r1 713 | ||
| 714 | secp256k1 714 | ||
| 715 | secp384r1 715 | ||
| 716 | secp521r1 716 | ||
| 717 | sect113r1 717 | ||
| 718 | sect113r2 718 | ||
| 719 | sect131r1 719 | ||
| 720 | sect131r2 720 | ||
| 721 | sect163k1 721 | ||
| 722 | sect163r1 722 | ||
| 723 | sect163r2 723 | ||
| 724 | sect193r1 724 | ||
| 725 | sect193r2 725 | ||
| 726 | sect233k1 726 | ||
| 727 | sect233r1 727 | ||
| 728 | sect239k1 728 | ||
| 729 | sect283k1 729 | ||
| 730 | sect283r1 730 | ||
| 731 | sect409k1 731 | ||
| 732 | sect409r1 732 | ||
| 733 | sect571k1 733 | ||
| 734 | sect571r1 734 | ||
| 735 | wap_wsg_idm_ecid_wtls1 735 | ||
| 736 | wap_wsg_idm_ecid_wtls3 736 | ||
| 737 | wap_wsg_idm_ecid_wtls4 737 | ||
| 738 | wap_wsg_idm_ecid_wtls5 738 | ||
| 739 | wap_wsg_idm_ecid_wtls6 739 | ||
| 740 | wap_wsg_idm_ecid_wtls7 740 | ||
| 741 | wap_wsg_idm_ecid_wtls8 741 | ||
| 742 | wap_wsg_idm_ecid_wtls9 742 | ||
| 743 | wap_wsg_idm_ecid_wtls10 743 | ||
| 744 | wap_wsg_idm_ecid_wtls11 744 | ||
| 745 | wap_wsg_idm_ecid_wtls12 745 | ||
| 746 | any_policy 746 | ||
| 747 | policy_mappings 747 | ||
| 748 | inhibit_any_policy 748 | ||
| 749 | ipsec3 749 | ||
| 750 | ipsec4 750 | ||
| 751 | camellia_128_cbc 751 | ||
| 752 | camellia_192_cbc 752 | ||
| 753 | camellia_256_cbc 753 | ||
| 754 | camellia_128_ecb 754 | ||
| 755 | camellia_192_ecb 755 | ||
| 756 | camellia_256_ecb 756 | ||
| 757 | camellia_128_cfb128 757 | ||
| 758 | camellia_192_cfb128 758 | ||
| 759 | camellia_256_cfb128 759 | ||
| 760 | camellia_128_cfb1 760 | ||
| 761 | camellia_192_cfb1 761 | ||
| 762 | camellia_256_cfb1 762 | ||
| 763 | camellia_128_cfb8 763 | ||
| 764 | camellia_192_cfb8 764 | ||
| 765 | camellia_256_cfb8 765 | ||
| 766 | camellia_128_ofb128 766 | ||
| 767 | camellia_192_ofb128 767 | ||
| 768 | camellia_256_ofb128 768 | ||
| 769 | subject_directory_attributes 769 | ||
| 770 | issuing_distribution_point 770 | ||
| 771 | certificate_issuer 771 | ||
| 772 | korea 772 | ||
| 773 | kisa 773 | ||
| 774 | kftc 774 | ||
| 775 | npki_alg 775 | ||
| 776 | seed_ecb 776 | ||
| 777 | seed_cbc 777 | ||
| 778 | seed_ofb128 778 | ||
| 779 | seed_cfb128 779 | ||
| 780 | hmac_md5 780 | ||
| 781 | hmac_sha1 781 | ||
| 782 | id_PasswordBasedMAC 782 | ||
| 783 | id_DHBasedMac 783 | ||
| 784 | id_it_suppLangTags 784 | ||
| 785 | caRepository 785 | ||
| 786 | id_smime_ct_compressedData 786 | ||
| 787 | id_ct_asciiTextWithCRLF 787 | ||
| 788 | id_aes128_wrap 788 | ||
| 789 | id_aes192_wrap 789 | ||
| 790 | id_aes256_wrap 790 | ||
diff --git a/src/lib/libcrypto/objects/objects.h b/src/lib/libcrypto/objects/objects.h index f859d859b8..7242f76fb0 100644 --- a/src/lib/libcrypto/objects/objects.h +++ b/src/lib/libcrypto/objects/objects.h | |||
| @@ -966,7 +966,10 @@ | |||
| 966 | #define OBJ_NAME_TYPE_COMP_METH 0x04 | 966 | #define OBJ_NAME_TYPE_COMP_METH 0x04 |
| 967 | #define OBJ_NAME_TYPE_NUM 0x05 | 967 | #define OBJ_NAME_TYPE_NUM 0x05 |
| 968 | 968 | ||
| 969 | #define OBJ_NAME_ALIAS 0x8000 | 969 | #define OBJ_NAME_ALIAS 0x8000 |
| 970 | |||
| 971 | #define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 | ||
| 972 | #define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 | ||
| 970 | 973 | ||
| 971 | 974 | ||
| 972 | #ifdef __cplusplus | 975 | #ifdef __cplusplus |
| @@ -1010,6 +1013,8 @@ int OBJ_sn2nid(const char *s); | |||
| 1010 | int OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b); | 1013 | int OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b); |
| 1011 | const char * OBJ_bsearch(const char *key,const char *base,int num,int size, | 1014 | const char * OBJ_bsearch(const char *key,const char *base,int num,int size, |
| 1012 | int (*cmp)(const void *, const void *)); | 1015 | int (*cmp)(const void *, const void *)); |
| 1016 | const char * OBJ_bsearch_ex(const char *key,const char *base,int num, | ||
| 1017 | int size, int (*cmp)(const void *, const void *), int flags); | ||
| 1013 | 1018 | ||
| 1014 | int OBJ_new_nid(int num); | 1019 | int OBJ_new_nid(int num); |
| 1015 | int OBJ_add_object(const ASN1_OBJECT *obj); | 1020 | int OBJ_add_object(const ASN1_OBJECT *obj); |
diff --git a/src/lib/libcrypto/objects/objects.txt b/src/lib/libcrypto/objects/objects.txt index 2635c4e667..34c8d1d647 100644 --- a/src/lib/libcrypto/objects/objects.txt +++ b/src/lib/libcrypto/objects/objects.txt | |||
| @@ -1,12 +1,28 @@ | |||
| 1 | 0 : CCITT : ccitt | 1 | # CCITT was renamed to ITU-T quite some time ago |
| 2 | 0 : ITU-T : itu-t | ||
| 3 | !Alias ccitt itu-t | ||
| 2 | 4 | ||
| 3 | 1 : ISO : iso | 5 | 1 : ISO : iso |
| 4 | 6 | ||
| 5 | 2 : JOINT-ISO-CCITT : joint-iso-ccitt | 7 | 2 : JOINT-ISO-ITU-T : joint-iso-itu-t |
| 8 | !Alias joint-iso-ccitt joint-iso-itu-t | ||
| 6 | 9 | ||
| 7 | iso 2 : member-body : ISO Member Body | 10 | iso 2 : member-body : ISO Member Body |
| 8 | 11 | ||
| 9 | joint-iso-ccitt 5 1 5 : selected-attribute-types : Selected Attribute Types | 12 | iso 3 : identified-organization |
| 13 | |||
| 14 | # HMAC OIDs | ||
| 15 | identified-organization 6 1 5 5 8 1 1 : HMAC-MD5 : hmac-md5 | ||
| 16 | identified-organization 6 1 5 5 8 1 2 : HMAC-SHA1 : hmac-sha1 | ||
| 17 | |||
| 18 | identified-organization 132 : certicom-arc | ||
| 19 | |||
| 20 | joint-iso-itu-t 23 : international-organizations : International Organizations | ||
| 21 | |||
| 22 | international-organizations 43 : wap | ||
| 23 | wap 13 : wap-wsg | ||
| 24 | |||
| 25 | joint-iso-itu-t 5 1 5 : selected-attribute-types : Selected Attribute Types | ||
| 10 | 26 | ||
| 11 | selected-attribute-types 55 : clearance | 27 | selected-attribute-types 55 : clearance |
| 12 | 28 | ||
| @@ -24,12 +40,34 @@ ISO-US 10045 : ansi-X9-62 : ANSI X9.62 | |||
| 24 | !Alias id-fieldType ansi-X9-62 1 | 40 | !Alias id-fieldType ansi-X9-62 1 |
| 25 | X9-62_id-fieldType 1 : prime-field | 41 | X9-62_id-fieldType 1 : prime-field |
| 26 | X9-62_id-fieldType 2 : characteristic-two-field | 42 | X9-62_id-fieldType 2 : characteristic-two-field |
| 27 | # ... characteristic-two-field OID subtree | 43 | X9-62_characteristic-two-field 3 : id-characteristic-two-basis |
| 44 | X9-62_id-characteristic-two-basis 1 : onBasis | ||
| 45 | X9-62_id-characteristic-two-basis 2 : tpBasis | ||
| 46 | X9-62_id-characteristic-two-basis 3 : ppBasis | ||
| 28 | !Alias id-publicKeyType ansi-X9-62 2 | 47 | !Alias id-publicKeyType ansi-X9-62 2 |
| 29 | X9-62_id-publicKeyType 1 : id-ecPublicKey | 48 | X9-62_id-publicKeyType 1 : id-ecPublicKey |
| 30 | !Alias ellipticCurve ansi-X9-62 3 | 49 | !Alias ellipticCurve ansi-X9-62 3 |
| 31 | !Alias c-TwoCurve X9-62_ellipticCurve 0 | 50 | !Alias c-TwoCurve X9-62_ellipticCurve 0 |
| 32 | # ... characteristic 2 curve OIDs | 51 | X9-62_c-TwoCurve 1 : c2pnb163v1 |
| 52 | X9-62_c-TwoCurve 2 : c2pnb163v2 | ||
| 53 | X9-62_c-TwoCurve 3 : c2pnb163v3 | ||
| 54 | X9-62_c-TwoCurve 4 : c2pnb176v1 | ||
| 55 | X9-62_c-TwoCurve 5 : c2tnb191v1 | ||
| 56 | X9-62_c-TwoCurve 6 : c2tnb191v2 | ||
| 57 | X9-62_c-TwoCurve 7 : c2tnb191v3 | ||
| 58 | X9-62_c-TwoCurve 8 : c2onb191v4 | ||
| 59 | X9-62_c-TwoCurve 9 : c2onb191v5 | ||
| 60 | X9-62_c-TwoCurve 10 : c2pnb208w1 | ||
| 61 | X9-62_c-TwoCurve 11 : c2tnb239v1 | ||
| 62 | X9-62_c-TwoCurve 12 : c2tnb239v2 | ||
| 63 | X9-62_c-TwoCurve 13 : c2tnb239v3 | ||
| 64 | X9-62_c-TwoCurve 14 : c2onb239v4 | ||
| 65 | X9-62_c-TwoCurve 15 : c2onb239v5 | ||
| 66 | X9-62_c-TwoCurve 16 : c2pnb272w1 | ||
| 67 | X9-62_c-TwoCurve 17 : c2pnb304w1 | ||
| 68 | X9-62_c-TwoCurve 18 : c2tnb359v1 | ||
| 69 | X9-62_c-TwoCurve 19 : c2pnb368w1 | ||
| 70 | X9-62_c-TwoCurve 20 : c2tnb431r1 | ||
| 33 | !Alias primeCurve X9-62_ellipticCurve 1 | 71 | !Alias primeCurve X9-62_ellipticCurve 1 |
| 34 | X9-62_primeCurve 1 : prime192v1 | 72 | X9-62_primeCurve 1 : prime192v1 |
| 35 | X9-62_primeCurve 2 : prime192v2 | 73 | X9-62_primeCurve 2 : prime192v2 |
| @@ -42,6 +80,60 @@ X9-62_primeCurve 7 : prime256v1 | |||
| 42 | !global | 80 | !global |
| 43 | X9-62_id-ecSigType 1 : ecdsa-with-SHA1 | 81 | X9-62_id-ecSigType 1 : ecdsa-with-SHA1 |
| 44 | 82 | ||
| 83 | # SECG curve OIDs from "SEC 2: Recommended Elliptic Curve Domain Parameters" | ||
| 84 | # (http://www.secg.org/) | ||
| 85 | !Alias secg_ellipticCurve certicom-arc 0 | ||
| 86 | # SECG prime curves OIDs | ||
| 87 | secg-ellipticCurve 6 : secp112r1 | ||
| 88 | secg-ellipticCurve 7 : secp112r2 | ||
| 89 | secg-ellipticCurve 28 : secp128r1 | ||
| 90 | secg-ellipticCurve 29 : secp128r2 | ||
| 91 | secg-ellipticCurve 9 : secp160k1 | ||
| 92 | secg-ellipticCurve 8 : secp160r1 | ||
| 93 | secg-ellipticCurve 30 : secp160r2 | ||
| 94 | secg-ellipticCurve 31 : secp192k1 | ||
| 95 | # NOTE: the curve secp192r1 is the same as prime192v1 defined above | ||
| 96 | # and is therefore omitted | ||
| 97 | secg-ellipticCurve 32 : secp224k1 | ||
| 98 | secg-ellipticCurve 33 : secp224r1 | ||
| 99 | secg-ellipticCurve 10 : secp256k1 | ||
| 100 | # NOTE: the curve secp256r1 is the same as prime256v1 defined above | ||
| 101 | # and is therefore omitted | ||
| 102 | secg-ellipticCurve 34 : secp384r1 | ||
| 103 | secg-ellipticCurve 35 : secp521r1 | ||
| 104 | # SECG characteristic two curves OIDs | ||
| 105 | secg-ellipticCurve 4 : sect113r1 | ||
| 106 | secg-ellipticCurve 5 : sect113r2 | ||
| 107 | secg-ellipticCurve 22 : sect131r1 | ||
| 108 | secg-ellipticCurve 23 : sect131r2 | ||
| 109 | secg-ellipticCurve 1 : sect163k1 | ||
| 110 | secg-ellipticCurve 2 : sect163r1 | ||
| 111 | secg-ellipticCurve 15 : sect163r2 | ||
| 112 | secg-ellipticCurve 24 : sect193r1 | ||
| 113 | secg-ellipticCurve 25 : sect193r2 | ||
| 114 | secg-ellipticCurve 26 : sect233k1 | ||
| 115 | secg-ellipticCurve 27 : sect233r1 | ||
| 116 | secg-ellipticCurve 3 : sect239k1 | ||
| 117 | secg-ellipticCurve 16 : sect283k1 | ||
| 118 | secg-ellipticCurve 17 : sect283r1 | ||
| 119 | secg-ellipticCurve 36 : sect409k1 | ||
| 120 | secg-ellipticCurve 37 : sect409r1 | ||
| 121 | secg-ellipticCurve 38 : sect571k1 | ||
| 122 | secg-ellipticCurve 39 : sect571r1 | ||
| 123 | |||
| 124 | # WAP/TLS curve OIDs (http://www.wapforum.org/) | ||
| 125 | !Alias wap-wsg-idm-ecid wap-wsg 4 | ||
| 126 | wap-wsg-idm-ecid 1 : wap-wsg-idm-ecid-wtls1 | ||
| 127 | wap-wsg-idm-ecid 3 : wap-wsg-idm-ecid-wtls3 | ||
| 128 | wap-wsg-idm-ecid 4 : wap-wsg-idm-ecid-wtls4 | ||
| 129 | wap-wsg-idm-ecid 5 : wap-wsg-idm-ecid-wtls5 | ||
| 130 | wap-wsg-idm-ecid 6 : wap-wsg-idm-ecid-wtls6 | ||
| 131 | wap-wsg-idm-ecid 7 : wap-wsg-idm-ecid-wtls7 | ||
| 132 | wap-wsg-idm-ecid 8 : wap-wsg-idm-ecid-wtls8 | ||
| 133 | wap-wsg-idm-ecid 9 : wap-wsg-idm-ecid-wtls9 | ||
| 134 | wap-wsg-idm-ecid 10 : wap-wsg-idm-ecid-wtls10 | ||
| 135 | wap-wsg-idm-ecid 11 : wap-wsg-idm-ecid-wtls11 | ||
| 136 | wap-wsg-idm-ecid 12 : wap-wsg-idm-ecid-wtls12 | ||
| 45 | 137 | ||
| 46 | 138 | ||
| 47 | ISO-US 113533 7 66 10 : CAST5-CBC : cast5-cbc | 139 | ISO-US 113533 7 66 10 : CAST5-CBC : cast5-cbc |
| @@ -53,6 +145,10 @@ ISO-US 113533 7 66 10 : CAST5-CBC : cast5-cbc | |||
| 53 | !Cname pbeWithMD5AndCast5-CBC | 145 | !Cname pbeWithMD5AndCast5-CBC |
| 54 | ISO-US 113533 7 66 12 : : pbeWithMD5AndCast5CBC | 146 | ISO-US 113533 7 66 12 : : pbeWithMD5AndCast5CBC |
| 55 | 147 | ||
| 148 | # Macs for CMP and CRMF | ||
| 149 | ISO-US 113533 7 66 13 : id-PasswordBasedMAC : password based MAC | ||
| 150 | ISO-US 113533 7 66 30 : id-DHBasedMac : Diffie-Hellman based MAC | ||
| 151 | |||
| 56 | ISO-US 113549 : rsadsi : RSA Data Security, Inc. | 152 | ISO-US 113549 : rsadsi : RSA Data Security, Inc. |
| 57 | 153 | ||
| 58 | rsadsi 1 : pkcs : RSA Data Security, Inc. PKCS | 154 | rsadsi 1 : pkcs : RSA Data Security, Inc. PKCS |
| @@ -149,6 +245,8 @@ id-smime-ct 5 : id-smime-ct-TDTInfo | |||
| 149 | id-smime-ct 6 : id-smime-ct-contentInfo | 245 | id-smime-ct 6 : id-smime-ct-contentInfo |
| 150 | id-smime-ct 7 : id-smime-ct-DVCSRequestData | 246 | id-smime-ct 7 : id-smime-ct-DVCSRequestData |
| 151 | id-smime-ct 8 : id-smime-ct-DVCSResponseData | 247 | id-smime-ct 8 : id-smime-ct-DVCSResponseData |
| 248 | id-smime-ct 9 : id-smime-ct-compressedData | ||
| 249 | id-smime-ct 27 : id-ct-asciiTextWithCRLF | ||
| 152 | 250 | ||
| 153 | # S/MIME Attributes | 251 | # S/MIME Attributes |
| 154 | id-smime-aa 1 : id-smime-aa-receiptRequest | 252 | id-smime-aa 1 : id-smime-aa-receiptRequest |
| @@ -396,6 +494,7 @@ id-it 12 : id-it-revPassphrase | |||
| 396 | id-it 13 : id-it-implicitConfirm | 494 | id-it 13 : id-it-implicitConfirm |
| 397 | id-it 14 : id-it-confirmWaitTime | 495 | id-it 14 : id-it-confirmWaitTime |
| 398 | id-it 15 : id-it-origPKIMessage | 496 | id-it 15 : id-it-origPKIMessage |
| 497 | id-it 16 : id-it-suppLangTags | ||
| 399 | 498 | ||
| 400 | # CRMF registration | 499 | # CRMF registration |
| 401 | id-pkip 1 : id-regCtrl | 500 | id-pkip 1 : id-regCtrl |
| @@ -482,6 +581,7 @@ id-ad 2 : caIssuers : CA Issuers | |||
| 482 | id-ad 3 : ad_timestamping : AD Time Stamping | 581 | id-ad 3 : ad_timestamping : AD Time Stamping |
| 483 | !Cname ad-dvcs | 582 | !Cname ad-dvcs |
| 484 | id-ad 4 : AD_DVCS : ad dvcs | 583 | id-ad 4 : AD_DVCS : ad dvcs |
| 584 | id-ad 5 : caRepository : CA Repository | ||
| 485 | 585 | ||
| 486 | 586 | ||
| 487 | !Alias id-pkix-OCSP ad-OCSP | 587 | !Alias id-pkix-OCSP ad-OCSP |
| @@ -569,6 +669,8 @@ X500algorithms 3 100 : RSA-MDC2 : mdc2WithRSA | |||
| 569 | X500algorithms 3 101 : MDC2 : mdc2 | 669 | X500algorithms 3 101 : MDC2 : mdc2 |
| 570 | 670 | ||
| 571 | X500 29 : id-ce | 671 | X500 29 : id-ce |
| 672 | !Cname subject-directory-attributes | ||
| 673 | id-ce 9 : subjectDirectoryAttributes : X509v3 Subject Directory Attributes | ||
| 572 | !Cname subject-key-identifier | 674 | !Cname subject-key-identifier |
| 573 | id-ce 14 : subjectKeyIdentifier : X509v3 Subject Key Identifier | 675 | id-ce 14 : subjectKeyIdentifier : X509v3 Subject Key Identifier |
| 574 | !Cname key-usage | 676 | !Cname key-usage |
| @@ -589,18 +691,28 @@ id-ce 21 : CRLReason : X509v3 CRL Reason Code | |||
| 589 | id-ce 24 : invalidityDate : Invalidity Date | 691 | id-ce 24 : invalidityDate : Invalidity Date |
| 590 | !Cname delta-crl | 692 | !Cname delta-crl |
| 591 | id-ce 27 : deltaCRL : X509v3 Delta CRL Indicator | 693 | id-ce 27 : deltaCRL : X509v3 Delta CRL Indicator |
| 694 | !Cname issuing-distribution-point | ||
| 695 | id-ce 28 : issuingDistributionPoint : X509v3 Issuing Distrubution Point | ||
| 696 | !Cname certificate-issuer | ||
| 697 | id-ce 29 : certificateIssuer : X509v3 Certificate Issuer | ||
| 592 | !Cname name-constraints | 698 | !Cname name-constraints |
| 593 | id-ce 30 : nameConstraints : X509v3 Name Constraints | 699 | id-ce 30 : nameConstraints : X509v3 Name Constraints |
| 594 | !Cname crl-distribution-points | 700 | !Cname crl-distribution-points |
| 595 | id-ce 31 : crlDistributionPoints : X509v3 CRL Distribution Points | 701 | id-ce 31 : crlDistributionPoints : X509v3 CRL Distribution Points |
| 596 | !Cname certificate-policies | 702 | !Cname certificate-policies |
| 597 | id-ce 32 : certificatePolicies : X509v3 Certificate Policies | 703 | id-ce 32 : certificatePolicies : X509v3 Certificate Policies |
| 704 | !Cname any-policy | ||
| 705 | certificate-policies 0 : anyPolicy : X509v3 Any Policy | ||
| 706 | !Cname policy-mappings | ||
| 707 | id-ce 33 : policyMappings : X509v3 Policy Mappings | ||
| 598 | !Cname authority-key-identifier | 708 | !Cname authority-key-identifier |
| 599 | id-ce 35 : authorityKeyIdentifier : X509v3 Authority Key Identifier | 709 | id-ce 35 : authorityKeyIdentifier : X509v3 Authority Key Identifier |
| 600 | !Cname policy-constraints | 710 | !Cname policy-constraints |
| 601 | id-ce 36 : policyConstraints : X509v3 Policy Constraints | 711 | id-ce 36 : policyConstraints : X509v3 Policy Constraints |
| 602 | !Cname ext-key-usage | 712 | !Cname ext-key-usage |
| 603 | id-ce 37 : extendedKeyUsage : X509v3 Extended Key Usage | 713 | id-ce 37 : extendedKeyUsage : X509v3 Extended Key Usage |
| 714 | !Cname inhibit-any-policy | ||
| 715 | id-ce 54 : inhibitAnyPolicy : X509v3 Inhibit Any Policy | ||
| 604 | !Cname target-information | 716 | !Cname target-information |
| 605 | id-ce 55 : targetInformation : X509v3 AC Targeting | 717 | id-ce 55 : targetInformation : X509v3 AC Targeting |
| 606 | !Cname no-rev-avail | 718 | !Cname no-rev-avail |
| @@ -668,7 +780,7 @@ mime-mhs-headings 2 : id-hex-multipart-message : id-hex-multipart-message | |||
| 668 | !Cname rle-compression | 780 | !Cname rle-compression |
| 669 | 1 1 1 1 666 1 : RLE : run length compression | 781 | 1 1 1 1 666 1 : RLE : run length compression |
| 670 | !Cname zlib-compression | 782 | !Cname zlib-compression |
| 671 | 1 1 1 1 666 2 : ZLIB : zlib compression | 783 | id-smime-alg 8 : ZLIB : zlib compression |
| 672 | 784 | ||
| 673 | # AES aka Rijndael | 785 | # AES aka Rijndael |
| 674 | 786 | ||
| @@ -710,6 +822,10 @@ aes 44 : AES-256-CFB : aes-256-cfb | |||
| 710 | : DES-EDE3-CFB1 : des-ede3-cfb1 | 822 | : DES-EDE3-CFB1 : des-ede3-cfb1 |
| 711 | : DES-EDE3-CFB8 : des-ede3-cfb8 | 823 | : DES-EDE3-CFB8 : des-ede3-cfb8 |
| 712 | 824 | ||
| 825 | aes 5 : id-aes128-wrap | ||
| 826 | aes 25 : id-aes192-wrap | ||
| 827 | aes 45 : id-aes256-wrap | ||
| 828 | |||
| 713 | # OIDs for SHA224, SHA256, SHA385 and SHA512, according to x9.84. | 829 | # OIDs for SHA224, SHA256, SHA385 and SHA512, according to x9.84. |
| 714 | !Alias nist_hashalgs nistAlgorithms 2 | 830 | !Alias nist_hashalgs nistAlgorithms 2 |
| 715 | nist_hashalgs 1 : SHA256 : sha256 | 831 | nist_hashalgs 1 : SHA256 : sha256 |
| @@ -728,9 +844,9 @@ holdInstruction 2 : holdInstructionCallIssuer : Hold Instruction Call Issuer | |||
| 728 | !Cname hold-instruction-reject | 844 | !Cname hold-instruction-reject |
| 729 | holdInstruction 3 : holdInstructionReject : Hold Instruction Reject | 845 | holdInstruction 3 : holdInstructionReject : Hold Instruction Reject |
| 730 | 846 | ||
| 731 | # OID's from CCITT. Most of this is defined in RFC 1274. A couple of | 847 | # OID's from ITU-T. Most of this is defined in RFC 1274. A couple of |
| 732 | # them are also mentioned in RFC 2247 | 848 | # them are also mentioned in RFC 2247 |
| 733 | ccitt 9 : data | 849 | itu-t 9 : data |
| 734 | data 2342 : pss | 850 | data 2342 : pss |
| 735 | pss 19200300 : ucl | 851 | pss 19200300 : ucl |
| 736 | ucl 100 : pilot | 852 | ucl 100 : pilot |
| @@ -804,7 +920,7 @@ pilotAttributeType 54 : : dITRedirect | |||
| 804 | pilotAttributeType 55 : audio | 920 | pilotAttributeType 55 : audio |
| 805 | pilotAttributeType 56 : : documentPublisher | 921 | pilotAttributeType 56 : : documentPublisher |
| 806 | 922 | ||
| 807 | 2 23 42 : id-set : Secure Electronic Transactions | 923 | international-organizations 42 : id-set : Secure Electronic Transactions |
| 808 | 924 | ||
| 809 | id-set 0 : set-ctype : content types | 925 | id-set 0 : set-ctype : content types |
| 810 | id-set 1 : set-msgExt : message extensions | 926 | id-set 1 : set-msgExt : message extensions |
| @@ -950,3 +1066,54 @@ set-brand 6011 : set-brand-Novus | |||
| 950 | 1066 | ||
| 951 | rsadsi 3 10 : DES-CDMF : des-cdmf | 1067 | rsadsi 3 10 : DES-CDMF : des-cdmf |
| 952 | rsadsi 1 1 6 : rsaOAEPEncryptionSET | 1068 | rsadsi 1 1 6 : rsaOAEPEncryptionSET |
| 1069 | |||
| 1070 | : Oakley-EC2N-3 : ipsec3 | ||
| 1071 | : Oakley-EC2N-4 : ipsec4 | ||
| 1072 | |||
| 1073 | |||
| 1074 | # Definitions for Camellia cipher - CBC MODE | ||
| 1075 | 1 2 392 200011 61 1 1 1 2 : CAMELLIA-128-CBC : camellia-128-cbc | ||
| 1076 | 1 2 392 200011 61 1 1 1 3 : CAMELLIA-192-CBC : camellia-192-cbc | ||
| 1077 | 1 2 392 200011 61 1 1 1 4 : CAMELLIA-256-CBC : camellia-256-cbc | ||
| 1078 | |||
| 1079 | # Definitions for Camellia cipher - ECB, CFB, OFB MODE | ||
| 1080 | !Alias ntt-ds 0 3 4401 5 | ||
| 1081 | !Alias camellia ntt-ds 3 1 9 | ||
| 1082 | |||
| 1083 | camellia 1 : CAMELLIA-128-ECB : camellia-128-ecb | ||
| 1084 | !Cname camellia-128-ofb128 | ||
| 1085 | camellia 3 : CAMELLIA-128-OFB : camellia-128-ofb | ||
| 1086 | !Cname camellia-128-cfb128 | ||
| 1087 | camellia 4 : CAMELLIA-128-CFB : camellia-128-cfb | ||
| 1088 | |||
| 1089 | camellia 21 : CAMELLIA-192-ECB : camellia-192-ecb | ||
| 1090 | !Cname camellia-192-ofb128 | ||
| 1091 | camellia 23 : CAMELLIA-192-OFB : camellia-192-ofb | ||
| 1092 | !Cname camellia-192-cfb128 | ||
| 1093 | camellia 24 : CAMELLIA-192-CFB : camellia-192-cfb | ||
| 1094 | |||
| 1095 | camellia 41 : CAMELLIA-256-ECB : camellia-256-ecb | ||
| 1096 | !Cname camellia-256-ofb128 | ||
| 1097 | camellia 43 : CAMELLIA-256-OFB : camellia-256-ofb | ||
| 1098 | !Cname camellia-256-cfb128 | ||
| 1099 | camellia 44 : CAMELLIA-256-CFB : camellia-256-cfb | ||
| 1100 | |||
| 1101 | # There are no OIDs for these modes... | ||
| 1102 | |||
| 1103 | : CAMELLIA-128-CFB1 : camellia-128-cfb1 | ||
| 1104 | : CAMELLIA-192-CFB1 : camellia-192-cfb1 | ||
| 1105 | : CAMELLIA-256-CFB1 : camellia-256-cfb1 | ||
| 1106 | : CAMELLIA-128-CFB8 : camellia-128-cfb8 | ||
| 1107 | : CAMELLIA-192-CFB8 : camellia-192-cfb8 | ||
| 1108 | : CAMELLIA-256-CFB8 : camellia-256-cfb8 | ||
| 1109 | |||
| 1110 | |||
| 1111 | # Definitions for SEED cipher - ECB, CBC, OFB mode | ||
| 1112 | |||
| 1113 | member-body 410 200004 : KISA : kisa | ||
| 1114 | kisa 1 3 : SEED-ECB : seed-ecb | ||
| 1115 | kisa 1 4 : SEED-CBC : seed-cbc | ||
| 1116 | !Cname seed-cfb128 | ||
| 1117 | kisa 1 5 : SEED-CFB : seed-cfb | ||
| 1118 | !Cname seed-ofb128 | ||
| 1119 | kisa 1 6 : SEED-OFB : seed-ofb | ||
