crypttoken_context.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: crypttoken_context.h 988 2006-02-15 02:05:42Z aquamaniac $
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_CRYPTTOKEN_CONTEXT_H
00015 #define GWEN_CRYPTTOKEN_CONTEXT_H
00016 
00017 #include <gwenhywfar/keyspec.h>
00018 #include <gwenhywfar/crypt.h>
00019 #include <gwenhywfar/buffer.h>
00020 #include <gwenhywfar/db.h>
00021 #include <gwenhywfar/xml.h>
00022 #include <gwenhywfar/plugin.h>
00023 
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 
00030 typedef struct GWEN_CRYPTTOKEN_CONTEXT GWEN_CRYPTTOKEN_CONTEXT;
00031 
00032 
00033 GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_CRYPTTOKEN_CONTEXT,
00034                             GWEN_CryptToken_Context,
00035                             GWENHYWFAR_API)
00036 
00037 
00038 typedef enum {
00039   GWEN_CryptToken_ContextType_Any=0,
00040   GWEN_CryptToken_ContextType_Hbci,
00041   GWEN_CryptToken_ContextType_Rsa,
00042   GWEN_CryptToken_ContextType_Unknown=9999,
00043 } GWEN_CRYPTTOKEN_CONTEXTTYPE;
00044 
00045 
00046 GWENHYWFAR_API
00047 GWEN_CRYPTTOKEN_CONTEXTTYPE GWEN_CryptToken_ContextType_fromString(const char *s);
00048 
00049 GWENHYWFAR_API
00050 const char *GWEN_CryptToken_ContextType_toString(GWEN_CRYPTTOKEN_CONTEXTTYPE t);
00051 
00052 
00053 
00058 GWENHYWFAR_API
00059 GWEN_CRYPTTOKEN_CONTEXT *GWEN_CryptToken_Context_new();
00060 
00061 GWENHYWFAR_API
00062 void GWEN_CryptToken_Context_free(GWEN_CRYPTTOKEN_CONTEXT *ctx);
00063 
00064 GWENHYWFAR_API
00065 GWEN_CRYPTTOKEN_CONTEXT*
00066   GWEN_CryptToken_Context_dup(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00067 
00068 GWENHYWFAR_API
00069 GWEN_CRYPTTOKEN_CONTEXT *GWEN_CryptToken_Context_fromDb(GWEN_DB_NODE *db);
00070 
00071 GWENHYWFAR_API
00072 int GWEN_CryptToken_Context_toDb(const GWEN_CRYPTTOKEN_CONTEXT *ctx,
00073                                  GWEN_DB_NODE *db);
00074 
00075 
00076 GWENHYWFAR_API
00077 GWEN_TYPE_UINT32
00078   GWEN_CryptToken_Context_GetId(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00079 
00080 GWENHYWFAR_API
00081 void GWEN_CryptToken_Context_SetId(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00082                                    GWEN_TYPE_UINT32 id);
00083 
00084 GWENHYWFAR_API
00085 GWEN_CRYPTTOKEN_CONTEXTTYPE
00086   GWEN_CryptToken_Context_GetContextType(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00087 
00088 GWENHYWFAR_API
00089 void GWEN_CryptToken_Context_SetContextType(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00090                                             GWEN_CRYPTTOKEN_CONTEXTTYPE t);
00091 
00092 
00093 GWENHYWFAR_API
00094 const char*
00095   GWEN_CryptToken_Context_GetDescription(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00096 
00097 GWENHYWFAR_API
00098 void GWEN_CryptToken_Context_SetDescription(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00099                                            const char *s);
00100 
00101 GWENHYWFAR_API
00102 GWEN_CRYPTTOKEN_KEYINFO*
00103   GWEN_CryptToken_Context_GetSignKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00104 
00105 GWENHYWFAR_API
00106 void
00107   GWEN_CryptToken_Context_SetSignKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00108                                          const GWEN_CRYPTTOKEN_KEYINFO *ki);
00109 
00110 GWENHYWFAR_API
00111 GWEN_CRYPTTOKEN_KEYINFO*
00112   GWEN_CryptToken_Context_GetLocalAuthKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00113 
00114 GWENHYWFAR_API
00115 void
00116   GWEN_CryptToken_Context_SetLocalAuthKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00117                                               const GWEN_CRYPTTOKEN_KEYINFO *ki);
00118 
00119 GWENHYWFAR_API
00120 GWEN_CRYPTTOKEN_KEYINFO*
00121   GWEN_CryptToken_Context_GetRemoteAuthKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00122 
00123 GWENHYWFAR_API
00124 void
00125   GWEN_CryptToken_Context_SetRemoteAuthKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00126                                                const GWEN_CRYPTTOKEN_KEYINFO *ki);
00127 
00128 GWENHYWFAR_API
00129 GWEN_CRYPTTOKEN_KEYINFO*
00130   GWEN_CryptToken_Context_GetVerifyKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00131 
00132 GWENHYWFAR_API
00133 void
00134   GWEN_CryptToken_Context_SetVerifyKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00135                                            const GWEN_CRYPTTOKEN_KEYINFO *ki);
00136 
00137 GWENHYWFAR_API
00138 GWEN_CRYPTTOKEN_KEYINFO*
00139   GWEN_CryptToken_Context_GetEncryptKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00140 
00141 GWENHYWFAR_API
00142 void
00143   GWEN_CryptToken_Context_SetEncryptKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00144                                             const GWEN_CRYPTTOKEN_KEYINFO *ki);
00145 
00146 GWENHYWFAR_API
00147 GWEN_CRYPTTOKEN_KEYINFO*
00148   GWEN_CryptToken_Context_GetDecryptKeyInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00149 
00150 GWENHYWFAR_API
00151 void
00152   GWEN_CryptToken_Context_SetDecryptKeyInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00153                                             const GWEN_CRYPTTOKEN_KEYINFO *ki);
00154 
00155 GWENHYWFAR_API
00156 GWEN_CRYPTTOKEN_SIGNINFO*
00157   GWEN_CryptToken_Context_GetSignInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00158 
00159 GWENHYWFAR_API
00160 void GWEN_CryptToken_Context_SetSignInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00161                                          const GWEN_CRYPTTOKEN_SIGNINFO *si);
00162 
00163 GWENHYWFAR_API
00164 GWEN_CRYPTTOKEN_CRYPTINFO*
00165   GWEN_CryptToken_Context_GetCryptInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00166 
00167 GWENHYWFAR_API
00168 void GWEN_CryptToken_Context_SetCryptInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00169                                           const GWEN_CRYPTTOKEN_CRYPTINFO *ci);
00170 
00171 GWENHYWFAR_API
00172 GWEN_CRYPTTOKEN_SIGNINFO*
00173   GWEN_CryptToken_Context_GetAuthInfo(const GWEN_CRYPTTOKEN_CONTEXT *ctx);
00174 
00175 GWENHYWFAR_API
00176 void GWEN_CryptToken_Context_SetAuthInfo(GWEN_CRYPTTOKEN_CONTEXT *ctx,
00177                                          const GWEN_CRYPTTOKEN_SIGNINFO *si);
00178 
00182 #ifdef __cplusplus
00183 }
00184 #endif
00185 
00186 
00187 #endif /* GWEN_CRYPTTOKEN_CONTEXT_H */
00188 
00189 

Generated on Wed Jun 21 00:59:52 2006 for gwenhywfar by  doxygen 1.4.6