00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id: crypttoken.h 1113 2007-01-10 09:14:16Z martin $ 00005 begin : Wed Mar 16 2005 00006 copyright : (C) 2005 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * Please see toplevel file COPYING for license details * 00011 ***************************************************************************/ 00012 00013 00014 #ifndef GWEN_IOLAYER_TLS_H 00015 #define GWEN_IOLAYER_TLS_H 00016 00017 #include <gwenhywfar/iolayer.h> 00018 #include <gwenhywfar/ssl_cert_descr.h> 00019 00020 #ifdef __cplusplus 00021 extern "C" { 00022 #endif 00023 00024 00029 #define GWEN_IO_LAYER_TLS_TYPE "tls" 00030 00034 #define GWEN_IO_LAYER_TLS_FLAGS_REQUEST_CERT 0x00000001 00035 #define GWEN_IO_LAYER_TLS_FLAGS_FORCE_SSL_V3 0x00000002 00036 #define GWEN_IO_LAYER_TLS_FLAGS_ALLOW_V1_CA_CRT 0x00000004 00037 #define GWEN_IO_LAYER_TLS_FLAGS_NEED_PEER_CERT 0x00000008 00038 #define GWEN_IO_LAYER_TLS_FLAGS_ADD_TRUSTED_CAS 0x00000010 00039 #define GWEN_IO_LAYER_TLS_FLAGS_SET_PASSV_HOST_NAME 0x00000020 00040 #define GWEN_IO_LAYER_TLS_FLAGS_SET_PASSV_HOST_IP 0x00000020 00041 00042 #define GWEN_IO_LAYER_TLS_FLAGS_SECURE 0x00008000 00043 00044 00045 00046 00047 GWENHYWFAR_API GWEN_IO_LAYER *GWEN_Io_LayerTls_new(GWEN_IO_LAYER *baseLayer); 00048 00049 00050 GWENHYWFAR_API const char *GWEN_Io_LayerTls_GetLocalCertFile(const GWEN_IO_LAYER *io); 00051 GWENHYWFAR_API void GWEN_Io_LayerTls_SetLocalCertFile(GWEN_IO_LAYER *io, const char *s); 00052 00053 GWENHYWFAR_API const char *GWEN_Io_LayerTls_GetLocalKeyFile(const GWEN_IO_LAYER *io); 00054 GWENHYWFAR_API void GWEN_Io_LayerTls_SetLocalKeyFile(GWEN_IO_LAYER *io, const char *s); 00055 00056 GWENHYWFAR_API const char *GWEN_Io_LayerTls_GetLocalTrustFile(const GWEN_IO_LAYER *io); 00057 GWENHYWFAR_API void GWEN_Io_LayerTls_SetLocalTrustFile(GWEN_IO_LAYER *io, const char *s); 00058 00059 GWENHYWFAR_API const char *GWEN_Io_LayerTls_GetDhParamFile(const GWEN_IO_LAYER *io); 00060 GWENHYWFAR_API void GWEN_Io_LayerTls_SetDhParamFile(GWEN_IO_LAYER *io, const char *s); 00061 00062 GWENHYWFAR_API const char *GWEN_Io_LayerTls_GetRemoteHostName(const GWEN_IO_LAYER *io); 00063 GWENHYWFAR_API void GWEN_Io_LayerTls_SetRemoteHostName(GWEN_IO_LAYER *io, const char *s); 00064 00065 GWENHYWFAR_API GWEN_SSLCERTDESCR *GWEN_Io_LayerTls_GetPeerCertDescr(const GWEN_IO_LAYER *io); 00066 00067 00068 #ifdef __cplusplus 00069 } 00070 #endif 00071 00072 00073 #endif 00074 00075