Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(601)

Side by Side Diff: openssl/crypto/x509/x509.h

Issue 9254031: Upgrade chrome's OpenSSL to same version Android ships with. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/openssl/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « openssl/crypto/x509/by_file.c ('k') | openssl/crypto/x509/x509_cmp.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « openssl/crypto/x509/by_file.c ('k') | openssl/crypto/x509/x509_cmp.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698