| OLD | NEW |
| 1 /* crypto/x509/x509.h */ | 1 /* crypto/x509/x509.h */ |
| 2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 * All rights reserved. | 3 * All rights reserved. |
| 4 * | 4 * |
| 5 * This package is an SSL implementation written | 5 * This package is an SSL implementation written |
| 6 * by Eric Young (eay@cryptsoft.com). | 6 * by Eric Young (eay@cryptsoft.com). |
| 7 * The implementation was written so as to conform with Netscapes SSL. | 7 * The implementation was written so as to conform with Netscapes SSL. |
| 8 * | 8 * |
| 9 * This library is free for commercial and non-commercial use as long as | 9 * This library is free for commercial and non-commercial use as long as |
| 10 * the following conditions are aheared to. The following conditions | 10 * the following conditions are aheared to. The following conditions |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 DECLARE_ASN1_SET_OF(X509_ALGOR) | 150 DECLARE_ASN1_SET_OF(X509_ALGOR) |
| 151 | 151 |
| 152 typedef STACK_OF(X509_ALGOR) X509_ALGORS; | 152 typedef STACK_OF(X509_ALGOR) X509_ALGORS; |
| 153 | 153 |
| 154 typedef struct X509_val_st | 154 typedef struct X509_val_st |
| 155 { | 155 { |
| 156 ASN1_TIME *notBefore; | 156 ASN1_TIME *notBefore; |
| 157 ASN1_TIME *notAfter; | 157 ASN1_TIME *notAfter; |
| 158 } X509_VAL; | 158 } X509_VAL; |
| 159 | 159 |
| 160 typedef struct X509_pubkey_st | 160 struct X509_pubkey_st |
| 161 { | 161 { |
| 162 X509_ALGOR *algor; | 162 X509_ALGOR *algor; |
| 163 ASN1_BIT_STRING *public_key; | 163 ASN1_BIT_STRING *public_key; |
| 164 EVP_PKEY *pkey; | 164 EVP_PKEY *pkey; |
| 165 » } X509_PUBKEY; | 165 » }; |
| 166 | 166 |
| 167 typedef struct X509_sig_st | 167 typedef struct X509_sig_st |
| 168 { | 168 { |
| 169 X509_ALGOR *algor; | 169 X509_ALGOR *algor; |
| 170 ASN1_OCTET_STRING *digest; | 170 ASN1_OCTET_STRING *digest; |
| 171 } X509_SIG; | 171 } X509_SIG; |
| 172 | 172 |
| 173 typedef struct X509_name_entry_st | 173 typedef struct X509_name_entry_st |
| 174 { | 174 { |
| 175 ASN1_OBJECT *object; | 175 ASN1_OBJECT *object; |
| 176 ASN1_STRING *value; | 176 ASN1_STRING *value; |
| 177 int set; | 177 int set; |
| 178 int size; /* temp variable */ | 178 int size; /* temp variable */ |
| 179 } X509_NAME_ENTRY; | 179 } X509_NAME_ENTRY; |
| 180 | 180 |
| 181 DECLARE_STACK_OF(X509_NAME_ENTRY) | 181 DECLARE_STACK_OF(X509_NAME_ENTRY) |
| 182 DECLARE_ASN1_SET_OF(X509_NAME_ENTRY) | 182 DECLARE_ASN1_SET_OF(X509_NAME_ENTRY) |
| 183 | 183 |
| 184 /* we always keep X509_NAMEs in 2 forms. */ | 184 /* we always keep X509_NAMEs in 2 forms. */ |
| 185 struct X509_name_st | 185 struct X509_name_st |
| 186 { | 186 { |
| 187 STACK_OF(X509_NAME_ENTRY) *entries; | 187 STACK_OF(X509_NAME_ENTRY) *entries; |
| 188 int modified; /* true if 'bytes' needs to be built */ | 188 int modified; /* true if 'bytes' needs to be built */ |
| 189 #ifndef OPENSSL_NO_BUFFER | 189 #ifndef OPENSSL_NO_BUFFER |
| 190 BUF_MEM *bytes; | 190 BUF_MEM *bytes; |
| 191 #else | 191 #else |
| 192 char *bytes; | 192 char *bytes; |
| 193 #endif | 193 #endif |
| 194 » 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; |
| 195 } /* X509_NAME */; | 197 } /* X509_NAME */; |
| 196 | 198 |
| 197 DECLARE_STACK_OF(X509_NAME) | 199 DECLARE_STACK_OF(X509_NAME) |
| 198 | 200 |
| 199 #define X509_EX_V_NETSCAPE_HACK 0x8000 | 201 #define X509_EX_V_NETSCAPE_HACK 0x8000 |
| 200 #define X509_EX_V_INIT 0x0001 | 202 #define X509_EX_V_INIT 0x0001 |
| 201 typedef struct X509_extension_st | 203 typedef struct X509_extension_st |
| 202 { | 204 { |
| 203 ASN1_OBJECT *object; | 205 ASN1_OBJECT *object; |
| 204 ASN1_BOOLEAN critical; | 206 ASN1_BOOLEAN critical; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 ASN1_INTEGER *version; /* [ 0 ] default of v1 */ | 251 ASN1_INTEGER *version; /* [ 0 ] default of v1 */ |
| 250 ASN1_INTEGER *serialNumber; | 252 ASN1_INTEGER *serialNumber; |
| 251 X509_ALGOR *signature; | 253 X509_ALGOR *signature; |
| 252 X509_NAME *issuer; | 254 X509_NAME *issuer; |
| 253 X509_VAL *validity; | 255 X509_VAL *validity; |
| 254 X509_NAME *subject; | 256 X509_NAME *subject; |
| 255 X509_PUBKEY *key; | 257 X509_PUBKEY *key; |
| 256 ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ | 258 ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ |
| 257 ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ | 259 ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ |
| 258 STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ | 260 STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ |
| 261 ASN1_ENCODING enc; |
| 259 } X509_CINF; | 262 } X509_CINF; |
| 260 | 263 |
| 261 /* This stuff is certificate "auxiliary info" | 264 /* This stuff is certificate "auxiliary info" |
| 262 * it contains details which are useful in certificate | 265 * it contains details which are useful in certificate |
| 263 * stores and databases. When used this is tagged onto | 266 * stores and databases. When used this is tagged onto |
| 264 * the end of the certificate itself | 267 * the end of the certificate itself |
| 265 */ | 268 */ |
| 266 | 269 |
| 267 typedef struct x509_cert_aux_st | 270 typedef struct x509_cert_aux_st |
| 268 { | 271 { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 283 char *name; | 286 char *name; |
| 284 CRYPTO_EX_DATA ex_data; | 287 CRYPTO_EX_DATA ex_data; |
| 285 /* These contain copies of various extension values */ | 288 /* These contain copies of various extension values */ |
| 286 long ex_pathlen; | 289 long ex_pathlen; |
| 287 long ex_pcpathlen; | 290 long ex_pcpathlen; |
| 288 unsigned long ex_flags; | 291 unsigned long ex_flags; |
| 289 unsigned long ex_kusage; | 292 unsigned long ex_kusage; |
| 290 unsigned long ex_xkusage; | 293 unsigned long ex_xkusage; |
| 291 unsigned long ex_nscert; | 294 unsigned long ex_nscert; |
| 292 ASN1_OCTET_STRING *skid; | 295 ASN1_OCTET_STRING *skid; |
| 293 » struct AUTHORITY_KEYID_st *akid; | 296 » AUTHORITY_KEYID *akid; |
| 294 X509_POLICY_CACHE *policy_cache; | 297 X509_POLICY_CACHE *policy_cache; |
| 298 STACK_OF(DIST_POINT) *crldp; |
| 299 STACK_OF(GENERAL_NAME) *altname; |
| 300 NAME_CONSTRAINTS *nc; |
| 295 #ifndef OPENSSL_NO_RFC3779 | 301 #ifndef OPENSSL_NO_RFC3779 |
| 296 STACK_OF(IPAddressFamily) *rfc3779_addr; | 302 STACK_OF(IPAddressFamily) *rfc3779_addr; |
| 297 struct ASIdentifiers_st *rfc3779_asid; | 303 struct ASIdentifiers_st *rfc3779_asid; |
| 298 #endif | 304 #endif |
| 299 #ifndef OPENSSL_NO_SHA | 305 #ifndef OPENSSL_NO_SHA |
| 300 unsigned char sha1_hash[SHA_DIGEST_LENGTH]; | 306 unsigned char sha1_hash[SHA_DIGEST_LENGTH]; |
| 301 #endif | 307 #endif |
| 302 X509_CERT_AUX *aux; | 308 X509_CERT_AUX *aux; |
| 303 } /* X509 */; | 309 } /* X509 */; |
| 304 | 310 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 327 | 333 |
| 328 #define X509_TRUST_DEFAULT -1 /* Only valid in purpose settings */ | 334 #define X509_TRUST_DEFAULT -1 /* Only valid in purpose settings */ |
| 329 | 335 |
| 330 #define X509_TRUST_COMPAT 1 | 336 #define X509_TRUST_COMPAT 1 |
| 331 #define X509_TRUST_SSL_CLIENT 2 | 337 #define X509_TRUST_SSL_CLIENT 2 |
| 332 #define X509_TRUST_SSL_SERVER 3 | 338 #define X509_TRUST_SSL_SERVER 3 |
| 333 #define X509_TRUST_EMAIL 4 | 339 #define X509_TRUST_EMAIL 4 |
| 334 #define X509_TRUST_OBJECT_SIGN 5 | 340 #define X509_TRUST_OBJECT_SIGN 5 |
| 335 #define X509_TRUST_OCSP_SIGN 6 | 341 #define X509_TRUST_OCSP_SIGN 6 |
| 336 #define X509_TRUST_OCSP_REQUEST 7 | 342 #define X509_TRUST_OCSP_REQUEST 7 |
| 343 #define X509_TRUST_TSA 8 |
| 337 | 344 |
| 338 /* Keep these up to date! */ | 345 /* Keep these up to date! */ |
| 339 #define X509_TRUST_MIN 1 | 346 #define X509_TRUST_MIN 1 |
| 340 #define X509_TRUST_MAX» » 7 | 347 #define X509_TRUST_MAX» » 8 |
| 341 | 348 |
| 342 | 349 |
| 343 /* trust_flags values */ | 350 /* trust_flags values */ |
| 344 #define X509_TRUST_DYNAMIC 1 | 351 #define X509_TRUST_DYNAMIC 1 |
| 345 #define X509_TRUST_DYNAMIC_NAME 2 | 352 #define X509_TRUST_DYNAMIC_NAME 2 |
| 346 | 353 |
| 347 /* check_trust return codes */ | 354 /* check_trust return codes */ |
| 348 | 355 |
| 349 #define X509_TRUST_TRUSTED 1 | 356 #define X509_TRUST_TRUSTED 1 |
| 350 #define X509_TRUST_REJECTED 2 | 357 #define X509_TRUST_REJECTED 2 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 | 424 |
| 418 /* readable multiline form */ | 425 /* readable multiline form */ |
| 419 | 426 |
| 420 #define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ | 427 #define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ |
| 421 ASN1_STRFLGS_ESC_MSB | \ | 428 ASN1_STRFLGS_ESC_MSB | \ |
| 422 XN_FLAG_SEP_MULTILINE | \ | 429 XN_FLAG_SEP_MULTILINE | \ |
| 423 XN_FLAG_SPC_EQ | \ | 430 XN_FLAG_SPC_EQ | \ |
| 424 XN_FLAG_FN_LN | \ | 431 XN_FLAG_FN_LN | \ |
| 425 XN_FLAG_FN_ALIGN) | 432 XN_FLAG_FN_ALIGN) |
| 426 | 433 |
| 427 typedef struct X509_revoked_st | 434 struct x509_revoked_st |
| 428 { | 435 { |
| 429 ASN1_INTEGER *serialNumber; | 436 ASN1_INTEGER *serialNumber; |
| 430 ASN1_TIME *revocationDate; | 437 ASN1_TIME *revocationDate; |
| 431 STACK_OF(X509_EXTENSION) /* optional */ *extensions; | 438 STACK_OF(X509_EXTENSION) /* optional */ *extensions; |
| 439 /* Set up if indirect CRL */ |
| 440 STACK_OF(GENERAL_NAME) *issuer; |
| 441 /* Revocation reason */ |
| 442 int reason; |
| 432 int sequence; /* load sequence */ | 443 int sequence; /* load sequence */ |
| 433 » } X509_REVOKED; | 444 » }; |
| 434 | 445 |
| 435 DECLARE_STACK_OF(X509_REVOKED) | 446 DECLARE_STACK_OF(X509_REVOKED) |
| 436 DECLARE_ASN1_SET_OF(X509_REVOKED) | 447 DECLARE_ASN1_SET_OF(X509_REVOKED) |
| 437 | 448 |
| 438 typedef struct X509_crl_info_st | 449 typedef struct X509_crl_info_st |
| 439 { | 450 { |
| 440 ASN1_INTEGER *version; | 451 ASN1_INTEGER *version; |
| 441 X509_ALGOR *sig_alg; | 452 X509_ALGOR *sig_alg; |
| 442 X509_NAME *issuer; | 453 X509_NAME *issuer; |
| 443 ASN1_TIME *lastUpdate; | 454 ASN1_TIME *lastUpdate; |
| 444 ASN1_TIME *nextUpdate; | 455 ASN1_TIME *nextUpdate; |
| 445 STACK_OF(X509_REVOKED) *revoked; | 456 STACK_OF(X509_REVOKED) *revoked; |
| 446 STACK_OF(X509_EXTENSION) /* [0] */ *extensions; | 457 STACK_OF(X509_EXTENSION) /* [0] */ *extensions; |
| 447 ASN1_ENCODING enc; | 458 ASN1_ENCODING enc; |
| 448 } X509_CRL_INFO; | 459 } X509_CRL_INFO; |
| 449 | 460 |
| 450 struct X509_crl_st | 461 struct X509_crl_st |
| 451 { | 462 { |
| 452 /* actual signature */ | 463 /* actual signature */ |
| 453 X509_CRL_INFO *crl; | 464 X509_CRL_INFO *crl; |
| 454 X509_ALGOR *sig_alg; | 465 X509_ALGOR *sig_alg; |
| 455 ASN1_BIT_STRING *signature; | 466 ASN1_BIT_STRING *signature; |
| 456 int references; | 467 int references; |
| 468 int flags; |
| 469 /* Copies of various extensions */ |
| 470 AUTHORITY_KEYID *akid; |
| 471 ISSUING_DIST_POINT *idp; |
| 472 /* Convenient breakdown of IDP */ |
| 473 int idp_flags; |
| 474 int idp_reasons; |
| 475 /* CRL and base CRL numbers for delta processing */ |
| 476 ASN1_INTEGER *crl_number; |
| 477 ASN1_INTEGER *base_crl_number; |
| 478 #ifndef OPENSSL_NO_SHA |
| 479 unsigned char sha1_hash[SHA_DIGEST_LENGTH]; |
| 480 #endif |
| 481 STACK_OF(GENERAL_NAMES) *issuers; |
| 482 const X509_CRL_METHOD *meth; |
| 483 void *meth_data; |
| 457 } /* X509_CRL */; | 484 } /* X509_CRL */; |
| 458 | 485 |
| 459 DECLARE_STACK_OF(X509_CRL) | 486 DECLARE_STACK_OF(X509_CRL) |
| 460 DECLARE_ASN1_SET_OF(X509_CRL) | 487 DECLARE_ASN1_SET_OF(X509_CRL) |
| 461 | 488 |
| 462 typedef struct private_key_st | 489 typedef struct private_key_st |
| 463 { | 490 { |
| 464 int version; | 491 int version; |
| 465 /* The PKCS#8 data types */ | 492 /* The PKCS#8 data types */ |
| 466 X509_ALGOR *enc_algor; | 493 X509_ALGOR *enc_algor; |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 typedef struct PBKDF2PARAM_st { | 572 typedef struct PBKDF2PARAM_st { |
| 546 ASN1_TYPE *salt; /* Usually OCTET STRING but could be anything */ | 573 ASN1_TYPE *salt; /* Usually OCTET STRING but could be anything */ |
| 547 ASN1_INTEGER *iter; | 574 ASN1_INTEGER *iter; |
| 548 ASN1_INTEGER *keylength; | 575 ASN1_INTEGER *keylength; |
| 549 X509_ALGOR *prf; | 576 X509_ALGOR *prf; |
| 550 } PBKDF2PARAM; | 577 } PBKDF2PARAM; |
| 551 | 578 |
| 552 | 579 |
| 553 /* PKCS#8 private key info structure */ | 580 /* PKCS#8 private key info structure */ |
| 554 | 581 |
| 555 typedef struct pkcs8_priv_key_info_st | 582 struct pkcs8_priv_key_info_st |
| 556 { | 583 { |
| 557 int broken; /* Flag for various broken formats */ | 584 int broken; /* Flag for various broken formats */ |
| 558 #define PKCS8_OK 0 | 585 #define PKCS8_OK 0 |
| 559 #define PKCS8_NO_OCTET 1 | 586 #define PKCS8_NO_OCTET 1 |
| 560 #define PKCS8_EMBEDDED_PARAM 2 | 587 #define PKCS8_EMBEDDED_PARAM 2 |
| 561 #define PKCS8_NS_DB 3 | 588 #define PKCS8_NS_DB 3 |
| 589 #define PKCS8_NEG_PRIVKEY 4 |
| 562 ASN1_INTEGER *version; | 590 ASN1_INTEGER *version; |
| 563 X509_ALGOR *pkeyalg; | 591 X509_ALGOR *pkeyalg; |
| 564 ASN1_TYPE *pkey; /* Should be OCTET STRING but some are broken */ | 592 ASN1_TYPE *pkey; /* Should be OCTET STRING but some are broken */ |
| 565 STACK_OF(X509_ATTRIBUTE) *attributes; | 593 STACK_OF(X509_ATTRIBUTE) *attributes; |
| 566 } PKCS8_PRIV_KEY_INFO; | 594 }; |
| 567 | 595 |
| 568 #ifdef __cplusplus | 596 #ifdef __cplusplus |
| 569 } | 597 } |
| 570 #endif | 598 #endif |
| 571 | 599 |
| 572 #include <openssl/x509_vfy.h> | 600 #include <openssl/x509_vfy.h> |
| 573 #include <openssl/pkcs7.h> | 601 #include <openssl/pkcs7.h> |
| 574 | 602 |
| 575 #ifdef __cplusplus | 603 #ifdef __cplusplus |
| 576 extern "C" { | 604 extern "C" { |
| 577 #endif | 605 #endif |
| 578 | 606 |
| 579 #ifdef SSLEAY_MACROS | |
| 580 #define X509_verify(a,r) ASN1_verify((int (*)())i2d_X509_CINF,a->sig_alg,\ | |
| 581 a->signature,(char *)a->cert_info,r) | |
| 582 #define X509_REQ_verify(a,r) ASN1_verify((int (*)())i2d_X509_REQ_INFO, \ | |
| 583 a->sig_alg,a->signature,(char *)a->req_info,r) | |
| 584 #define X509_CRL_verify(a,r) ASN1_verify((int (*)())i2d_X509_CRL_INFO, \ | |
| 585 a->sig_alg, a->signature,(char *)a->crl,r) | |
| 586 | |
| 587 #define X509_sign(x,pkey,md) \ | |
| 588 ASN1_sign((int (*)())i2d_X509_CINF, x->cert_info->signature, \ | |
| 589 x->sig_alg, x->signature, (char *)x->cert_info,pkey,md) | |
| 590 #define X509_REQ_sign(x,pkey,md) \ | |
| 591 ASN1_sign((int (*)())i2d_X509_REQ_INFO,x->sig_alg, NULL, \ | |
| 592 x->signature, (char *)x->req_info,pkey,md) | |
| 593 #define X509_CRL_sign(x,pkey,md) \ | |
| 594 ASN1_sign((int (*)())i2d_X509_CRL_INFO,x->crl->sig_alg,x->sig_alg, \ | |
| 595 x->signature, (char *)x->crl,pkey,md) | |
| 596 #define NETSCAPE_SPKI_sign(x,pkey,md) \ | |
| 597 ASN1_sign((int (*)())i2d_NETSCAPE_SPKAC, x->sig_algor,NULL, \ | |
| 598 x->signature, (char *)x->spkac,pkey,md) | |
| 599 | |
| 600 #define X509_dup(x509) (X509 *)ASN1_dup((int (*)())i2d_X509, \ | |
| 601 (char *(*)())d2i_X509,(char *)x509) | |
| 602 #define X509_ATTRIBUTE_dup(xa) (X509_ATTRIBUTE *)ASN1_dup(\ | |
| 603 (int (*)())i2d_X509_ATTRIBUTE, \ | |
| 604 (char *(*)())d2i_X509_ATTRIBUTE,(char *)xa) | |
| 605 #define X509_EXTENSION_dup(ex) (X509_EXTENSION *)ASN1_dup( \ | |
| 606 (int (*)())i2d_X509_EXTENSION, \ | |
| 607 (char *(*)())d2i_X509_EXTENSION,(char *)ex) | |
| 608 #define d2i_X509_fp(fp,x509) (X509 *)ASN1_d2i_fp((char *(*)())X509_new, \ | |
| 609 (char *(*)())d2i_X509, (fp),(unsigned char **)(x509)) | |
| 610 #define i2d_X509_fp(fp,x509) ASN1_i2d_fp(i2d_X509,fp,(unsigned char *)x509) | |
| 611 #define d2i_X509_bio(bp,x509) (X509 *)ASN1_d2i_bio((char *(*)())X509_new, \ | |
| 612 (char *(*)())d2i_X509, (bp),(unsigned char **)(x509)) | |
| 613 #define i2d_X509_bio(bp,x509) ASN1_i2d_bio(i2d_X509,bp,(unsigned char *)x509) | |
| 614 | |
| 615 #define X509_CRL_dup(crl) (X509_CRL *)ASN1_dup((int (*)())i2d_X509_CRL, \ | |
| 616 (char *(*)())d2i_X509_CRL,(char *)crl) | |
| 617 #define d2i_X509_CRL_fp(fp,crl) (X509_CRL *)ASN1_d2i_fp((char *(*)()) \ | |
| 618 X509_CRL_new,(char *(*)())d2i_X509_CRL, (fp),\ | |
| 619 (unsigned char **)(crl)) | |
| 620 #define i2d_X509_CRL_fp(fp,crl) ASN1_i2d_fp(i2d_X509_CRL,fp,\ | |
| 621 (unsigned char *)crl) | |
| 622 #define d2i_X509_CRL_bio(bp,crl) (X509_CRL *)ASN1_d2i_bio((char *(*)()) \ | |
| 623 X509_CRL_new,(char *(*)())d2i_X509_CRL, (bp),\ | |
| 624 (unsigned char **)(crl)) | |
| 625 #define i2d_X509_CRL_bio(bp,crl) ASN1_i2d_bio(i2d_X509_CRL,bp,\ | |
| 626 (unsigned char *)crl) | |
| 627 | |
| 628 #define PKCS7_dup(p7) (PKCS7 *)ASN1_dup((int (*)())i2d_PKCS7, \ | |
| 629 (char *(*)())d2i_PKCS7,(char *)p7) | |
| 630 #define d2i_PKCS7_fp(fp,p7) (PKCS7 *)ASN1_d2i_fp((char *(*)()) \ | |
| 631 PKCS7_new,(char *(*)())d2i_PKCS7, (fp),\ | |
| 632 (unsigned char **)(p7)) | |
| 633 #define i2d_PKCS7_fp(fp,p7) ASN1_i2d_fp(i2d_PKCS7,fp,\ | |
| 634 (unsigned char *)p7) | |
| 635 #define d2i_PKCS7_bio(bp,p7) (PKCS7 *)ASN1_d2i_bio((char *(*)()) \ | |
| 636 PKCS7_new,(char *(*)())d2i_PKCS7, (bp),\ | |
| 637 (unsigned char **)(p7)) | |
| 638 #define i2d_PKCS7_bio(bp,p7) ASN1_i2d_bio(i2d_PKCS7,bp,\ | |
| 639 (unsigned char *)p7) | |
| 640 | |
| 641 #define X509_REQ_dup(req) (X509_REQ *)ASN1_dup((int (*)())i2d_X509_REQ, \ | |
| 642 (char *(*)())d2i_X509_REQ,(char *)req) | |
| 643 #define d2i_X509_REQ_fp(fp,req) (X509_REQ *)ASN1_d2i_fp((char *(*)())\ | |
| 644 X509_REQ_new, (char *(*)())d2i_X509_REQ, (fp),\ | |
| 645 (unsigned char **)(req)) | |
| 646 #define i2d_X509_REQ_fp(fp,req) ASN1_i2d_fp(i2d_X509_REQ,fp,\ | |
| 647 (unsigned char *)req) | |
| 648 #define d2i_X509_REQ_bio(bp,req) (X509_REQ *)ASN1_d2i_bio((char *(*)())\ | |
| 649 X509_REQ_new, (char *(*)())d2i_X509_REQ, (bp),\ | |
| 650 (unsigned char **)(req)) | |
| 651 #define i2d_X509_REQ_bio(bp,req) ASN1_i2d_bio(i2d_X509_REQ,bp,\ | |
| 652 (unsigned char *)req) | |
| 653 | |
| 654 #define RSAPublicKey_dup(rsa) (RSA *)ASN1_dup((int (*)())i2d_RSAPublicKey, \ | |
| 655 (char *(*)())d2i_RSAPublicKey,(char *)rsa) | |
| 656 #define RSAPrivateKey_dup(rsa) (RSA *)ASN1_dup((int (*)())i2d_RSAPrivateKey, \ | |
| 657 (char *(*)())d2i_RSAPrivateKey,(char *)rsa) | |
| 658 | |
| 659 #define d2i_RSAPrivateKey_fp(fp,rsa) (RSA *)ASN1_d2i_fp((char *(*)())\ | |
| 660 RSA_new,(char *(*)())d2i_RSAPrivateKey, (fp), \ | |
| 661 (unsigned char **)(rsa)) | |
| 662 #define i2d_RSAPrivateKey_fp(fp,rsa) ASN1_i2d_fp(i2d_RSAPrivateKey,fp, \ | |
| 663 (unsigned char *)rsa) | |
| 664 #define d2i_RSAPrivateKey_bio(bp,rsa) (RSA *)ASN1_d2i_bio((char *(*)())\ | |
| 665 RSA_new,(char *(*)())d2i_RSAPrivateKey, (bp), \ | |
| 666 (unsigned char **)(rsa)) | |
| 667 #define i2d_RSAPrivateKey_bio(bp,rsa) ASN1_i2d_bio(i2d_RSAPrivateKey,bp, \ | |
| 668 (unsigned char *)rsa) | |
| 669 | |
| 670 #define d2i_RSAPublicKey_fp(fp,rsa) (RSA *)ASN1_d2i_fp((char *(*)())\ | |
| 671 RSA_new,(char *(*)())d2i_RSAPublicKey, (fp), \ | |
| 672 (unsigned char **)(rsa)) | |
| 673 #define i2d_RSAPublicKey_fp(fp,rsa) ASN1_i2d_fp(i2d_RSAPublicKey,fp, \ | |
| 674 (unsigned char *)rsa) | |
| 675 #define d2i_RSAPublicKey_bio(bp,rsa) (RSA *)ASN1_d2i_bio((char *(*)())\ | |
| 676 RSA_new,(char *(*)())d2i_RSAPublicKey, (bp), \ | |
| 677 (unsigned char **)(rsa)) | |
| 678 #define i2d_RSAPublicKey_bio(bp,rsa) ASN1_i2d_bio(i2d_RSAPublicKey,bp, \ | |
| 679 (unsigned char *)rsa) | |
| 680 | |
| 681 #define d2i_DSAPrivateKey_fp(fp,dsa) (DSA *)ASN1_d2i_fp((char *(*)())\ | |
| 682 DSA_new,(char *(*)())d2i_DSAPrivateKey, (fp), \ | |
| 683 (unsigned char **)(dsa)) | |
| 684 #define i2d_DSAPrivateKey_fp(fp,dsa) ASN1_i2d_fp(i2d_DSAPrivateKey,fp, \ | |
| 685 (unsigned char *)dsa) | |
| 686 #define d2i_DSAPrivateKey_bio(bp,dsa) (DSA *)ASN1_d2i_bio((char *(*)())\ | |
| 687 DSA_new,(char *(*)())d2i_DSAPrivateKey, (bp), \ | |
| 688 (unsigned char **)(dsa)) | |
| 689 #define i2d_DSAPrivateKey_bio(bp,dsa) ASN1_i2d_bio(i2d_DSAPrivateKey,bp, \ | |
| 690 (unsigned char *)dsa) | |
| 691 | |
| 692 #define d2i_ECPrivateKey_fp(fp,ecdsa) (EC_KEY *)ASN1_d2i_fp((char *(*)())\ | |
| 693 EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (fp), \ | |
| 694 (unsigned char **)(ecdsa)) | |
| 695 #define i2d_ECPrivateKey_fp(fp,ecdsa) ASN1_i2d_fp(i2d_ECPrivateKey,fp, \ | |
| 696 (unsigned char *)ecdsa) | |
| 697 #define d2i_ECPrivateKey_bio(bp,ecdsa) (EC_KEY *)ASN1_d2i_bio((char *(*)())\ | |
| 698 EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (bp), \ | |
| 699 (unsigned char **)(ecdsa)) | |
| 700 #define i2d_ECPrivateKey_bio(bp,ecdsa) ASN1_i2d_bio(i2d_ECPrivateKey,bp, \ | |
| 701 (unsigned char *)ecdsa) | |
| 702 | |
| 703 #define X509_ALGOR_dup(xn) (X509_ALGOR *)ASN1_dup((int (*)())i2d_X509_ALGOR,\ | |
| 704 (char *(*)())d2i_X509_ALGOR,(char *)xn) | |
| 705 | |
| 706 #define X509_NAME_dup(xn) (X509_NAME *)ASN1_dup((int (*)())i2d_X509_NAME, \ | |
| 707 (char *(*)())d2i_X509_NAME,(char *)xn) | |
| 708 #define X509_NAME_ENTRY_dup(ne) (X509_NAME_ENTRY *)ASN1_dup( \ | |
| 709 (int (*)())i2d_X509_NAME_ENTRY, \ | |
| 710 (char *(*)())d2i_X509_NAME_ENTRY,\ | |
| 711 (char *)ne) | |
| 712 | |
| 713 #define X509_digest(data,type,md,len) \ | |
| 714 ASN1_digest((int (*)())i2d_X509,type,(char *)data,md,len) | |
| 715 #define X509_NAME_digest(data,type,md,len) \ | |
| 716 ASN1_digest((int (*)())i2d_X509_NAME,type,(char *)data,md,len) | |
| 717 #ifndef PKCS7_ISSUER_AND_SERIAL_digest | |
| 718 #define PKCS7_ISSUER_AND_SERIAL_digest(data,type,md,len) \ | |
| 719 ASN1_digest((int (*)())i2d_PKCS7_ISSUER_AND_SERIAL,type,\ | |
| 720 (char *)data,md,len) | |
| 721 #endif | |
| 722 #endif | |
| 723 | |
| 724 #define X509_EXT_PACK_UNKNOWN 1 | 607 #define X509_EXT_PACK_UNKNOWN 1 |
| 725 #define X509_EXT_PACK_STRING 2 | 608 #define X509_EXT_PACK_STRING 2 |
| 726 | 609 |
| 727 #define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version) | 610 #define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version) |
| 728 /* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ | 611 /* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ |
| 729 #define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore) | 612 #define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore) |
| 730 #define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter) | 613 #define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter) |
| 731 #define X509_extract_key(x) X509_get_pubkey(x) /*****/ | 614 #define X509_extract_key(x) X509_get_pubkey(x) /*****/ |
| 732 #define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version) | 615 #define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version) |
| 733 #define X509_REQ_get_subject_name(x) ((x)->req_info->subject) | 616 #define X509_REQ_get_subject_name(x) ((x)->req_info->subject) |
| 734 #define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) | 617 #define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) |
| 735 #define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) | 618 #define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) |
| 736 #define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_al
g->algorithm)) | 619 #define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_al
g->algorithm)) |
| 737 | 620 |
| 738 #define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version) | 621 #define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version) |
| 739 #define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate) | 622 #define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate) |
| 740 #define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate) | 623 #define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate) |
| 741 #define X509_CRL_get_issuer(x) ((x)->crl->issuer) | 624 #define X509_CRL_get_issuer(x) ((x)->crl->issuer) |
| 742 #define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) | 625 #define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) |
| 743 | 626 |
| 627 void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); |
| 628 X509_CRL_METHOD *X509_CRL_METHOD_new( |
| 629 int (*crl_init)(X509_CRL *crl), |
| 630 int (*crl_free)(X509_CRL *crl), |
| 631 int (*crl_lookup)(X509_CRL *crl, X509_REVOKED **ret, |
| 632 ASN1_INTEGER *ser, X509_NAME *issuer), |
| 633 int (*crl_verify)(X509_CRL *crl, EVP_PKEY *pk)); |
| 634 void X509_CRL_METHOD_free(X509_CRL_METHOD *m); |
| 635 |
| 636 void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); |
| 637 void *X509_CRL_get_meth_data(X509_CRL *crl); |
| 638 |
| 744 /* This one is only used so that a binary form can output, as in | 639 /* This one is only used so that a binary form can output, as in |
| 745 * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) */ | 640 * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) */ |
| 746 #define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) | 641 #define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) |
| 747 | 642 |
| 748 | 643 |
| 749 const char *X509_verify_cert_error_string(long n); | 644 const char *X509_verify_cert_error_string(long n); |
| 750 | 645 |
| 751 #ifndef SSLEAY_MACROS | |
| 752 #ifndef OPENSSL_NO_EVP | 646 #ifndef OPENSSL_NO_EVP |
| 753 int X509_verify(X509 *a, EVP_PKEY *r); | 647 int X509_verify(X509 *a, EVP_PKEY *r); |
| 754 | 648 |
| 755 int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); | 649 int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); |
| 756 int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); | 650 int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); |
| 757 int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); | 651 int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); |
| 758 | 652 |
| 759 NETSCAPE_SPKI * NETSCAPE_SPKI_b64_decode(const char *str, int len); | 653 NETSCAPE_SPKI * NETSCAPE_SPKI_b64_decode(const char *str, int len); |
| 760 char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); | 654 char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); |
| 761 EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); | 655 EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 X509_CRL *X509_CRL_dup(X509_CRL *crl); | 760 X509_CRL *X509_CRL_dup(X509_CRL *crl); |
| 867 X509_REQ *X509_REQ_dup(X509_REQ *req); | 761 X509_REQ *X509_REQ_dup(X509_REQ *req); |
| 868 X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); | 762 X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); |
| 869 int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); | 763 int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); |
| 870 void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, | 764 void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, |
| 871 X509_ALGOR *algor); | 765 X509_ALGOR *algor); |
| 872 | 766 |
| 873 X509_NAME *X509_NAME_dup(X509_NAME *xn); | 767 X509_NAME *X509_NAME_dup(X509_NAME *xn); |
| 874 X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); | 768 X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); |
| 875 | 769 |
| 876 #endif /* !SSLEAY_MACROS */ | 770 int» » X509_cmp_time(const ASN1_TIME *s, time_t *t); |
| 877 | 771 int» » X509_cmp_current_time(const ASN1_TIME *s); |
| 878 int» » X509_cmp_time(ASN1_TIME *s, time_t *t); | |
| 879 int» » X509_cmp_current_time(ASN1_TIME *s); | |
| 880 ASN1_TIME * X509_time_adj(ASN1_TIME *s, long adj, time_t *t); | 772 ASN1_TIME * X509_time_adj(ASN1_TIME *s, long adj, time_t *t); |
| 773 ASN1_TIME * X509_time_adj_ex(ASN1_TIME *s, |
| 774 int offset_day, long offset_sec, time_t *t); |
| 881 ASN1_TIME * X509_gmtime_adj(ASN1_TIME *s, long adj); | 775 ASN1_TIME * X509_gmtime_adj(ASN1_TIME *s, long adj); |
| 882 | 776 |
| 883 const char * X509_get_default_cert_area(void ); | 777 const char * X509_get_default_cert_area(void ); |
| 884 const char * X509_get_default_cert_dir(void ); | 778 const char * X509_get_default_cert_dir(void ); |
| 885 const char * X509_get_default_cert_file(void ); | 779 const char * X509_get_default_cert_file(void ); |
| 886 const char * X509_get_default_cert_dir_env(void ); | 780 const char * X509_get_default_cert_dir_env(void ); |
| 887 const char * X509_get_default_cert_file_env(void ); | 781 const char * X509_get_default_cert_file_env(void ); |
| 888 const char * X509_get_default_private_dir(void ); | 782 const char * X509_get_default_private_dir(void ); |
| 889 | 783 |
| 890 X509_REQ * X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); | 784 X509_REQ * X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 958 int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); | 852 int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); |
| 959 int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); | 853 int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); |
| 960 void X509_trust_clear(X509 *x); | 854 void X509_trust_clear(X509 *x); |
| 961 void X509_reject_clear(X509 *x); | 855 void X509_reject_clear(X509 *x); |
| 962 | 856 |
| 963 DECLARE_ASN1_FUNCTIONS(X509_REVOKED) | 857 DECLARE_ASN1_FUNCTIONS(X509_REVOKED) |
| 964 DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) | 858 DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) |
| 965 DECLARE_ASN1_FUNCTIONS(X509_CRL) | 859 DECLARE_ASN1_FUNCTIONS(X509_CRL) |
| 966 | 860 |
| 967 int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); | 861 int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); |
| 862 int X509_CRL_get0_by_serial(X509_CRL *crl, |
| 863 X509_REVOKED **ret, ASN1_INTEGER *serial); |
| 864 int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); |
| 968 | 865 |
| 969 X509_PKEY * X509_PKEY_new(void ); | 866 X509_PKEY * X509_PKEY_new(void ); |
| 970 void X509_PKEY_free(X509_PKEY *a); | 867 void X509_PKEY_free(X509_PKEY *a); |
| 971 int i2d_X509_PKEY(X509_PKEY *a,unsigned char **pp); | 868 int i2d_X509_PKEY(X509_PKEY *a,unsigned char **pp); |
| 972 X509_PKEY * d2i_X509_PKEY(X509_PKEY **a,const unsigned char **pp,long length
); | 869 X509_PKEY * d2i_X509_PKEY(X509_PKEY **a,const unsigned char **pp,long length
); |
| 973 | 870 |
| 974 DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) | 871 DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) |
| 975 DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) | 872 DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) |
| 976 DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) | 873 DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) |
| 977 | 874 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1001 void *data, EVP_PKEY *pkey, const EVP_MD *type); | 898 void *data, EVP_PKEY *pkey, const EVP_MD *type); |
| 1002 #endif | 899 #endif |
| 1003 | 900 |
| 1004 int X509_set_version(X509 *x,long version); | 901 int X509_set_version(X509 *x,long version); |
| 1005 int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); | 902 int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); |
| 1006 ASN1_INTEGER * X509_get_serialNumber(X509 *x); | 903 ASN1_INTEGER * X509_get_serialNumber(X509 *x); |
| 1007 int X509_set_issuer_name(X509 *x, X509_NAME *name); | 904 int X509_set_issuer_name(X509 *x, X509_NAME *name); |
| 1008 X509_NAME * X509_get_issuer_name(X509 *a); | 905 X509_NAME * X509_get_issuer_name(X509 *a); |
| 1009 int X509_set_subject_name(X509 *x, X509_NAME *name); | 906 int X509_set_subject_name(X509 *x, X509_NAME *name); |
| 1010 X509_NAME * X509_get_subject_name(X509 *a); | 907 X509_NAME * X509_get_subject_name(X509 *a); |
| 1011 int » » X509_set_notBefore(X509 *x, ASN1_TIME *tm); | 908 int » » X509_set_notBefore(X509 *x, const ASN1_TIME *tm); |
| 1012 int » » X509_set_notAfter(X509 *x, ASN1_TIME *tm); | 909 int » » X509_set_notAfter(X509 *x, const ASN1_TIME *tm); |
| 1013 int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); | 910 int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); |
| 1014 EVP_PKEY * X509_get_pubkey(X509 *x); | 911 EVP_PKEY * X509_get_pubkey(X509 *x); |
| 1015 ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x); | 912 ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x); |
| 1016 int X509_certificate_type(X509 *x,EVP_PKEY *pubkey /* optional */); | 913 int X509_certificate_type(X509 *x,EVP_PKEY *pubkey /* optional */); |
| 1017 | 914 |
| 1018 int X509_REQ_set_version(X509_REQ *x,long version); | 915 int X509_REQ_set_version(X509_REQ *x,long version); |
| 1019 int X509_REQ_set_subject_name(X509_REQ *req,X509_NAME *name); | 916 int X509_REQ_set_subject_name(X509_REQ *req,X509_NAME *name); |
| 1020 int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); | 917 int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); |
| 1021 EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req); | 918 EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req); |
| 1022 int X509_REQ_extension_nid(int nid); | 919 int X509_REQ_extension_nid(int nid); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1039 const unsigned char *bytes, int len); | 936 const unsigned char *bytes, int len); |
| 1040 int X509_REQ_add1_attr_by_NID(X509_REQ *req, | 937 int X509_REQ_add1_attr_by_NID(X509_REQ *req, |
| 1041 int nid, int type, | 938 int nid, int type, |
| 1042 const unsigned char *bytes, int len); | 939 const unsigned char *bytes, int len); |
| 1043 int X509_REQ_add1_attr_by_txt(X509_REQ *req, | 940 int X509_REQ_add1_attr_by_txt(X509_REQ *req, |
| 1044 const char *attrname, int type, | 941 const char *attrname, int type, |
| 1045 const unsigned char *bytes, int len); | 942 const unsigned char *bytes, int len); |
| 1046 | 943 |
| 1047 int X509_CRL_set_version(X509_CRL *x, long version); | 944 int X509_CRL_set_version(X509_CRL *x, long version); |
| 1048 int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); | 945 int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); |
| 1049 int X509_CRL_set_lastUpdate(X509_CRL *x, ASN1_TIME *tm); | 946 int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); |
| 1050 int X509_CRL_set_nextUpdate(X509_CRL *x, ASN1_TIME *tm); | 947 int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); |
| 1051 int X509_CRL_sort(X509_CRL *crl); | 948 int X509_CRL_sort(X509_CRL *crl); |
| 1052 | 949 |
| 1053 int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); | 950 int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); |
| 1054 int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); | 951 int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); |
| 1055 | 952 |
| 1056 int X509_REQ_check_private_key(X509_REQ *x509,EVP_PKEY *pkey); | 953 int X509_REQ_check_private_key(X509_REQ *x509,EVP_PKEY *pkey); |
| 1057 | 954 |
| 1058 int X509_check_private_key(X509 *x509,EVP_PKEY *pkey); | 955 int X509_check_private_key(X509 *x509,EVP_PKEY *pkey); |
| 1059 | 956 |
| 1060 int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); | 957 int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); |
| 1061 unsigned long X509_issuer_and_serial_hash(X509 *a); | 958 unsigned long X509_issuer_and_serial_hash(X509 *a); |
| 1062 | 959 |
| 1063 int X509_issuer_name_cmp(const X509 *a, const X509 *b); | 960 int X509_issuer_name_cmp(const X509 *a, const X509 *b); |
| 1064 unsigned long X509_issuer_name_hash(X509 *a); | 961 unsigned long X509_issuer_name_hash(X509 *a); |
| 1065 | 962 |
| 1066 int X509_subject_name_cmp(const X509 *a, const X509 *b); | 963 int X509_subject_name_cmp(const X509 *a, const X509 *b); |
| 1067 unsigned long X509_subject_name_hash(X509 *x); | 964 unsigned long X509_subject_name_hash(X509 *x); |
| 1068 | 965 |
| 966 #ifndef OPENSSL_NO_MD5 |
| 967 unsigned long X509_issuer_name_hash_old(X509 *a); |
| 968 unsigned long X509_subject_name_hash_old(X509 *x); |
| 969 #endif |
| 970 |
| 1069 int X509_cmp(const X509 *a, const X509 *b); | 971 int X509_cmp(const X509 *a, const X509 *b); |
| 1070 int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); | 972 int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); |
| 1071 unsigned long X509_NAME_hash(X509_NAME *x); | 973 unsigned long X509_NAME_hash(X509_NAME *x); |
| 974 unsigned long X509_NAME_hash_old(X509_NAME *x); |
| 1072 | 975 |
| 1073 int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); | 976 int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); |
| 977 int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); |
| 1074 #ifndef OPENSSL_NO_FP_API | 978 #ifndef OPENSSL_NO_FP_API |
| 1075 int X509_print_ex_fp(FILE *bp,X509 *x, unsigned long nmflag, unsigne
d long cflag); | 979 int X509_print_ex_fp(FILE *bp,X509 *x, unsigned long nmflag, unsigne
d long cflag); |
| 1076 int X509_print_fp(FILE *bp,X509 *x); | 980 int X509_print_fp(FILE *bp,X509 *x); |
| 1077 int X509_CRL_print_fp(FILE *bp,X509_CRL *x); | 981 int X509_CRL_print_fp(FILE *bp,X509_CRL *x); |
| 1078 int X509_REQ_print_fp(FILE *bp,X509_REQ *req); | 982 int X509_REQ_print_fp(FILE *bp,X509_REQ *req); |
| 1079 int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, unsigned long fla
gs); | 983 int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, unsigned long fla
gs); |
| 1080 #endif | 984 #endif |
| 1081 | 985 |
| 1082 #ifndef OPENSSL_NO_BIO | 986 #ifndef OPENSSL_NO_BIO |
| 1083 int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); | 987 int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1239 | 1143 |
| 1240 /* lookup a cert from a X509 STACK */ | 1144 /* lookup a cert from a X509 STACK */ |
| 1241 X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk,X509_NAME *name, | 1145 X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk,X509_NAME *name, |
| 1242 ASN1_INTEGER *serial); | 1146 ASN1_INTEGER *serial); |
| 1243 X509 *X509_find_by_subject(STACK_OF(X509) *sk,X509_NAME *name); | 1147 X509 *X509_find_by_subject(STACK_OF(X509) *sk,X509_NAME *name); |
| 1244 | 1148 |
| 1245 DECLARE_ASN1_FUNCTIONS(PBEPARAM) | 1149 DECLARE_ASN1_FUNCTIONS(PBEPARAM) |
| 1246 DECLARE_ASN1_FUNCTIONS(PBE2PARAM) | 1150 DECLARE_ASN1_FUNCTIONS(PBE2PARAM) |
| 1247 DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) | 1151 DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) |
| 1248 | 1152 |
| 1249 X509_ALGOR *PKCS5_pbe_set(int alg, int iter, unsigned char *salt, int saltlen); | 1153 int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, |
| 1154 » » » » const unsigned char *salt, int saltlen); |
| 1155 |
| 1156 X509_ALGOR *PKCS5_pbe_set(int alg, int iter, |
| 1157 » » » » const unsigned char *salt, int saltlen); |
| 1250 X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, | 1158 X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, |
| 1251 unsigned char *salt, int saltlen); | 1159 unsigned char *salt, int saltlen); |
| 1160 X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, |
| 1161 unsigned char *salt, int saltlen, |
| 1162 unsigned char *aiv, int prf_nid); |
| 1252 | 1163 |
| 1253 /* PKCS#8 utilities */ | 1164 /* PKCS#8 utilities */ |
| 1254 | 1165 |
| 1255 DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) | 1166 DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) |
| 1256 | 1167 |
| 1257 EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); | 1168 EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); |
| 1258 PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); | 1169 PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); |
| 1259 PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); | 1170 PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); |
| 1260 PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); | 1171 PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); |
| 1261 | 1172 |
| 1173 int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, |
| 1174 int version, int ptype, void *pval, |
| 1175 unsigned char *penc, int penclen); |
| 1176 int PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, |
| 1177 const unsigned char **pk, int *ppklen, |
| 1178 X509_ALGOR **pa, |
| 1179 PKCS8_PRIV_KEY_INFO *p8); |
| 1180 |
| 1181 int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, |
| 1182 int ptype, void *pval, |
| 1183 unsigned char *penc, int penclen); |
| 1184 int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, |
| 1185 const unsigned char **pk, int *ppklen, |
| 1186 X509_ALGOR **pa, |
| 1187 X509_PUBKEY *pub); |
| 1188 |
| 1262 int X509_check_trust(X509 *x, int id, int flags); | 1189 int X509_check_trust(X509 *x, int id, int flags); |
| 1263 int X509_TRUST_get_count(void); | 1190 int X509_TRUST_get_count(void); |
| 1264 X509_TRUST * X509_TRUST_get0(int idx); | 1191 X509_TRUST * X509_TRUST_get0(int idx); |
| 1265 int X509_TRUST_get_by_id(int id); | 1192 int X509_TRUST_get_by_id(int id); |
| 1266 int X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, X509 *, int), | 1193 int X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, X509 *, int), |
| 1267 char *name, int arg1, void *arg2); | 1194 char *name, int arg1, void *arg2); |
| 1268 void X509_TRUST_cleanup(void); | 1195 void X509_TRUST_cleanup(void); |
| 1269 int X509_TRUST_get_flags(X509_TRUST *xp); | 1196 int X509_TRUST_get_flags(X509_TRUST *xp); |
| 1270 char *X509_TRUST_get0_name(X509_TRUST *xp); | 1197 char *X509_TRUST_get0_name(X509_TRUST *xp); |
| 1271 int X509_TRUST_get_trust(X509_TRUST *xp); | 1198 int X509_TRUST_get_trust(X509_TRUST *xp); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1331 #define X509_R_CANT_CHECK_DH_KEY 114 | 1258 #define X509_R_CANT_CHECK_DH_KEY 114 |
| 1332 #define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 | 1259 #define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 |
| 1333 #define X509_R_ERR_ASN1_LIB 102 | 1260 #define X509_R_ERR_ASN1_LIB 102 |
| 1334 #define X509_R_INVALID_DIRECTORY 113 | 1261 #define X509_R_INVALID_DIRECTORY 113 |
| 1335 #define X509_R_INVALID_FIELD_NAME 119 | 1262 #define X509_R_INVALID_FIELD_NAME 119 |
| 1336 #define X509_R_INVALID_TRUST 123 | 1263 #define X509_R_INVALID_TRUST 123 |
| 1337 #define X509_R_KEY_TYPE_MISMATCH 115 | 1264 #define X509_R_KEY_TYPE_MISMATCH 115 |
| 1338 #define X509_R_KEY_VALUES_MISMATCH 116 | 1265 #define X509_R_KEY_VALUES_MISMATCH 116 |
| 1339 #define X509_R_LOADING_CERT_DIR 103 | 1266 #define X509_R_LOADING_CERT_DIR 103 |
| 1340 #define X509_R_LOADING_DEFAULTS 104 | 1267 #define X509_R_LOADING_DEFAULTS 104 |
| 1268 #define X509_R_METHOD_NOT_SUPPORTED 124 |
| 1341 #define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 | 1269 #define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 |
| 1270 #define X509_R_PUBLIC_KEY_DECODE_ERROR 125 |
| 1271 #define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 |
| 1342 #define X509_R_SHOULD_RETRY 106 | 1272 #define X509_R_SHOULD_RETRY 106 |
| 1343 #define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 | 1273 #define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 |
| 1344 #define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 | 1274 #define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 |
| 1345 #define X509_R_UNKNOWN_KEY_TYPE 117 | 1275 #define X509_R_UNKNOWN_KEY_TYPE 117 |
| 1346 #define X509_R_UNKNOWN_NID 109 | 1276 #define X509_R_UNKNOWN_NID 109 |
| 1347 #define X509_R_UNKNOWN_PURPOSE_ID 121 | 1277 #define X509_R_UNKNOWN_PURPOSE_ID 121 |
| 1348 #define X509_R_UNKNOWN_TRUST_ID 120 | 1278 #define X509_R_UNKNOWN_TRUST_ID 120 |
| 1349 #define X509_R_UNSUPPORTED_ALGORITHM 111 | 1279 #define X509_R_UNSUPPORTED_ALGORITHM 111 |
| 1350 #define X509_R_WRONG_LOOKUP_TYPE 112 | 1280 #define X509_R_WRONG_LOOKUP_TYPE 112 |
| 1351 #define X509_R_WRONG_TYPE 122 | 1281 #define X509_R_WRONG_TYPE 122 |
| 1352 | 1282 |
| 1353 #ifdef __cplusplus | 1283 #ifdef __cplusplus |
| 1354 } | 1284 } |
| 1355 #endif | 1285 #endif |
| 1356 #endif | 1286 #endif |
| OLD | NEW |