gwenhywfar  4.7.0beta
ctf_context.c
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Wed Mar 16 2005
3  copyright : (C) 2005-2010 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 #ifdef HAVE_CONFIG_H
11 # include <config.h>
12 #endif
13 
14 #define DISABLE_DEBUGLOG
15 
16 
17 #include "ctf_context_p.h"
18 #include <gwenhywfar/misc.h>
19 #include <gwenhywfar/debug.h>
20 
21 
22 
23 
24 
25 GWEN_INHERIT(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT)
26 
27 
28 
29 
32  GWEN_CTF_CONTEXT *fctx;
33 
35  GWEN_NEW_OBJECT(GWEN_CTF_CONTEXT, fctx)
36  GWEN_INHERIT_SETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx, fctx,
38 
39  return ctx;
40 }
41 
42 
43 
45  assert(ctx);
46  return GWEN_INHERIT_ISOFTYPE(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
47 }
48 
49 
50 
52 void GWEN_CTF_Context_freeData(GWEN_UNUSED void *bp, void *p) {
53  GWEN_CTF_CONTEXT *fctx;
54 
55  fctx=(GWEN_CTF_CONTEXT*) p;
56  GWEN_Crypt_Key_free(fctx->localSignKey);
57  GWEN_Crypt_Key_free(fctx->localCryptKey);
58  GWEN_Crypt_Key_free(fctx->remoteSignKey);
59  GWEN_Crypt_Key_free(fctx->remoteCryptKey);
60  GWEN_Crypt_Key_free(fctx->localAuthKey);
61  GWEN_Crypt_Key_free(fctx->remoteAuthKey);
62  GWEN_Crypt_Key_free(fctx->tempLocalSignKey);
63 
64  GWEN_Crypt_Token_KeyInfo_free(fctx->localSignKeyInfo);
65  GWEN_Crypt_Token_KeyInfo_free(fctx->localCryptKeyInfo);
66  GWEN_Crypt_Token_KeyInfo_free(fctx->remoteSignKeyInfo);
67  GWEN_Crypt_Token_KeyInfo_free(fctx->remoteCryptKeyInfo);
68  GWEN_Crypt_Token_KeyInfo_free(fctx->localAuthKeyInfo);
69  GWEN_Crypt_Token_KeyInfo_free(fctx->remoteAuthKeyInfo);
70  GWEN_Crypt_Token_KeyInfo_free(fctx->tempLocalSignKeyInfo);
71 
72  GWEN_FREE_OBJECT(fctx);
73 }
74 
75 
76 
78  GWEN_CTF_CONTEXT *fctx;
79 
80  assert(ctx);
81  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
82  assert(fctx);
83 
84  return fctx->localSignKey;
85 }
86 
87 
88 
90  GWEN_CTF_CONTEXT *fctx;
91 
92  assert(ctx);
93  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
94  assert(fctx);
95 
96  GWEN_Crypt_Key_free(fctx->localSignKey);
97  fctx->localSignKey=k;
98 }
99 
100 
101 
103  GWEN_CTF_CONTEXT *fctx;
104 
105  assert(ctx);
106  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
107  assert(fctx);
108 
109  return fctx->localSignKeyInfo;
110 }
111 
112 
113 
115  GWEN_CTF_CONTEXT *fctx;
116 
117  assert(ctx);
118  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
119  assert(fctx);
120 
121  GWEN_Crypt_Token_KeyInfo_free(fctx->localSignKeyInfo);
122  fctx->localSignKeyInfo=ki;
123 }
124 
125 
126 
128  GWEN_CTF_CONTEXT *fctx;
129 
130  assert(ctx);
131  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
132  assert(fctx);
133 
134  return fctx->localCryptKey;
135 }
136 
137 
138 
140  GWEN_CTF_CONTEXT *fctx;
141 
142  assert(ctx);
143  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
144  assert(fctx);
145 
146  GWEN_Crypt_Key_free(fctx->localCryptKey);
147  fctx->localCryptKey=k;
148 }
149 
150 
151 
153  GWEN_CTF_CONTEXT *fctx;
154 
155  assert(ctx);
156  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
157  assert(fctx);
158 
159  return fctx->localCryptKeyInfo;
160 }
161 
162 
163 
165  GWEN_CTF_CONTEXT *fctx;
166 
167  assert(ctx);
168  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
169  assert(fctx);
170 
171  GWEN_Crypt_Token_KeyInfo_free(fctx->localCryptKeyInfo);
172  fctx->localCryptKeyInfo=ki;
173 }
174 
175 
176 
178  GWEN_CTF_CONTEXT *fctx;
179 
180  assert(ctx);
181  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
182  assert(fctx);
183 
184  return fctx->remoteSignKey;
185 }
186 
187 
188 
190  GWEN_CTF_CONTEXT *fctx;
191 
192  assert(ctx);
193  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
194  assert(fctx);
195 
196  GWEN_Crypt_Key_free(fctx->remoteSignKey);
197  fctx->remoteSignKey=k;
198 }
199 
200 
201 
203  GWEN_CTF_CONTEXT *fctx;
204 
205  assert(ctx);
206  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
207  assert(fctx);
208 
209  return fctx->remoteSignKeyInfo;
210 }
211 
212 
213 
215  GWEN_CTF_CONTEXT *fctx;
216 
217  assert(ctx);
218  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
219  assert(fctx);
220 
221  GWEN_Crypt_Token_KeyInfo_free(fctx->remoteSignKeyInfo);
222  fctx->remoteSignKeyInfo=ki;
223 }
224 
225 
226 
228  GWEN_CTF_CONTEXT *fctx;
229 
230  assert(ctx);
231  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
232  assert(fctx);
233 
234  return fctx->remoteCryptKey;
235 }
236 
237 
238 
240  GWEN_CTF_CONTEXT *fctx;
241 
242  assert(ctx);
243  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
244  assert(fctx);
245 
246  GWEN_Crypt_Key_free(fctx->remoteCryptKey);
247  fctx->remoteCryptKey=k;
248 }
249 
250 
251 
253  GWEN_CTF_CONTEXT *fctx;
254 
255  assert(ctx);
256  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
257  assert(fctx);
258 
259  return fctx->remoteCryptKeyInfo;
260 }
261 
262 
263 
265  GWEN_CTF_CONTEXT *fctx;
266 
267  assert(ctx);
268  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
269  assert(fctx);
270 
271  GWEN_Crypt_Token_KeyInfo_free(fctx->remoteCryptKeyInfo);
272  fctx->remoteCryptKeyInfo=ki;
273 }
274 
275 
276 
278  GWEN_CTF_CONTEXT *fctx;
279 
280  assert(ctx);
281  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
282  assert(fctx);
283 
284  return fctx->localAuthKey;
285 }
286 
287 
288 
290  GWEN_CTF_CONTEXT *fctx;
291 
292  assert(ctx);
293  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
294  assert(fctx);
295 
296  GWEN_Crypt_Key_free(fctx->localAuthKey);
297  fctx->localAuthKey=k;
298 }
299 
300 
301 
303  GWEN_CTF_CONTEXT *fctx;
304 
305  assert(ctx);
306  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
307  assert(fctx);
308 
309  return fctx->localAuthKeyInfo;
310 }
311 
312 
313 
315  GWEN_CTF_CONTEXT *fctx;
316 
317  assert(ctx);
318  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
319  assert(fctx);
320 
321  GWEN_Crypt_Token_KeyInfo_free(fctx->localAuthKeyInfo);
322  fctx->localAuthKeyInfo=ki;
323 }
324 
325 
326 
328  GWEN_CTF_CONTEXT *fctx;
329 
330  assert(ctx);
331  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
332  assert(fctx);
333 
334  return fctx->remoteAuthKey;
335 }
336 
337 
338 
340  GWEN_CTF_CONTEXT *fctx;
341 
342  assert(ctx);
343  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
344  assert(fctx);
345 
346  GWEN_Crypt_Key_free(fctx->remoteAuthKey);
347  fctx->remoteAuthKey=k;
348 }
349 
350 
351 
353  GWEN_CTF_CONTEXT *fctx;
354 
355  assert(ctx);
356  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
357  assert(fctx);
358 
359  return fctx->remoteAuthKeyInfo;
360 }
361 
362 
363 
365  GWEN_CTF_CONTEXT *fctx;
366 
367  assert(ctx);
368  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
369  assert(fctx);
370 
371  GWEN_Crypt_Token_KeyInfo_free(fctx->remoteAuthKeyInfo);
372  fctx->remoteAuthKeyInfo=ki;
373 }
374 
375 
376 
378  GWEN_CTF_CONTEXT *fctx;
379 
380  assert(ctx);
381  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
382  assert(fctx);
383 
384  return fctx->tempLocalSignKey;
385 }
386 
387 
388 
390  GWEN_CTF_CONTEXT *fctx;
391 
392  assert(ctx);
393  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
394  assert(fctx);
395 
396  GWEN_Crypt_Key_free(fctx->tempLocalSignKey);
397  fctx->tempLocalSignKey=k;
398 }
399 
400 
401 
403  GWEN_CTF_CONTEXT *fctx;
404 
405  assert(ctx);
406  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
407  assert(fctx);
408 
409  return fctx->tempLocalSignKeyInfo;
410 }
411 
412 
413 
415  GWEN_CTF_CONTEXT *fctx;
416 
417  assert(ctx);
418  fctx=GWEN_INHERIT_GETDATA(GWEN_CRYPT_TOKEN_CONTEXT, GWEN_CTF_CONTEXT, ctx);
419  assert(fctx);
420 
421  GWEN_Crypt_Token_KeyInfo_free(fctx->tempLocalSignKeyInfo);
422  fctx->tempLocalSignKeyInfo=ki;
423 }
424 
425 
426 
427 
428 
429 
430 
431