RSA BSAFE Micro Edition Suite

Streamlined security for mobile and embedded devices

Search  Print

cert.h

Go to the documentation of this file.
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 

Copyright (c) 1999-2005 RSA Security Inc. All rights reserved. 072-001001-2100-001-000 - 2.1