00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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
00188
00189