| RSA BSAFE Micro Edition Suite |
Streamlined security for mobile and embedded devices |
 
![]() |
00001 /* $Id: cert.h,v 1.131 2005/06/22 01:22:06 jmckee Exp $ */
00002 /*
00003 * Copyright (C) 1998-2002 RSA Security Inc. All rights reserved. This
00004 * work contains proprietary information of RSA Security. Distribution
00005 * is limited to authorized licensees of RSA Security. Any unauthorized
00006 * reproduction, distribution or modification of this work is strictly
00007 * prohibited.
00008 */
00009
00016 #ifndef HEADER_CERT_H
00017 #define HEADER_CERT_H
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023 #include "r_lib.h"
00024
00039 #define SSLCERT_ENCODING_ASN1_UTCTIME 23
00040
00043 #define SSLCERT_ENCODING_ASN1_GENERALIZEDTIME 24
00044 /* end of SSLCERT_ENC_ASN1TIME_IDS */
00059 #define SSLCERT_KEY_USAGE_DIGITAL_SIGNATURE 0x0080
00060
00062 #define SSLCERT_KEY_USAGE_NON_REPUDIATION 0x0040
00063
00065 #define SSLCERT_KEY_USAGE_KEY_ENCIPHERMENT 0x0020
00066
00068 #define SSLCERT_KEY_USAGE_DATA_ENCIPHERMENT 0x0010
00069
00071 #define SSLCERT_KEY_USAGE_KEY_AGREEMENT 0x0008
00072
00074 #define SSLCERT_KEY_USAGE_KEY_CERT_SIGN 0x0004
00075
00077 #define SSLCERT_KEY_USAGE_CRL_SIGN 0x0002
00078
00080 #define SSLCERT_KEY_USAGE_ENCIPHER_ONLY 0x0001
00081
00083 #define SSLCERT_KEY_USAGE_DECIPHER_ONLY 0x8000
00084
00085 /* END: SSLCERT_KEY_USAGE_IDS */
00105 #define SSLCERT_GET_CRL_DISTRIBUTION_POINT 0
00106
00110 #define SSLCERT_GET_CRL_REASONS 1
00111
00115 #define SSLCERT_GET_CRL_ISSUER 2
00116 /* END: SSL_CERTIFICATE_MANAGEMENT */
00121 #if defined(SSLC_SMALL_CODE) || defined(NO_SSLCERT_X509)
00122
00123 /* Include the header that has macro definition replacements for the
00124 * SSLCERT functions.
00125 */
00126 #include "cert_sm.h"
00127
00128 #else /* !SSLC_SMALL_CODE && !NO_SSLCERT_X509 */
00129
00130 #include "stack.h"
00131
00132 /* Define SSLCERT build types */
00145 #define SSLCERT_NONE 0x00
00146
00147 #define SSLCERT_NORMAL 0x01
00148
00149 #define SSLCERT_TINYCODE 0x02
00150
00154 /* Defines for Certificate Types known to SSL-C Version 2.3 */
00155
00156 #define SSLCERT_TYPE_NONE 0x00
00157 #define SSLCERT_TYPE_X509_STANDARD 0x01
00158 #define SSLCERT_TYPE_X509_COMPACT 0x02
00159 #define SSLCERT_TYPE_WTLS 0x10
00160
00161 /* Defines for features supported */
00162 #define SSLCERT_UNSUPPORTED 0x00
00163 #define SSLCERT_SUPPORTED 0x01
00164
00178 #define SSLCERT_LIBRARY_CONFIG_FLAG 0
00179
00180 #define SSLCERT_BIO_SUPPORTED_FLAG 1
00181
00185 /* we need to have a definition for a PKEY type for SSLCERT_PKEY_from_binary */
00186
00187 #ifndef EVP_PKEY_RSA
00188
00191 #define EVP_PKEY_RSA 6
00192 #endif
00193
00194 #ifndef EVP_PKEY_DSA
00195
00198 #define EVP_PKEY_DSA 116
00199 #endif
00200
00201 /* we declare opaque data types for those things for which we can
00202 * switch the implementation routines - hence they do not really have
00203 * a known type as it can change at runtime
00204 */
00205
00211 typedef void SSLCERT;
00212
00219 typedef void SSLCERT_NAME;
00220
00227 typedef void SSLCERT_NAME_ENTRY;
00228
00235 typedef void SSLCERT_PKEY;
00236
00243 typedef void SSLCERT_STORE_CTX;
00244
00249 typedef void SSLCERT_STORE;
00250
00251 #ifndef HEADER_COMMON_EVP_H_TYPEDEF_DEF
00252 #define HEADER_COMMON_EVP_H_TYPEDEF_DEF
00253 typedef struct evp_md_st EVP_MD;
00254 typedef struct evp_md_ctx_st EVP_MD_CTX;
00255 typedef struct evp_cipher_st EVP_CIPHER;
00256 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
00257 typedef struct evp_encode_ctx_st EVP_ENCODE_CTX;
00258 typedef struct evp_pkey_st EVP_PKEY;
00259 typedef void EVP_ASN1_TYPE;
00260 #endif /* HEADER_COMMON_EVP_H_TYPEDEF_DEF */
00261
00262 #ifndef HEADER_PEM_H_TYPEDEF_DEF
00263 #define HEADER_PEM_H_TYPEDEF_DEF
00264 typedef int R_CDECL PEM_PASSWORD_CB_T(char *buf, int len, int flag);
00265 #endif /* HEADER_PEM_H_TYPEDEF_DEF */
00266
00267 /* make sure we have a definition (safe) for SSL */
00268 #ifndef HEADER_SSL_H_TYPEDEF_DEF
00269 #define HEADER_SSL_H_TYPEDEF_DEF
00270 typedef struct ssl_st SSL;
00271 #endif /* HEADER_SSL_H_TYPEDEF_DEF*/
00272
00273 /* Initialize the library to either normal build or the tinycode build. */
00274 int R_CDECL SSLCERT_normal_setup();
00275 int R_CDECL SSLCERT_tinycode_setup();
00276 /* Returns the 'type' of library */
00277
00283 void R_CDECL SSLCERT_reference_inc(SSLCERT *cert);
00284 SSLCERT * R_CDECL SSLCERT_new(void);
00285 SSLCERT * R_CDECL SSLCERT_dup(SSLCERT *cert);
00286 void R_CDECL SSLCERT_free(SSLCERT *cert);
00287
00288 #ifndef NO_PEM
00289 void * R_CDECL SSLCERT_PEM_read_bio_SSLCERT(void *bp, SSLCERT **cert,
00290 PEM_PASSWORD_CB_T *cb);
00291 #endif /* NO_PEM */
00292
00293 int R_CDECL SSLCERT_to_binary(SSLCERT *cert, unsigned char **pp);
00294 SSLCERT * R_CDECL SSLCERT_from_binary(SSLCERT **pcert, unsigned char **pp, long length);
00295 void * R_CDECL SSLCERT_from_binary_bio(void *bp, SSLCERT *cert);
00296
00297 /* end group SSL_CERTIFICATE_MANAGEMENT_FUNCS */
00302 /*
00303 * @defgroup SSL_CERTIFICATION_INFO_FUNCS Certificate Information Functions
00304 *
00305 * This section includes information on the functions which set and retrieve
00306 * specific information from a certificate.
00307 *
00308 * @ingroup SSL_CERTIFICATE_MNG_FUNCS_GROUP
00309 *
00310 * @{
00311 */
00312 char * R_CDECL SSLCERT_OID_to_string(unsigned char *data,long len,int flag);
00313 int R_CDECL SSLCERT_fingerprint(SSLCERT *cert,unsigned char *buf,unsigned int *plen);
00314 SSLCERT_NAME * R_CDECL SSLCERT_get_issuer_name(SSLCERT *cert);
00315 SSLCERT_NAME * R_CDECL SSLCERT_get_subject_name(SSLCERT *cert);
00316 R_ITEM * R_CDECL SSLCERT_get_AKI_keyid(SSLCERT *cert);
00317 R_ITEM * R_CDECL SSLCERT_get_SKI_keyid(SSLCERT *cert);
00318 EVP_PKEY * R_CDECL SSLCERT_get_pubkey(SSLCERT *cert);
00319 int R_CDECL SSLCERT_get_serialNumber_info(SSLCERT *cert,unsigned int *type,
00320 unsigned char **pp,long *length);
00321 long R_CDECL SSLCERT_get_version(SSLCERT *cert);
00322 int R_CDECL SSLCERT_get_flag(int indicator);
00323 int R_CDECL SSLCERT_set_flag(int indicator, int value);
00324
00325 /* end group SSL_CERTIFICATE_INFO_FUNCS */
00326 /*
00327 * @}
00328 */
00329
00340 SSLCERT_NAME * R_CDECL SSLCERT_NAME_new(void);
00341 void R_CDECL SSLCERT_NAME_free(SSLCERT_NAME *cn);
00342 SSLCERT_NAME * R_CDECL SSLCERT_NAME_dup(SSLCERT_NAME *cn);
00343 unsigned long R_CDECL SSLCERT_NAME_hash(SSLCERT_NAME *cn);
00344 int R_CDECL SSLCERT_NAME_cmp(SSLCERT_NAME *cn1,SSLCERT_NAME *cn2);
00345
00346 SSLCERT_NAME * R_CDECL SSLCERT_NAME_from_binary(SSLCERT_NAME **cn,unsigned char **pp,
00347 long length);
00348 int R_CDECL SSLCERT_NAME_to_binary(SSLCERT_NAME *cn, unsigned char **pp);
00349
00350 int R_CDECL SSLCERT_NAME_ENTRY_get_info(SSLCERT_NAME_ENTRY *cne,unsigned int *oidtype,
00351 unsigned char **oidpp,long *oidlen,unsigned int *datatype,
00352 unsigned char **datapp,long *datalen);
00353 int R_CDECL SSLCERT_NAME_ENTRY_get_oid_info(SSLCERT_NAME_ENTRY *cne,
00354 unsigned int *oidtype,unsigned char **oidpp, long *oidlen);
00355 int R_CDECL SSLCERT_NAME_ENTRY_get_data_info(SSLCERT_NAME_ENTRY *cne,
00356 unsigned int *datatype,unsigned char **datapp,long *datalen);
00357
00358 int R_CDECL SSLCERT_NAME_get_entry_count(SSLCERT_NAME *xn);
00359 SSLCERT_NAME_ENTRY * R_CDECL SSLCERT_NAME_get_entry(SSLCERT_NAME *cn,int loc);
00360 char * R_CDECL SSLCERT_NAME_oneline(SSLCERT_NAME *cn, char *buf, int len);
00361 int R_CDECL SSLCERT_get_extension(SSLCERT *cert, const char *oid, int *crit,
00362 unsigned char **data,int *len);
00363 int R_CDECL SSLCERT_get_key_usage_int(SSLCERT *cert, unsigned int *crit,
00364 unsigned long *usage);
00365 int R_CDECL SSLCERT_get_basic_constraints_int(SSLCERT *cert, unsigned int *crit,
00366 unsigned long *constraints, int *is_ca);
00367 unsigned long R_CDECL SSLCERT_keyid_hash(R_ITEM *ck);
00368 int R_CDECL SSLCERT_keyid_cmp(R_ITEM *ck1,R_ITEM *ck2);
00369
00370 /* end group SSL_CERTIFICATE_NAME_FUNCS */
00380 int R_CDECL SSLCERT_verify(SSLCERT *cert,EVP_PKEY *pkey);
00381 int R_CDECL SSLCERT_digest(SSLCERT *cert,EVP_MD *mdtype,
00382 unsigned char *md, unsigned int *len);
00383 int R_CDECL SSLCERT_get_notAfter(SSLCERT *cert,unsigned int *type,unsigned char **pp,
00384 long *length);
00385 int R_CDECL SSLCERT_get_notBefore(SSLCERT *cert,unsigned int *type,unsigned char **pp,
00386 long *length);
00387 int R_CDECL SSLCERT_subject_name_cmp(SSLCERT *cert1,SSLCERT *cert2);
00388 int R_CDECL SSLCERT_SKI_keyid_cmp(SSLCERT *cert1,SSLCERT *cert2);
00389
00390 typedef int ( R_CDECL SSLCERT_APPLICATION_CB_T)(SSL *ssl,void **certs, int count,
00391 char *arg,long *verify_result);
00392
00393 /*
00394 * "application_cb" refers to verification where the SSL context and the
00395 * stack data are passed in directly and walking up and down the chain
00396 * is the responsibility of the application.
00397 *
00398 * "verify_cb" is where the X509_STORE routines are used and the library
00399 * provides default logic for walking the up and down the chain and the
00400 * application can provide a callback that is invoked at each point in the
00401 * verification.
00402 *
00403 * The application programmer is not expected to use these functions - the
00404 * library itself uses this as the interface between the replaceable
00405 * implementations of certificate handling.
00406 *
00407 */
00408 int R_CDECL SSLCERT_do_application_cb(SSL *ssl,STACK *sk,
00409 SSLCERT_APPLICATION_CB_T *cb, char *cbarg,long *verify_result);
00410
00411 int R_CDECL SSLCERT_do_verify_cb(SSL *ssl,STACK *sk,SSLCERT_STORE *cert_store,
00412 int (*cb)(void *ctx,char *arg), char *cbarg,long *verify_result);
00413
00414 /* these are used by the library internally */
00415 int R_CDECL SSLCERT_get_signature_type(SSLCERT *cert);
00416 int R_CDECL SSLCERT_check_private_key(SSLCERT *cert, EVP_PKEY *pkey);
00417 int R_CDECL SSLCERT_compare_ASN1_time(int time_encoding, unsigned char *cert_time,
00418 unsigned int now_time, int *result);
00419 int R_CDECL SSLCERT_verify_signature(int alg_id, unsigned char *data,
00420 unsigned int dlen, unsigned char *signature, unsigned int slen,
00421 EVP_PKEY *pubkey);
00422
00423 /* end group SSL_CERTIFICATE_VERIFICATION */
00433 /* certificate store handling functions */
00434 SSLCERT_STORE_CTX * R_CDECL SSLCERT_STORE_CTX_new(void);
00435 void R_CDECL SSLCERT_STORE_CTX_init(SSLCERT_STORE_CTX *cctx, SSLCERT_STORE *cstore,
00436 SSLCERT *cert,void *chain);
00437 void R_CDECL SSLCERT_STORE_CTX_free(SSLCERT_STORE_CTX *ctx);
00438 void R_CDECL SSLCERT_STORE_CTX_cleanup(SSLCERT_STORE_CTX *csctx);
00439 int R_CDECL SSLCERT_STORE_get_by_subject(SSLCERT_STORE_CTX *csctx,int type,
00440 SSLCERT_NAME *cn,void *ret);
00441 int R_CDECL SSLCERT_STORE_get_by_SKI(SSLCERT_STORE_CTX *csctx,int type,
00442 R_ITEM *ck,void *ret);
00443 SSLCERT_STORE * R_CDECL SSLCERT_STORE_new(void);
00444 void R_CDECL SSLCERT_STORE_free(SSLCERT_STORE *cstore);
00445
00446 int R_CDECL SSLCERT_STORE_CTX_get_ex_new_index(long argl, char *argp,
00447 int (*new_func)(), int (*dup_func)(), void (*free_func)());
00448 int R_CDECL SSLCERT_STORE_CTX_cleanup_ex_data(void);
00449 int R_CDECL SSLCERT_STORE_CTX_set_ex_data(SSLCERT_STORE_CTX *cctx,int idx,char *data);
00450 char * R_CDECL SSLCERT_STORE_CTX_get_ex_data(SSLCERT_STORE_CTX *cctx,int idx);
00451 int R_CDECL SSLCERT_STORE_CTX_get_error(SSLCERT_STORE_CTX *cctx);
00452 void R_CDECL SSLCERT_STORE_CTX_set_error(SSLCERT_STORE_CTX *cctx,int s);
00453 int R_CDECL SSLCERT_STORE_CTX_get_error_depth(SSLCERT_STORE_CTX *cctx);
00454 void * R_CDECL SSLCERT_STORE_CTX_get_current_cert(SSLCERT_STORE_CTX *cctx);
00455
00456 int R_CDECL SSLCERT_STORE_load_locations(SSLCERT_STORE *cstore, char *file, char *dir);
00457 int R_CDECL SSLCERT_STORE_set_default_paths(SSLCERT_STORE *cstore);
00458
00459 typedef int R_CDECL SSLCERT_STORE_VERIFY_CB_T(int ok, SSLCERT_STORE_CTX *store_ctx);
00460
00461 int R_CDECL SSLCERT_STORE_set_verify_cb(SSLCERT_STORE *cstore,
00462 SSLCERT_STORE_VERIFY_CB_T *cb);
00463 /* end group SSL_CERTIFICATE_STORE_FUNCS */
00473 EVP_PKEY * R_CDECL SSLCERT_PKEY_new(void);
00474 void R_CDECL SSLCERT_PKEY_free(EVP_PKEY *pkey);
00475 EVP_PKEY * R_CDECL SSLCERT_PKEY_from_binary(int type, EVP_PKEY **ppkey,
00476 unsigned char **pp, long length);
00477 EVP_PKEY * R_CDECL SSLCERT_PKEY_from_PUBKEY_binary(int type, EVP_PKEY **ppkey,
00478 unsigned char **pp, long length);
00479 void R_CDECL SSLCERT_PKEY_reference_inc(EVP_PKEY *pkey);
00480 int R_CDECL SSLCERT_PKEY_to_binary(EVP_PKEY *ppkey, unsigned char **pp);
00481 int R_CDECL SSLCERT_PKEY_to_PUBKEY_binary(EVP_PKEY *ppkey, unsigned char **pp);
00486 int R_CDECL SSLCERT_STORE_set_meth_data(SSLCERT_STORE *store, void *data);
00487 int R_CDECL SSLCERT_STORE_add_SSLCERT(SSLCERT_STORE *store, SSLCERT *cert);
00488
00489 void R_CDECL ERR_load_SSLCERT_strings(void);
00490
00491 #endif /* !SSLC_SMALL_CODE && !NO_SSLCERT_X509 */
00492
00493 int R_CDECL SSLCERT_set_meth_data(SSLCERT *cert, void *meth_data);
00494 void * R_CDECL SSLCERT_get_meth_data(SSLCERT *cert);
00495
00496 int R_CDECL SSLCERT_PKEY_set_info(SSLCERT_PKEY *pkey, int info_id, void *value);
00497 int R_CDECL SSLCERT_PKEY_get_info(SSLCERT_PKEY *pkey, int info_id, void *value);
00498
00634 /* this is SSLCERT defines for SSLCERT_set_info and SSLCERT_get_info functions,
00635 * their values are derived from the cert module and used in R_CERT_set_info and
00636 * R_CERT_set_info functions.
00637 */
00638 typedef int SSLCERT_INFO;
00639
00643 #define SSLCERT_INFO_SUBJECT 0x0007
00644
00648 #define SSLCERT_INFO_PUBLIC_KEY 0x0009
00649
00654 #define SSLCERT_INFO_ISSUER 0x0004
00655
00660 #define SSLCERT_INFO_SERIAL_NUMBER 0x0002
00661
00665 #define SSLCERT_INFO_BINARY 0x007f
00666
00670 #define SSLCERT_INFO_TYPE 0x00008004
00671
00677 #define SSLCERT_INFO_CERT_TYPE 0x0000800E
00678
00682 #define SSLCERT_TYPE_X509 1
00683
00687 #define SSLCERT_INFO_HW_OBJ 0x20000003
00688
00694 #define SSLCERT_INFO_DELETE 0x20000000
00695
00699 #define SSLCERT_INFO_ID_HW_KEY_TYPE 0x20000017
00700
00704 #define SSLCERT_INFO_HW_LABEL 0x20001001
00705
00715 #define SSLCERT_INFO_HW_CERT_CATEGORY 0x20001002
00716
00721 #define SSLCERT_INFO_HW_ID 0x20001003
00722
00727 #define SSLCERT_INFO_HW_HASH_SUB_PUBKEY 0x20001004
00728
00733 #define SSLCERT_INFO_HW_HASH_ISS_PUBKEY 0x20001005
00734
00743 #define SSLCERT_INFO_HW_URL 0x20001006
00744
00756 #define SSLCERT_INFO_HW_JAVA_MIDP_SEC_DOM 0x20001007
00757
00769 #define SSLCERT_INFO_HW_TRUSTED 0x20001008
00770
00782 #define SSLCERT_INFO_HW_MODIFIABLE 0x20001009
00783
00795 #define SSLCERT_INFO_HW_PRIVATE 0x2000100A
00796
00801 /*
00802 * @addtogroup SSL_CERTIFICATION_INFO_FUNCS
00803 * @{
00804 */
00805
00806 int R_CDECL SSLCERT_set_info(SSLCERT *cert, SSLCERT_INFO info_id, void *value);
00807 int R_CDECL SSLCERT_get_info(SSLCERT *cert, SSLCERT_INFO info_id, void *value);
00808 /* END GROUP SSL_CERTIFICATION_INFO_FUNCS */
00809 /*
00810 *@}
00811 */
00812
00813 /* BEGIN ERROR CODES */
00814 /* Error codes for the SSLCERT functions. */
00815
00816 /* Function codes. */
00817 #define SSLCERT_F_CHECK_PKEY 109
00818 #define SSLCERT_F_COMPARE_ASN1_TIME 154
00819 #define SSLCERT_F_DIGEST 110
00820 #define SSLCERT_F_DO_APPLICATION_CB 111
00821 #define SSLCERT_F_DO_VERIFY_CB 100
00822 #define SSLCERT_F_FINGERPRINT 101
00823 #define SSLCERT_F_FREE 112
00824 #define SSLCERT_F_FROM_BINARY 105
00825 #define SSLCERT_F_FROM_BINARY_BIO 113
00826 #define SSLCERT_F_GET_INFO 166
00827 #define SSLCERT_F_GET_ISSUER_NAME 114
00828 #define SSLCERT_F_GET_NOTAFTER 115
00829 #define SSLCERT_F_GET_NOTBEFORE 116
00830 #define SSLCERT_F_GET_PUBKEY 117
00831 #define SSLCERT_F_GET_SERIALNUMBER_INFO 118
00832 #define SSLCERT_F_GET_SIGNATURE_TYPE 119
00833 #define SSLCERT_F_GET_SUBJECT_NAME 120
00834 #define SSLCERT_F_NAME_CMP 121
00835 #define SSLCERT_F_NAME_DUP 122
00836 #define SSLCERT_F_NAME_ENTRY_GET_INFO 123
00837 #define SSLCERT_F_NAME_FREE 124
00838 #define SSLCERT_F_NAME_FROM_BINARY 125
00839 #define SSLCERT_F_NAME_GET_ENTRY 126
00840 #define SSLCERT_F_NAME_GET_ENTRY_COUNT 127
00841 #define SSLCERT_F_NAME_GET_INFO 128
00842 #define SSLCERT_F_NAME_HASH 129
00843 #define SSLCERT_F_NAME_NEW 130
00844 #define SSLCERT_F_NAME_ONELINE 155
00845 #define SSLCERT_F_GET_SUBJECT_NAME 120
00846 #define SSLCERT_F_NAME_TO_BINARY 131
00847 #define SSLCERT_F_NEW 132
00848 #define SSLCERT_F_PEM_READ_BIO 133
00849 #define SSLCERT_F_PKEY_FREE 134
00850 #define SSLCERT_F_PKEY_FROM_BINARY 107
00851 #define SSLCERT_F_PKEY_FROM_PUBKEY_BINARY 108
00852 #define SSLCERT_F_PKEY_NEW 135
00853 #define SSLCERT_F_REFERENCE_INC 136
00854 #define SSLCERT_F_SET_INFO 167
00855 #define SSLCERT_F_SSLCERT_GET_EXTENSION 156 /* SSLCERT_get_extension */
00856 #define SSLCERT_F_SSLCERT_GET_KEY_USAGE_INT 157 /* SSLCERT_get_key_usage_int */
00857 #define SSLCERT_F_SSLCERT_GET_VERSION 151 /* SSLCERT_get_version */
00858 #define SSLCERT_F_SSLCERT_PKEY_GET_INFO 164 /* SSLCERT_PKEY_get_info */
00859 #define SSLCERT_F_SSLCERT_PKEY_SET_INFO 165 /* SSLCERT_PKEY_set_info */
00860 #define SSLCERT_F_SSLCERT_SET_METH_DATA 160 /* SSLCERT_set_meth_data */
00861 #define SSLCERT_F_SSLCERT_STORE_ADD_SSLCERT 161 /* SSLCERT_STORE_add_SSLCERT */
00862 #define SSLCERT_F_SSLCERT_STORE_SET_METH_DATA 159 /* SSLCERT_STORE_set_meth_data */
00863 #define SSLCERT_F_STORE_CTX_CLEANUP 137
00864 #define SSLCERT_F_STORE_CTX_CLEANUP_EX_DATA 138
00865 #define SSLCERT_F_STORE_CTX_FREE 152
00866 #define SSLCERT_F_STORE_CTX_GET_CURRENT_CERT 139
00867 #define SSLCERT_F_STORE_CTX_GET_ERROR 140
00868 #define SSLCERT_F_STORE_CTX_GET_ERROR_DEPTH 141
00869 #define SSLCERT_F_STORE_CTX_GET_EX_DATA 142
00870 #define SSLCERT_F_STORE_CTX_GET_EX_NEW_INDEX 102
00871 #define SSLCERT_F_STORE_CTX_INIT 143
00872 #define SSLCERT_F_STORE_CTX_NEW 153
00873 #define SSLCERT_F_STORE_CTX_SET_ERROR 144
00874 #define SSLCERT_F_STORE_CTX_SET_EX_DATA 145
00875 #define SSLCERT_F_STORE_FREE 146
00876 #define SSLCERT_F_STORE_GET_BY_SUBJECT 147
00877 #define SSLCERT_F_STORE_LOAD_LOCATIONS 103
00878 #define SSLCERT_F_STORE_NEW 148
00879 #define SSLCERT_F_STORE_SET_DEFAULT_PATHS 104
00880 #define SSLCERT_F_SUBJECT_NAME_CMP 149
00881 #define SSLCERT_F_TO_BINARY 106
00882 #define SSLCERT_F_VERIFY 150
00883 #define SSLCERT_F_KEYID_HASH 168
00884 #define SSLCERT_F_KEYID_CMP 169
00885 #define SSLCERT_F_STORE_GET_BY_SKI 170
00886 #define SSLCERT_F_SKI_KEYID_CMP 171
00887 #define SSLCERT_F_GET_AKI_KEYID 172
00888 #define SSLCERT_F_GET_SKI_KEYID 173
00889 #define SSLCERT_F_PKEY_TO_BINARY 174
00890 #define SSLCERT_F_PKEY_TO_PUBKEY_BINARY 175
00891
00892
00893 /* Reason codes. */
00894 #define SSLCERT_R_UNKNOWN_TIME_FORMAT 101
00895
00896 #ifdef __cplusplus
00897 }
00898 #endif
00899 #endif
00900