gwenhywfar
4.3.3
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
crypttoken
ct_be.h
Go to the documentation of this file.
1
/***************************************************************************
2
$RCSfile$
3
-------------------
4
cvs : $Id: crypttoken.h 1113 2007-01-10 09:14:16Z martin $
5
begin : Wed Mar 16 2005
6
copyright : (C) 2005 by Martin Preuss
7
email : martin@libchipcard.de
8
9
***************************************************************************
10
* Please see toplevel file COPYING for license details *
11
***************************************************************************/
12
13
14
#ifndef GWEN_CRYPT_CRYPTTOKEN_BE_H
15
#define GWEN_CRYPT_CRYPTTOKEN_BE_H
16
17
18
#include <gwenhywfar/ct.h>
19
#include <gwenhywfar/inherit.h>
20
#include <gwenhywfar/buffer.h>
21
#include <gwenhywfar/hashalgo.h>
22
23
24
25
GWEN_INHERIT_FUNCTION_LIB_DEFS
(
GWEN_CRYPT_TOKEN
,
GWENHYWFAR_API
)
26
27
28
29
30
34
typedef
int
GWENHYWFAR_CB
35
(*
GWEN_CRYPT_TOKEN_OPEN_FN
)(
GWEN_CRYPT_TOKEN
*ct,
int
admin, uint32_t gid);
36
typedef
int
GWENHYWFAR_CB
37
(*
GWEN_CRYPT_TOKEN_CREATE_FN
)(
GWEN_CRYPT_TOKEN
*ct, uint32_t gid);
38
typedef
int
GWENHYWFAR_CB
39
(*
GWEN_CRYPT_TOKEN_CLOSE_FN
)(
GWEN_CRYPT_TOKEN
*ct,
int
abandon, uint32_t gid);
40
41
typedef
int
GWENHYWFAR_CB
42
(*
GWEN_CRYPT_TOKEN_GETKEYIDLIST_FN
)(
GWEN_CRYPT_TOKEN
*ct,
43
uint32_t *pIdList,
44
uint32_t *pCount,
45
uint32_t gid);
46
typedef const
GWEN_CRYPT_TOKEN_KEYINFO
*
GWENHYWFAR_CB
47
(*
GWEN_CRYPT_TOKEN_GETKEYINFO_FN
)(
GWEN_CRYPT_TOKEN
*ct,
48
uint32_t
id
,
49
uint32_t flags,
50
uint32_t gid);
51
52
typedef
int
GWENHYWFAR_CB
53
(*
GWEN_CRYPT_TOKEN_SETKEYINFO_FN
)(
GWEN_CRYPT_TOKEN
*ct,
54
uint32_t
id
,
55
const
GWEN_CRYPT_TOKEN_KEYINFO
*ki,
56
uint32_t gid);
57
58
typedef
int
GWENHYWFAR_CB
59
(*
GWEN_CRYPT_TOKEN_GETCONTEXTIDLIST_FN
)(
GWEN_CRYPT_TOKEN
*ct,
60
uint32_t *pIdList,
61
uint32_t *pCount,
62
uint32_t gid);
63
typedef const
GWEN_CRYPT_TOKEN_CONTEXT
*
GWENHYWFAR_CB
64
(*
GWEN_CRYPT_TOKEN_GETCONTEXT_FN
)(
GWEN_CRYPT_TOKEN
*ct,
65
uint32_t
id
,
66
uint32_t gid);
67
68
typedef
int
GWENHYWFAR_CB
69
(*
GWEN_CRYPT_TOKEN_SETCONTEXT_FN
)(
GWEN_CRYPT_TOKEN
*ct,
70
uint32_t
id
,
71
const
GWEN_CRYPT_TOKEN_CONTEXT
*ctx,
72
uint32_t gid);
73
74
75
typedef
int
GWENHYWFAR_CB
76
(*
GWEN_CRYPT_TOKEN_SIGN_FN
)(
GWEN_CRYPT_TOKEN
*ct,
77
uint32_t keyId,
78
GWEN_CRYPT_PADDALGO
*a,
79
const uint8_t *pInData,
80
uint32_t inLen,
81
uint8_t *pSignatureData,
82
uint32_t *pSignatureLen,
83
uint32_t *pSeqCounter,
84
uint32_t gid);
85
86
typedef
int
GWENHYWFAR_CB
87
(*
GWEN_CRYPT_TOKEN_VERIFY_FN
)(
GWEN_CRYPT_TOKEN
*ct,
88
uint32_t keyId,
89
GWEN_CRYPT_PADDALGO
*a,
90
const uint8_t *pInData,
91
uint32_t inLen,
92
const uint8_t *pSignatureData,
93
uint32_t signatureLen,
94
uint32_t seqCounter,
95
uint32_t gid);
96
97
typedef
int
GWENHYWFAR_CB
98
(*
GWEN_CRYPT_TOKEN_ENCIPHER_FN
)(
GWEN_CRYPT_TOKEN
*ct,
99
uint32_t keyId,
100
GWEN_CRYPT_PADDALGO
*a,
101
const uint8_t *pInData,
102
uint32_t inLen,
103
uint8_t *pOutData,
104
uint32_t *pOutLen,
105
uint32_t gid);
106
107
typedef
int
GWENHYWFAR_CB
108
(*
GWEN_CRYPT_TOKEN_DECIPHER_FN
)(
GWEN_CRYPT_TOKEN
*ct,
109
uint32_t keyId,
110
GWEN_CRYPT_PADDALGO
*a,
111
const uint8_t *pInData,
112
uint32_t inLen,
113
uint8_t *pOutData,
114
uint32_t *pOutLen,
115
uint32_t gid);
116
117
118
typedef
int
GWENHYWFAR_CB
119
(*
GWEN_CRYPT_TOKEN_GENERATEKEY_FN
)(
GWEN_CRYPT_TOKEN
*ct,
120
uint32_t keyId,
121
const
GWEN_CRYPT_CRYPTALGO
*a,
122
uint32_t gid);
123
124
typedef
int
GWENHYWFAR_CB
125
(*
GWEN_CRYPT_TOKEN_CHANGEPIN_FN
)(
GWEN_CRYPT_TOKEN
*ct,
int
admin, uint32_t gid);
126
127
typedef
int
GWENHYWFAR_CB
128
(*
GWEN_CRYPT_TOKEN_ACTIVATEKEY_FN
)(
GWEN_CRYPT_TOKEN
*ct, uint32_t
id
, uint32_t gid);
129
139
GWENHYWFAR_API
GWEN_CRYPT_TOKEN
*
GWEN_Crypt_Token_new
(
GWEN_CRYPT_TOKEN_DEVICE
dev,
140
const
char
*typeName,
141
const
char
*tokenName);
150
GWENHYWFAR_API
void
GWEN_Crypt_Token_SetTokenName
(
GWEN_CRYPT_TOKEN
*ct, const
char
*s);
151
152
GWENHYWFAR_API
void
GWEN_Crypt_Token_SetFlags
(
GWEN_CRYPT_TOKEN
*ct, uint32_t f);
153
GWENHYWFAR_API
void
GWEN_Crypt_Token_AddFlags
(
GWEN_CRYPT_TOKEN
*ct, uint32_t f);
154
GWENHYWFAR_API
void
GWEN_Crypt_Token_SubFlags
(
GWEN_CRYPT_TOKEN
*ct, uint32_t f);
163
GWENHYWFAR_API
int
GWEN_Crypt_Token_GetPin
(
GWEN_CRYPT_TOKEN
*ct,
164
GWEN_CRYPT_PINTYPE
pt,
165
GWEN_CRYPT_PINENCODING
pe,
166
uint32_t flags,
167
unsigned
char
*pwbuffer,
168
unsigned
int
minLength,
169
unsigned
int
maxLength,
170
unsigned
int
*pinLength,
171
uint32_t gid);
172
173
174
GWENHYWFAR_API
int
GWEN_Crypt_Token_SetPinStatus
(
GWEN_CRYPT_TOKEN
*ct,
175
GWEN_CRYPT_PINTYPE
pt,
176
GWEN_CRYPT_PINENCODING
pe,
177
uint32_t flags,
178
const
unsigned
char
*buffer,
179
unsigned
int
pinLength,
180
int
isOk,
181
uint32_t gid);
182
183
GWENHYWFAR_API
uint32_t
GWEN_Crypt_Token_BeginEnterPin
(
GWEN_CRYPT_TOKEN
*ct,
184
GWEN_CRYPT_PINTYPE
pt,
185
uint32_t gid);
186
187
GWENHYWFAR_API
int
GWEN_Crypt_Token_EndEnterPin
(
GWEN_CRYPT_TOKEN
*ct,
188
GWEN_CRYPT_PINTYPE
pt,
189
int
ok,
190
uint32_t
id
);
191
192
GWENHYWFAR_API
int
GWEN_Crypt_Token_InsertToken
(
GWEN_CRYPT_TOKEN
*ct, uint32_t gid);
193
194
GWENHYWFAR_API
int
GWEN_Crypt_Token_InsertCorrectToken
(
GWEN_CRYPT_TOKEN
*ct, uint32_t gid);
204
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_OPEN_FN
GWEN_Crypt_Token_SetOpenFn
(
GWEN_CRYPT_TOKEN
*ct,
205
GWEN_CRYPT_TOKEN_OPEN_FN
f);
206
207
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_CREATE_FN
GWEN_Crypt_Token_SetCreateFn
(
GWEN_CRYPT_TOKEN
*ct,
208
GWEN_CRYPT_TOKEN_CREATE_FN
f);
209
210
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_CLOSE_FN
GWEN_Crypt_Token_SetCloseFn
(
GWEN_CRYPT_TOKEN
*ct,
211
GWEN_CRYPT_TOKEN_CLOSE_FN
f);
212
213
GWENHYWFAR_API
214
GWEN_CRYPT_TOKEN_GETKEYIDLIST_FN
GWEN_Crypt_Token_SetGetKeyIdListFn
(
GWEN_CRYPT_TOKEN
*ct,
215
GWEN_CRYPT_TOKEN_GETKEYIDLIST_FN
f);
216
217
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_GETKEYINFO_FN
GWEN_Crypt_Token_SetGetKeyInfoFn
(
GWEN_CRYPT_TOKEN
*ct,
218
GWEN_CRYPT_TOKEN_GETKEYINFO_FN
f);
219
220
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_SETKEYINFO_FN
GWEN_Crypt_Token_SetSetKeyInfoFn
(
GWEN_CRYPT_TOKEN
*ct,
221
GWEN_CRYPT_TOKEN_SETKEYINFO_FN
f);
222
223
GWENHYWFAR_API
224
GWEN_CRYPT_TOKEN_GETCONTEXTIDLIST_FN
GWEN_Crypt_Token_SetGetContextIdListFn
(
GWEN_CRYPT_TOKEN
*ct,
225
GWEN_CRYPT_TOKEN_GETCONTEXTIDLIST_FN
f);
226
227
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_GETCONTEXT_FN
GWEN_Crypt_Token_SetGetContextFn
(
GWEN_CRYPT_TOKEN
*ct,
228
GWEN_CRYPT_TOKEN_GETCONTEXT_FN
f);
229
230
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_SETCONTEXT_FN
GWEN_Crypt_Token_SetSetContextFn
(
GWEN_CRYPT_TOKEN
*ct,
231
GWEN_CRYPT_TOKEN_SETCONTEXT_FN
f);
232
233
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_SIGN_FN
GWEN_Crypt_Token_SetSignFn
(
GWEN_CRYPT_TOKEN
*ct,
234
GWEN_CRYPT_TOKEN_SIGN_FN
f);
235
236
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_VERIFY_FN
GWEN_Crypt_Token_SetVerifyFn
(
GWEN_CRYPT_TOKEN
*ct,
237
GWEN_CRYPT_TOKEN_VERIFY_FN
f);
238
239
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_ENCIPHER_FN
GWEN_Crypt_Token_SetEncipherFn
(
GWEN_CRYPT_TOKEN
*ct,
240
GWEN_CRYPT_TOKEN_ENCIPHER_FN
f);
241
242
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_DECIPHER_FN
GWEN_Crypt_Token_SetDecipherFn
(
GWEN_CRYPT_TOKEN
*ct,
243
GWEN_CRYPT_TOKEN_DECIPHER_FN
f);
244
245
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_GENERATEKEY_FN
GWEN_Crypt_Token_SetGenerateKeyFn
(
GWEN_CRYPT_TOKEN
*ct,
246
GWEN_CRYPT_TOKEN_GENERATEKEY_FN
f);
247
248
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_CHANGEPIN_FN
GWEN_Crypt_Token_SetChangePinFn
(
GWEN_CRYPT_TOKEN
*ct,
249
GWEN_CRYPT_TOKEN_CHANGEPIN_FN
f);
250
251
GWEN_CRYPT_TOKEN_ACTIVATEKEY_FN
GWEN_Crypt_Token_SetActivateKeyFn
(
GWEN_CRYPT_TOKEN
*ct,
252
GWEN_CRYPT_TOKEN_ACTIVATEKEY_FN
f);
253
259
#endif
260
261
Generated on Thu Mar 20 2014 17:05:59 for gwenhywfar by
1.8.1.2