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