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 |