1 /***************************************************************************
2     begin       : Mon Mar 01 2004
3     copyright   : (C) 2004-2010 by Martin Preuss
4     email       : martin@libchipcard.de
5 
6  ***************************************************************************
7  *          Please see toplevel file COPYING for license details           *
8  ***************************************************************************/
9 
10 #ifndef AQEBICS_MSG_KEYS_H
11 #define AQEBICS_MSG_KEYS_H
12 
13 
14 #include <aqebics/aqebics.h>
15 
16 #include <gwenhywfar/cryptkey.h>
17 #include <gwenhywfar/buffer.h>
18 #include <gwenhywfar/ct.h>
19 
20 #include <libxml/tree.h>
21 
22 
23 EB_RC EB_Key_toBin(const GWEN_CRYPT_KEY *k,
24                    const char *userId,
25                    const char *version,
26                    int keySize,
27                    GWEN_BUFFER *buf);
28 
29 EB_RC EB_Key_fromBin(GWEN_CRYPT_KEY **k,
30                      const char *version,
31                      char *bufUserId,
32                      unsigned int lenUserId,
33                      const char *p, unsigned int bsize);
34 
35 
36 EB_RC EB_Key_toXml(GWEN_CRYPT_KEY *k, xmlNodePtr node);
37 EB_RC EB_Key_fromXml(GWEN_CRYPT_KEY **k, xmlNodePtr node);
38 
39 int EB_Key_Info_toXml(const GWEN_CRYPT_TOKEN_KEYINFO *ki, xmlNodePtr node);
40 EB_RC EB_Key_Info_ReadXml(GWEN_CRYPT_TOKEN_KEYINFO *ki, xmlNodePtr node);
41 
42 EB_RC EB_Key_Info_toBin(const GWEN_CRYPT_TOKEN_KEYINFO *ki,
43                         const char *userId,
44                         const char *version,
45                         int keySize,
46                         GWEN_BUFFER *buf);
47 
48 
49 int EB_Key_BuildHashSha1(const GWEN_CRYPT_KEY *k, GWEN_BUFFER *hbuf, int encode64);
50 int EB_Key_BuildHashSha256(const GWEN_CRYPT_KEY *k, GWEN_BUFFER *hbuf, int encode64);
51 
52 int EB_Key_Info_BuildHashSha1(const GWEN_CRYPT_TOKEN_KEYINFO *ki,
53                               GWEN_BUFFER *hbuf,
54                               int encode64);
55 
56 int EB_Key_Info_BuildHashSha256(const GWEN_CRYPT_TOKEN_KEYINFO *ki,
57                                 GWEN_BUFFER *hbuf,
58                                 int encode64);
59 
60 
61 int EB_Key_Info_BuildSigHash_Rmd160(const GWEN_CRYPT_TOKEN_KEYINFO *ki, GWEN_BUFFER *hbuf);
62 
63 int EB_Key_Info_BuildSigHash_Sha256(const GWEN_CRYPT_TOKEN_KEYINFO *ki, GWEN_BUFFER *hbuf);
64 
65 
66 #endif
67