cryptmgr.h

Go to the documentation of this file.
00001 /***************************************************************************
00002     begin       : Mon Dec 01 2008
00003     copyright   : (C) 2008 by Martin Preuss
00004     email       : martin@libchipcard.de
00005 
00006  ***************************************************************************
00007  *          Please see toplevel file COPYING for license details           *
00008  ***************************************************************************/
00009 
00010 
00011 #ifndef GWEN_CRYPTMGR_CRYPTMGR_H
00012 #define GWEN_CRYPTMGR_CRYPTMGR_H
00013 
00014 
00015 #include <gwenhywfar/buffer.h>
00016 
00059 
00060 #define GWEN_CRYPTMGR_TLV_SIGNEDOBJECT      0x21
00061 #define GWEN_CRYPTMGR_TLV_ENCRYPTEDOBJECT   0x22
00062 
00063 
00064 typedef struct GWEN_CRYPTMGR GWEN_CRYPTMGR;
00065 
00066 
00067 typedef enum {
00068   GWEN_CryptProfile_None=0,
00075   GWEN_CryptProfile_1=1
00076 } GWEN_CRYPT_PROFILE;
00077 
00078 
00079 typedef enum {
00080   GWEN_SignatureProfile_None=0,
00086   GWEN_SignatureProfile_1=1
00087 } GWEN_SIGNATURE_PROFILE;
00088 
00089 
00090 #ifdef __cplusplus
00091 extern "C" {
00092 #endif
00093 
00094 
00095 GWENHYWFAR_API
00096 void GWEN_CryptMgr_free(GWEN_CRYPTMGR *cm);
00097 
00102 GWENHYWFAR_API
00103 const char *GWEN_CryptMgr_GetLocalKeyName(const GWEN_CRYPTMGR *cm);
00104 
00105 GWENHYWFAR_API
00106 int GWEN_CryptMgr_GetLocalKeyNumber(const GWEN_CRYPTMGR *cm);
00107 
00108 GWENHYWFAR_API
00109 int GWEN_CryptMgr_GetLocalKeyVersion(const GWEN_CRYPTMGR *cm);
00117 GWENHYWFAR_API
00118 const char *GWEN_CryptMgr_GetPeerKeyName(const GWEN_CRYPTMGR *cm);
00119 
00120 GWENHYWFAR_API
00121 int GWEN_CryptMgr_GetPeerKeyNumber(const GWEN_CRYPTMGR *cm);
00122 
00123 GWENHYWFAR_API
00124 int GWEN_CryptMgr_GetPeerKeyVersion(const GWEN_CRYPTMGR *cm);
00132 GWENHYWFAR_API
00133 int GWEN_CryptMgr_GetCryptProfile(const GWEN_CRYPTMGR *cm);
00134 
00135 GWENHYWFAR_API
00136 void GWEN_CryptMgr_SetCryptProfile(GWEN_CRYPTMGR *cm, int i);
00137 
00138 GWENHYWFAR_API
00139 int GWEN_CryptMgr_GetSignatureProfile(const GWEN_CRYPTMGR *cm);
00140 
00141 GWENHYWFAR_API
00142 void GWEN_CryptMgr_SetSignatureProfile(GWEN_CRYPTMGR *cm, int i);
00150 
00154 GWENHYWFAR_API
00155 int GWEN_CryptMgr_Sign(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00156 
00160 GWENHYWFAR_API
00161 int GWEN_CryptMgr_Encrypt(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00162 
00166 GWENHYWFAR_API
00167 int GWEN_CryptMgr_Verify(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00168 
00172 GWENHYWFAR_API
00173 int GWEN_CryptMgr_Decrypt(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00183 
00188 GWENHYWFAR_API
00189 int GWEN_CryptMgr_Encode(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00190 
00195 GWENHYWFAR_API
00196 int GWEN_CryptMgr_Decode(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00200 #ifdef __cplusplus
00201 }
00202 #endif
00203  /* defgroup */
00205 
00206 
00207 #endif
00208 
00209 

Generated on Thu Aug 20 13:54:37 2009 for gwenhywfar by  doxygen 1.5.9