diff options
Diffstat (limited to 'src/lib/libssl/src/crypto/x509/x509.h')
| -rw-r--r-- | src/lib/libssl/src/crypto/x509/x509.h | 258 |
1 files changed, 94 insertions, 164 deletions
diff --git a/src/lib/libssl/src/crypto/x509/x509.h b/src/lib/libssl/src/crypto/x509/x509.h index e71b5257e5..604f4fb27f 100644 --- a/src/lib/libssl/src/crypto/x509/x509.h +++ b/src/lib/libssl/src/crypto/x509/x509.h | |||
| @@ -116,6 +116,7 @@ extern "C" { | |||
| 116 | /* Under Win32 these are defined in wincrypt.h */ | 116 | /* Under Win32 these are defined in wincrypt.h */ |
| 117 | #undef X509_NAME | 117 | #undef X509_NAME |
| 118 | #undef X509_CERT_PAIR | 118 | #undef X509_CERT_PAIR |
| 119 | #undef X509_EXTENSIONS | ||
| 119 | #endif | 120 | #endif |
| 120 | 121 | ||
| 121 | #define X509_FILETYPE_PEM 1 | 122 | #define X509_FILETYPE_PEM 1 |
| @@ -156,12 +157,12 @@ typedef struct X509_val_st | |||
| 156 | ASN1_TIME *notAfter; | 157 | ASN1_TIME *notAfter; |
| 157 | } X509_VAL; | 158 | } X509_VAL; |
| 158 | 159 | ||
| 159 | typedef struct X509_pubkey_st | 160 | struct X509_pubkey_st |
| 160 | { | 161 | { |
| 161 | X509_ALGOR *algor; | 162 | X509_ALGOR *algor; |
| 162 | ASN1_BIT_STRING *public_key; | 163 | ASN1_BIT_STRING *public_key; |
| 163 | EVP_PKEY *pkey; | 164 | EVP_PKEY *pkey; |
| 164 | } X509_PUBKEY; | 165 | }; |
| 165 | 166 | ||
| 166 | typedef struct X509_sig_st | 167 | typedef struct X509_sig_st |
| 167 | { | 168 | { |
| @@ -190,7 +191,9 @@ struct X509_name_st | |||
| 190 | #else | 191 | #else |
| 191 | char *bytes; | 192 | char *bytes; |
| 192 | #endif | 193 | #endif |
| 193 | unsigned long hash; /* Keep the hash around for lookups */ | 194 | /* unsigned long hash; Keep the hash around for lookups */ |
| 195 | unsigned char *canon_enc; | ||
| 196 | int canon_enclen; | ||
| 194 | } /* X509_NAME */; | 197 | } /* X509_NAME */; |
| 195 | 198 | ||
| 196 | DECLARE_STACK_OF(X509_NAME) | 199 | DECLARE_STACK_OF(X509_NAME) |
| @@ -289,8 +292,11 @@ struct x509_st | |||
| 289 | unsigned long ex_xkusage; | 292 | unsigned long ex_xkusage; |
| 290 | unsigned long ex_nscert; | 293 | unsigned long ex_nscert; |
| 291 | ASN1_OCTET_STRING *skid; | 294 | ASN1_OCTET_STRING *skid; |
| 292 | struct AUTHORITY_KEYID_st *akid; | 295 | AUTHORITY_KEYID *akid; |
| 293 | X509_POLICY_CACHE *policy_cache; | 296 | X509_POLICY_CACHE *policy_cache; |
| 297 | STACK_OF(DIST_POINT) *crldp; | ||
| 298 | STACK_OF(GENERAL_NAME) *altname; | ||
| 299 | NAME_CONSTRAINTS *nc; | ||
| 294 | #ifndef OPENSSL_NO_RFC3779 | 300 | #ifndef OPENSSL_NO_RFC3779 |
| 295 | STACK_OF(IPAddressFamily) *rfc3779_addr; | 301 | STACK_OF(IPAddressFamily) *rfc3779_addr; |
| 296 | struct ASIdentifiers_st *rfc3779_asid; | 302 | struct ASIdentifiers_st *rfc3779_asid; |
| @@ -333,10 +339,11 @@ typedef struct x509_cert_pair_st { | |||
| 333 | #define X509_TRUST_OBJECT_SIGN 5 | 339 | #define X509_TRUST_OBJECT_SIGN 5 |
| 334 | #define X509_TRUST_OCSP_SIGN 6 | 340 | #define X509_TRUST_OCSP_SIGN 6 |
| 335 | #define X509_TRUST_OCSP_REQUEST 7 | 341 | #define X509_TRUST_OCSP_REQUEST 7 |
| 342 | #define X509_TRUST_TSA 8 | ||
| 336 | 343 | ||
| 337 | /* Keep these up to date! */ | 344 | /* Keep these up to date! */ |
| 338 | #define X509_TRUST_MIN 1 | 345 | #define X509_TRUST_MIN 1 |
| 339 | #define X509_TRUST_MAX 7 | 346 | #define X509_TRUST_MAX 8 |
| 340 | 347 | ||
| 341 | 348 | ||
| 342 | /* trust_flags values */ | 349 | /* trust_flags values */ |
| @@ -423,13 +430,17 @@ typedef struct x509_cert_pair_st { | |||
| 423 | XN_FLAG_FN_LN | \ | 430 | XN_FLAG_FN_LN | \ |
| 424 | XN_FLAG_FN_ALIGN) | 431 | XN_FLAG_FN_ALIGN) |
| 425 | 432 | ||
| 426 | typedef struct X509_revoked_st | 433 | struct x509_revoked_st |
| 427 | { | 434 | { |
| 428 | ASN1_INTEGER *serialNumber; | 435 | ASN1_INTEGER *serialNumber; |
| 429 | ASN1_TIME *revocationDate; | 436 | ASN1_TIME *revocationDate; |
| 430 | STACK_OF(X509_EXTENSION) /* optional */ *extensions; | 437 | STACK_OF(X509_EXTENSION) /* optional */ *extensions; |
| 438 | /* Set up if indirect CRL */ | ||
| 439 | STACK_OF(GENERAL_NAME) *issuer; | ||
| 440 | /* Revocation reason */ | ||
| 441 | int reason; | ||
| 431 | int sequence; /* load sequence */ | 442 | int sequence; /* load sequence */ |
| 432 | } X509_REVOKED; | 443 | }; |
| 433 | 444 | ||
| 434 | DECLARE_STACK_OF(X509_REVOKED) | 445 | DECLARE_STACK_OF(X509_REVOKED) |
| 435 | DECLARE_ASN1_SET_OF(X509_REVOKED) | 446 | DECLARE_ASN1_SET_OF(X509_REVOKED) |
| @@ -453,6 +464,22 @@ struct X509_crl_st | |||
| 453 | X509_ALGOR *sig_alg; | 464 | X509_ALGOR *sig_alg; |
| 454 | ASN1_BIT_STRING *signature; | 465 | ASN1_BIT_STRING *signature; |
| 455 | int references; | 466 | int references; |
| 467 | int flags; | ||
| 468 | /* Copies of various extensions */ | ||
| 469 | AUTHORITY_KEYID *akid; | ||
| 470 | ISSUING_DIST_POINT *idp; | ||
| 471 | /* Convenient breakdown of IDP */ | ||
| 472 | int idp_flags; | ||
| 473 | int idp_reasons; | ||
| 474 | /* CRL and base CRL numbers for delta processing */ | ||
| 475 | ASN1_INTEGER *crl_number; | ||
| 476 | ASN1_INTEGER *base_crl_number; | ||
| 477 | #ifndef OPENSSL_NO_SHA | ||
| 478 | unsigned char sha1_hash[SHA_DIGEST_LENGTH]; | ||
| 479 | #endif | ||
| 480 | STACK_OF(GENERAL_NAMES) *issuers; | ||
| 481 | const X509_CRL_METHOD *meth; | ||
| 482 | void *meth_data; | ||
| 456 | } /* X509_CRL */; | 483 | } /* X509_CRL */; |
| 457 | 484 | ||
| 458 | DECLARE_STACK_OF(X509_CRL) | 485 | DECLARE_STACK_OF(X509_CRL) |
| @@ -551,18 +578,19 @@ X509_ALGOR *prf; | |||
| 551 | 578 | ||
| 552 | /* PKCS#8 private key info structure */ | 579 | /* PKCS#8 private key info structure */ |
| 553 | 580 | ||
| 554 | typedef struct pkcs8_priv_key_info_st | 581 | struct pkcs8_priv_key_info_st |
| 555 | { | 582 | { |
| 556 | int broken; /* Flag for various broken formats */ | 583 | int broken; /* Flag for various broken formats */ |
| 557 | #define PKCS8_OK 0 | 584 | #define PKCS8_OK 0 |
| 558 | #define PKCS8_NO_OCTET 1 | 585 | #define PKCS8_NO_OCTET 1 |
| 559 | #define PKCS8_EMBEDDED_PARAM 2 | 586 | #define PKCS8_EMBEDDED_PARAM 2 |
| 560 | #define PKCS8_NS_DB 3 | 587 | #define PKCS8_NS_DB 3 |
| 588 | #define PKCS8_NEG_PRIVKEY 4 | ||
| 561 | ASN1_INTEGER *version; | 589 | ASN1_INTEGER *version; |
| 562 | X509_ALGOR *pkeyalg; | 590 | X509_ALGOR *pkeyalg; |
| 563 | ASN1_TYPE *pkey; /* Should be OCTET STRING but some are broken */ | 591 | ASN1_TYPE *pkey; /* Should be OCTET STRING but some are broken */ |
| 564 | STACK_OF(X509_ATTRIBUTE) *attributes; | 592 | STACK_OF(X509_ATTRIBUTE) *attributes; |
| 565 | } PKCS8_PRIV_KEY_INFO; | 593 | }; |
| 566 | 594 | ||
| 567 | #ifdef __cplusplus | 595 | #ifdef __cplusplus |
| 568 | } | 596 | } |
| @@ -575,151 +603,6 @@ typedef struct pkcs8_priv_key_info_st | |||
| 575 | extern "C" { | 603 | extern "C" { |
| 576 | #endif | 604 | #endif |
| 577 | 605 | ||
| 578 | #ifdef SSLEAY_MACROS | ||
| 579 | #define X509_verify(a,r) ASN1_verify((int (*)())i2d_X509_CINF,a->sig_alg,\ | ||
| 580 | a->signature,(char *)a->cert_info,r) | ||
| 581 | #define X509_REQ_verify(a,r) ASN1_verify((int (*)())i2d_X509_REQ_INFO, \ | ||
| 582 | a->sig_alg,a->signature,(char *)a->req_info,r) | ||
| 583 | #define X509_CRL_verify(a,r) ASN1_verify((int (*)())i2d_X509_CRL_INFO, \ | ||
| 584 | a->sig_alg, a->signature,(char *)a->crl,r) | ||
| 585 | |||
| 586 | #define X509_sign(x,pkey,md) \ | ||
| 587 | ASN1_sign((int (*)())i2d_X509_CINF, x->cert_info->signature, \ | ||
| 588 | x->sig_alg, x->signature, (char *)x->cert_info,pkey,md) | ||
| 589 | #define X509_REQ_sign(x,pkey,md) \ | ||
| 590 | ASN1_sign((int (*)())i2d_X509_REQ_INFO,x->sig_alg, NULL, \ | ||
| 591 | x->signature, (char *)x->req_info,pkey,md) | ||
| 592 | #define X509_CRL_sign(x,pkey,md) \ | ||
| 593 | ASN1_sign((int (*)())i2d_X509_CRL_INFO,x->crl->sig_alg,x->sig_alg, \ | ||
| 594 | x->signature, (char *)x->crl,pkey,md) | ||
| 595 | #define NETSCAPE_SPKI_sign(x,pkey,md) \ | ||
| 596 | ASN1_sign((int (*)())i2d_NETSCAPE_SPKAC, x->sig_algor,NULL, \ | ||
| 597 | x->signature, (char *)x->spkac,pkey,md) | ||
| 598 | |||
| 599 | #define X509_dup(x509) (X509 *)ASN1_dup((int (*)())i2d_X509, \ | ||
| 600 | (char *(*)())d2i_X509,(char *)x509) | ||
| 601 | #define X509_ATTRIBUTE_dup(xa) (X509_ATTRIBUTE *)ASN1_dup(\ | ||
| 602 | (int (*)())i2d_X509_ATTRIBUTE, \ | ||
| 603 | (char *(*)())d2i_X509_ATTRIBUTE,(char *)xa) | ||
| 604 | #define X509_EXTENSION_dup(ex) (X509_EXTENSION *)ASN1_dup( \ | ||
| 605 | (int (*)())i2d_X509_EXTENSION, \ | ||
| 606 | (char *(*)())d2i_X509_EXTENSION,(char *)ex) | ||
| 607 | #define d2i_X509_fp(fp,x509) (X509 *)ASN1_d2i_fp((char *(*)())X509_new, \ | ||
| 608 | (char *(*)())d2i_X509, (fp),(unsigned char **)(x509)) | ||
| 609 | #define i2d_X509_fp(fp,x509) ASN1_i2d_fp(i2d_X509,fp,(unsigned char *)x509) | ||
| 610 | #define d2i_X509_bio(bp,x509) (X509 *)ASN1_d2i_bio((char *(*)())X509_new, \ | ||
| 611 | (char *(*)())d2i_X509, (bp),(unsigned char **)(x509)) | ||
| 612 | #define i2d_X509_bio(bp,x509) ASN1_i2d_bio(i2d_X509,bp,(unsigned char *)x509) | ||
| 613 | |||
| 614 | #define X509_CRL_dup(crl) (X509_CRL *)ASN1_dup((int (*)())i2d_X509_CRL, \ | ||
| 615 | (char *(*)())d2i_X509_CRL,(char *)crl) | ||
| 616 | #define d2i_X509_CRL_fp(fp,crl) (X509_CRL *)ASN1_d2i_fp((char *(*)()) \ | ||
| 617 | X509_CRL_new,(char *(*)())d2i_X509_CRL, (fp),\ | ||
| 618 | (unsigned char **)(crl)) | ||
| 619 | #define i2d_X509_CRL_fp(fp,crl) ASN1_i2d_fp(i2d_X509_CRL,fp,\ | ||
| 620 | (unsigned char *)crl) | ||
| 621 | #define d2i_X509_CRL_bio(bp,crl) (X509_CRL *)ASN1_d2i_bio((char *(*)()) \ | ||
| 622 | X509_CRL_new,(char *(*)())d2i_X509_CRL, (bp),\ | ||
| 623 | (unsigned char **)(crl)) | ||
| 624 | #define i2d_X509_CRL_bio(bp,crl) ASN1_i2d_bio(i2d_X509_CRL,bp,\ | ||
| 625 | (unsigned char *)crl) | ||
| 626 | |||
| 627 | #define PKCS7_dup(p7) (PKCS7 *)ASN1_dup((int (*)())i2d_PKCS7, \ | ||
| 628 | (char *(*)())d2i_PKCS7,(char *)p7) | ||
| 629 | #define d2i_PKCS7_fp(fp,p7) (PKCS7 *)ASN1_d2i_fp((char *(*)()) \ | ||
| 630 | PKCS7_new,(char *(*)())d2i_PKCS7, (fp),\ | ||
| 631 | (unsigned char **)(p7)) | ||
| 632 | #define i2d_PKCS7_fp(fp,p7) ASN1_i2d_fp(i2d_PKCS7,fp,\ | ||
| 633 | (unsigned char *)p7) | ||
| 634 | #define d2i_PKCS7_bio(bp,p7) (PKCS7 *)ASN1_d2i_bio((char *(*)()) \ | ||
| 635 | PKCS7_new,(char *(*)())d2i_PKCS7, (bp),\ | ||
| 636 | (unsigned char **)(p7)) | ||
| 637 | #define i2d_PKCS7_bio(bp,p7) ASN1_i2d_bio(i2d_PKCS7,bp,\ | ||
| 638 | (unsigned char *)p7) | ||
| 639 | |||
| 640 | #define X509_REQ_dup(req) (X509_REQ *)ASN1_dup((int (*)())i2d_X509_REQ, \ | ||
| 641 | (char *(*)())d2i_X509_REQ,(char *)req) | ||
| 642 | #define d2i_X509_REQ_fp(fp,req) (X509_REQ *)ASN1_d2i_fp((char *(*)())\ | ||
| 643 | X509_REQ_new, (char *(*)())d2i_X509_REQ, (fp),\ | ||
| 644 | (unsigned char **)(req)) | ||
| 645 | #define i2d_X509_REQ_fp(fp,req) ASN1_i2d_fp(i2d_X509_REQ,fp,\ | ||
| 646 | (unsigned char *)req) | ||
| 647 | #define d2i_X509_REQ_bio(bp,req) (X509_REQ *)ASN1_d2i_bio((char *(*)())\ | ||
| 648 | X509_REQ_new, (char *(*)())d2i_X509_REQ, (bp),\ | ||
| 649 | (unsigned char **)(req)) | ||
| 650 | #define i2d_X509_REQ_bio(bp,req) ASN1_i2d_bio(i2d_X509_REQ,bp,\ | ||
| 651 | (unsigned char *)req) | ||
| 652 | |||
| 653 | #define RSAPublicKey_dup(rsa) (RSA *)ASN1_dup((int (*)())i2d_RSAPublicKey, \ | ||
| 654 | (char *(*)())d2i_RSAPublicKey,(char *)rsa) | ||
| 655 | #define RSAPrivateKey_dup(rsa) (RSA *)ASN1_dup((int (*)())i2d_RSAPrivateKey, \ | ||
| 656 | (char *(*)())d2i_RSAPrivateKey,(char *)rsa) | ||
| 657 | |||
| 658 | #define d2i_RSAPrivateKey_fp(fp,rsa) (RSA *)ASN1_d2i_fp((char *(*)())\ | ||
| 659 | RSA_new,(char *(*)())d2i_RSAPrivateKey, (fp), \ | ||
| 660 | (unsigned char **)(rsa)) | ||
| 661 | #define i2d_RSAPrivateKey_fp(fp,rsa) ASN1_i2d_fp(i2d_RSAPrivateKey,fp, \ | ||
| 662 | (unsigned char *)rsa) | ||
| 663 | #define d2i_RSAPrivateKey_bio(bp,rsa) (RSA *)ASN1_d2i_bio((char *(*)())\ | ||
| 664 | RSA_new,(char *(*)())d2i_RSAPrivateKey, (bp), \ | ||
| 665 | (unsigned char **)(rsa)) | ||
| 666 | #define i2d_RSAPrivateKey_bio(bp,rsa) ASN1_i2d_bio(i2d_RSAPrivateKey,bp, \ | ||
| 667 | (unsigned char *)rsa) | ||
| 668 | |||
| 669 | #define d2i_RSAPublicKey_fp(fp,rsa) (RSA *)ASN1_d2i_fp((char *(*)())\ | ||
| 670 | RSA_new,(char *(*)())d2i_RSAPublicKey, (fp), \ | ||
| 671 | (unsigned char **)(rsa)) | ||
| 672 | #define i2d_RSAPublicKey_fp(fp,rsa) ASN1_i2d_fp(i2d_RSAPublicKey,fp, \ | ||
| 673 | (unsigned char *)rsa) | ||
| 674 | #define d2i_RSAPublicKey_bio(bp,rsa) (RSA *)ASN1_d2i_bio((char *(*)())\ | ||
| 675 | RSA_new,(char *(*)())d2i_RSAPublicKey, (bp), \ | ||
| 676 | (unsigned char **)(rsa)) | ||
| 677 | #define i2d_RSAPublicKey_bio(bp,rsa) ASN1_i2d_bio(i2d_RSAPublicKey,bp, \ | ||
| 678 | (unsigned char *)rsa) | ||
| 679 | |||
| 680 | #define d2i_DSAPrivateKey_fp(fp,dsa) (DSA *)ASN1_d2i_fp((char *(*)())\ | ||
| 681 | DSA_new,(char *(*)())d2i_DSAPrivateKey, (fp), \ | ||
| 682 | (unsigned char **)(dsa)) | ||
| 683 | #define i2d_DSAPrivateKey_fp(fp,dsa) ASN1_i2d_fp(i2d_DSAPrivateKey,fp, \ | ||
| 684 | (unsigned char *)dsa) | ||
| 685 | #define d2i_DSAPrivateKey_bio(bp,dsa) (DSA *)ASN1_d2i_bio((char *(*)())\ | ||
| 686 | DSA_new,(char *(*)())d2i_DSAPrivateKey, (bp), \ | ||
| 687 | (unsigned char **)(dsa)) | ||
| 688 | #define i2d_DSAPrivateKey_bio(bp,dsa) ASN1_i2d_bio(i2d_DSAPrivateKey,bp, \ | ||
| 689 | (unsigned char *)dsa) | ||
| 690 | |||
| 691 | #define d2i_ECPrivateKey_fp(fp,ecdsa) (EC_KEY *)ASN1_d2i_fp((char *(*)())\ | ||
| 692 | EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (fp), \ | ||
| 693 | (unsigned char **)(ecdsa)) | ||
| 694 | #define i2d_ECPrivateKey_fp(fp,ecdsa) ASN1_i2d_fp(i2d_ECPrivateKey,fp, \ | ||
| 695 | (unsigned char *)ecdsa) | ||
| 696 | #define d2i_ECPrivateKey_bio(bp,ecdsa) (EC_KEY *)ASN1_d2i_bio((char *(*)())\ | ||
| 697 | EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (bp), \ | ||
| 698 | (unsigned char **)(ecdsa)) | ||
| 699 | #define i2d_ECPrivateKey_bio(bp,ecdsa) ASN1_i2d_bio(i2d_ECPrivateKey,bp, \ | ||
| 700 | (unsigned char *)ecdsa) | ||
| 701 | |||
| 702 | #define X509_ALGOR_dup(xn) (X509_ALGOR *)ASN1_dup((int (*)())i2d_X509_ALGOR,\ | ||
| 703 | (char *(*)())d2i_X509_ALGOR,(char *)xn) | ||
| 704 | |||
| 705 | #define X509_NAME_dup(xn) (X509_NAME *)ASN1_dup((int (*)())i2d_X509_NAME, \ | ||
| 706 | (char *(*)())d2i_X509_NAME,(char *)xn) | ||
| 707 | #define X509_NAME_ENTRY_dup(ne) (X509_NAME_ENTRY *)ASN1_dup( \ | ||
| 708 | (int (*)())i2d_X509_NAME_ENTRY, \ | ||
| 709 | (char *(*)())d2i_X509_NAME_ENTRY,\ | ||
| 710 | (char *)ne) | ||
| 711 | |||
| 712 | #define X509_digest(data,type,md,len) \ | ||
| 713 | ASN1_digest((int (*)())i2d_X509,type,(char *)data,md,len) | ||
| 714 | #define X509_NAME_digest(data,type,md,len) \ | ||
| 715 | ASN1_digest((int (*)())i2d_X509_NAME,type,(char *)data,md,len) | ||
| 716 | #ifndef PKCS7_ISSUER_AND_SERIAL_digest | ||
| 717 | #define PKCS7_ISSUER_AND_SERIAL_digest(data,type,md,len) \ | ||
| 718 | ASN1_digest((int (*)())i2d_PKCS7_ISSUER_AND_SERIAL,type,\ | ||
| 719 | (char *)data,md,len) | ||
| 720 | #endif | ||
| 721 | #endif | ||
| 722 | |||
| 723 | #define X509_EXT_PACK_UNKNOWN 1 | 606 | #define X509_EXT_PACK_UNKNOWN 1 |
| 724 | #define X509_EXT_PACK_STRING 2 | 607 | #define X509_EXT_PACK_STRING 2 |
| 725 | 608 | ||
| @@ -740,6 +623,18 @@ extern "C" { | |||
| 740 | #define X509_CRL_get_issuer(x) ((x)->crl->issuer) | 623 | #define X509_CRL_get_issuer(x) ((x)->crl->issuer) |
| 741 | #define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) | 624 | #define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) |
| 742 | 625 | ||
| 626 | void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); | ||
| 627 | X509_CRL_METHOD *X509_CRL_METHOD_new( | ||
| 628 | int (*crl_init)(X509_CRL *crl), | ||
| 629 | int (*crl_free)(X509_CRL *crl), | ||
| 630 | int (*crl_lookup)(X509_CRL *crl, X509_REVOKED **ret, | ||
| 631 | ASN1_INTEGER *ser, X509_NAME *issuer), | ||
| 632 | int (*crl_verify)(X509_CRL *crl, EVP_PKEY *pk)); | ||
| 633 | void X509_CRL_METHOD_free(X509_CRL_METHOD *m); | ||
| 634 | |||
| 635 | void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); | ||
| 636 | void *X509_CRL_get_meth_data(X509_CRL *crl); | ||
| 637 | |||
| 743 | /* This one is only used so that a binary form can output, as in | 638 | /* This one is only used so that a binary form can output, as in |
| 744 | * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) */ | 639 | * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) */ |
| 745 | #define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) | 640 | #define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) |
| @@ -747,7 +642,6 @@ extern "C" { | |||
| 747 | 642 | ||
| 748 | const char *X509_verify_cert_error_string(long n); | 643 | const char *X509_verify_cert_error_string(long n); |
| 749 | 644 | ||
| 750 | #ifndef SSLEAY_MACROS | ||
| 751 | #ifndef OPENSSL_NO_EVP | 645 | #ifndef OPENSSL_NO_EVP |
| 752 | int X509_verify(X509 *a, EVP_PKEY *r); | 646 | int X509_verify(X509 *a, EVP_PKEY *r); |
| 753 | 647 | ||
| @@ -872,11 +766,11 @@ void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, | |||
| 872 | X509_NAME *X509_NAME_dup(X509_NAME *xn); | 766 | X509_NAME *X509_NAME_dup(X509_NAME *xn); |
| 873 | X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); | 767 | X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); |
| 874 | 768 | ||
| 875 | #endif /* !SSLEAY_MACROS */ | 769 | int X509_cmp_time(const ASN1_TIME *s, time_t *t); |
| 876 | 770 | int X509_cmp_current_time(const ASN1_TIME *s); | |
| 877 | int X509_cmp_time(ASN1_TIME *s, time_t *t); | ||
| 878 | int X509_cmp_current_time(ASN1_TIME *s); | ||
| 879 | ASN1_TIME * X509_time_adj(ASN1_TIME *s, long adj, time_t *t); | 771 | ASN1_TIME * X509_time_adj(ASN1_TIME *s, long adj, time_t *t); |
| 772 | ASN1_TIME * X509_time_adj_ex(ASN1_TIME *s, | ||
| 773 | int offset_day, long offset_sec, time_t *t); | ||
| 880 | ASN1_TIME * X509_gmtime_adj(ASN1_TIME *s, long adj); | 774 | ASN1_TIME * X509_gmtime_adj(ASN1_TIME *s, long adj); |
| 881 | 775 | ||
| 882 | const char * X509_get_default_cert_area(void ); | 776 | const char * X509_get_default_cert_area(void ); |
| @@ -964,6 +858,9 @@ DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) | |||
| 964 | DECLARE_ASN1_FUNCTIONS(X509_CRL) | 858 | DECLARE_ASN1_FUNCTIONS(X509_CRL) |
| 965 | 859 | ||
| 966 | int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); | 860 | int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); |
| 861 | int X509_CRL_get0_by_serial(X509_CRL *crl, | ||
| 862 | X509_REVOKED **ret, ASN1_INTEGER *serial); | ||
| 863 | int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); | ||
| 967 | 864 | ||
| 968 | X509_PKEY * X509_PKEY_new(void ); | 865 | X509_PKEY * X509_PKEY_new(void ); |
| 969 | void X509_PKEY_free(X509_PKEY *a); | 866 | void X509_PKEY_free(X509_PKEY *a); |
| @@ -1007,8 +904,8 @@ int X509_set_issuer_name(X509 *x, X509_NAME *name); | |||
| 1007 | X509_NAME * X509_get_issuer_name(X509 *a); | 904 | X509_NAME * X509_get_issuer_name(X509 *a); |
| 1008 | int X509_set_subject_name(X509 *x, X509_NAME *name); | 905 | int X509_set_subject_name(X509 *x, X509_NAME *name); |
| 1009 | X509_NAME * X509_get_subject_name(X509 *a); | 906 | X509_NAME * X509_get_subject_name(X509 *a); |
| 1010 | int X509_set_notBefore(X509 *x, ASN1_TIME *tm); | 907 | int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); |
| 1011 | int X509_set_notAfter(X509 *x, ASN1_TIME *tm); | 908 | int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); |
| 1012 | int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); | 909 | int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); |
| 1013 | EVP_PKEY * X509_get_pubkey(X509 *x); | 910 | EVP_PKEY * X509_get_pubkey(X509 *x); |
| 1014 | ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x); | 911 | ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x); |
| @@ -1045,8 +942,8 @@ int X509_REQ_add1_attr_by_txt(X509_REQ *req, | |||
| 1045 | 942 | ||
| 1046 | int X509_CRL_set_version(X509_CRL *x, long version); | 943 | int X509_CRL_set_version(X509_CRL *x, long version); |
| 1047 | int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); | 944 | int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); |
| 1048 | int X509_CRL_set_lastUpdate(X509_CRL *x, ASN1_TIME *tm); | 945 | int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); |
| 1049 | int X509_CRL_set_nextUpdate(X509_CRL *x, ASN1_TIME *tm); | 946 | int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); |
| 1050 | int X509_CRL_sort(X509_CRL *crl); | 947 | int X509_CRL_sort(X509_CRL *crl); |
| 1051 | 948 | ||
| 1052 | int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); | 949 | int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); |
| @@ -1065,11 +962,18 @@ unsigned long X509_issuer_name_hash(X509 *a); | |||
| 1065 | int X509_subject_name_cmp(const X509 *a, const X509 *b); | 962 | int X509_subject_name_cmp(const X509 *a, const X509 *b); |
| 1066 | unsigned long X509_subject_name_hash(X509 *x); | 963 | unsigned long X509_subject_name_hash(X509 *x); |
| 1067 | 964 | ||
| 965 | #ifndef OPENSSL_NO_MD5 | ||
| 966 | unsigned long X509_issuer_name_hash_old(X509 *a); | ||
| 967 | unsigned long X509_subject_name_hash_old(X509 *x); | ||
| 968 | #endif | ||
| 969 | |||
| 1068 | int X509_cmp(const X509 *a, const X509 *b); | 970 | int X509_cmp(const X509 *a, const X509 *b); |
| 1069 | int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); | 971 | int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); |
| 1070 | unsigned long X509_NAME_hash(X509_NAME *x); | 972 | unsigned long X509_NAME_hash(X509_NAME *x); |
| 973 | unsigned long X509_NAME_hash_old(X509_NAME *x); | ||
| 1071 | 974 | ||
| 1072 | int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); | 975 | int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); |
| 976 | int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); | ||
| 1073 | #ifndef OPENSSL_NO_FP_API | 977 | #ifndef OPENSSL_NO_FP_API |
| 1074 | int X509_print_ex_fp(FILE *bp,X509 *x, unsigned long nmflag, unsigned long cflag); | 978 | int X509_print_ex_fp(FILE *bp,X509 *x, unsigned long nmflag, unsigned long cflag); |
| 1075 | int X509_print_fp(FILE *bp,X509 *x); | 979 | int X509_print_fp(FILE *bp,X509 *x); |
| @@ -1245,9 +1149,16 @@ DECLARE_ASN1_FUNCTIONS(PBEPARAM) | |||
| 1245 | DECLARE_ASN1_FUNCTIONS(PBE2PARAM) | 1149 | DECLARE_ASN1_FUNCTIONS(PBE2PARAM) |
| 1246 | DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) | 1150 | DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) |
| 1247 | 1151 | ||
| 1248 | X509_ALGOR *PKCS5_pbe_set(int alg, int iter, unsigned char *salt, int saltlen); | 1152 | int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, |
| 1153 | const unsigned char *salt, int saltlen); | ||
| 1154 | |||
| 1155 | X509_ALGOR *PKCS5_pbe_set(int alg, int iter, | ||
| 1156 | const unsigned char *salt, int saltlen); | ||
| 1249 | X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, | 1157 | X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, |
| 1250 | unsigned char *salt, int saltlen); | 1158 | unsigned char *salt, int saltlen); |
| 1159 | X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, | ||
| 1160 | unsigned char *salt, int saltlen, | ||
| 1161 | unsigned char *aiv, int prf_nid); | ||
| 1251 | 1162 | ||
| 1252 | /* PKCS#8 utilities */ | 1163 | /* PKCS#8 utilities */ |
| 1253 | 1164 | ||
| @@ -1258,6 +1169,22 @@ PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); | |||
| 1258 | PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); | 1169 | PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); |
| 1259 | PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); | 1170 | PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); |
| 1260 | 1171 | ||
| 1172 | int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, | ||
| 1173 | int version, int ptype, void *pval, | ||
| 1174 | unsigned char *penc, int penclen); | ||
| 1175 | int PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, | ||
| 1176 | const unsigned char **pk, int *ppklen, | ||
| 1177 | X509_ALGOR **pa, | ||
| 1178 | PKCS8_PRIV_KEY_INFO *p8); | ||
| 1179 | |||
| 1180 | int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, | ||
| 1181 | int ptype, void *pval, | ||
| 1182 | unsigned char *penc, int penclen); | ||
| 1183 | int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, | ||
| 1184 | const unsigned char **pk, int *ppklen, | ||
| 1185 | X509_ALGOR **pa, | ||
| 1186 | X509_PUBKEY *pub); | ||
| 1187 | |||
| 1261 | int X509_check_trust(X509 *x, int id, int flags); | 1188 | int X509_check_trust(X509 *x, int id, int flags); |
| 1262 | int X509_TRUST_get_count(void); | 1189 | int X509_TRUST_get_count(void); |
| 1263 | X509_TRUST * X509_TRUST_get0(int idx); | 1190 | X509_TRUST * X509_TRUST_get0(int idx); |
| @@ -1337,7 +1264,10 @@ void ERR_load_X509_strings(void); | |||
| 1337 | #define X509_R_KEY_VALUES_MISMATCH 116 | 1264 | #define X509_R_KEY_VALUES_MISMATCH 116 |
| 1338 | #define X509_R_LOADING_CERT_DIR 103 | 1265 | #define X509_R_LOADING_CERT_DIR 103 |
| 1339 | #define X509_R_LOADING_DEFAULTS 104 | 1266 | #define X509_R_LOADING_DEFAULTS 104 |
| 1267 | #define X509_R_METHOD_NOT_SUPPORTED 124 | ||
| 1340 | #define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 | 1268 | #define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 |
| 1269 | #define X509_R_PUBLIC_KEY_DECODE_ERROR 125 | ||
| 1270 | #define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 | ||
| 1341 | #define X509_R_SHOULD_RETRY 106 | 1271 | #define X509_R_SHOULD_RETRY 106 |
| 1342 | #define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 | 1272 | #define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 |
| 1343 | #define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 | 1273 | #define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 |
