gwenhywfar  4.15.2beta
ct_keyinfo.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_TOKEN_KEYINFO_H
15 #define GWEN_CRYPT_TOKEN_KEYINFO_H
16 
17 
18 #include <gwenhywfar/list1.h>
19 #include <gwenhywfar/list2.h>
20 
21 
22 
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
31 
32 #ifdef __cplusplus
33 }
34 #endif
35 
36 
37 
42 typedef enum {
56 #define GWEN_CRYPT_TOKEN_KEYFLAGS_HASSTATUS 0x00010000
57 #define GWEN_CRYPT_TOKEN_KEYFLAGS_HASMODULUS 0x00020000
58 #define GWEN_CRYPT_TOKEN_KEYFLAGS_HASEXPONENT 0x00040000
59 #define GWEN_CRYPT_TOKEN_KEYFLAGS_HASACTIONFLAGS 0x00080000
60 #define GWEN_CRYPT_TOKEN_KEYFLAGS_HASKEYVERSION 0x00100000
61 #define GWEN_CRYPT_TOKEN_KEYFLAGS_HASSIGNCOUNTER 0x00200000
62 #define GWEN_CRYPT_TOKEN_KEYFLAGS_HASKEYNUMBER 0x00400000
63 
64 #define GWEN_CRYPT_TOKEN_KEYFLAGS_ACTIONMASK 0x0000000f
65 #define GWEN_CRYPT_TOKEN_KEYFLAGS_CANSIGN 0x00000001
66 #define GWEN_CRYPT_TOKEN_KEYFLAGS_CANVERIFY 0x00000002
67 #define GWEN_CRYPT_TOKEN_KEYFLAGS_CANENCIPHER 0x00000004
68 #define GWEN_CRYPT_TOKEN_KEYFLAGS_CANDECIPHER 0x00000008
69 
73 #include <gwenhywfar/cryptalgo.h>
74 #include <gwenhywfar/cryptalgo.h>
75 
76 
77 #ifdef __cplusplus
78 extern "C" {
79 #endif
80 
81 
85  int keySize);
86 
89 
92 
95 
98 
101 
102 
105 
108 
111 
114 
117 
120 
123 
126 
129 
132  const uint8_t *p,
133  uint32_t len);
134 
137 
140 
143  const uint8_t *p,
144  uint32_t len);
145 
148 
151  uint32_t i);
152 
155 
158  uint32_t i);
159 
162 
165  uint32_t i);
166 
167 
168 #ifdef __cplusplus
169 }
170 #endif
171 
172 
173 #endif
174 
175 
176 
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_KeyInfo_GetKeyId(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetSignCounter(GWEN_CRYPT_TOKEN_KEYINFO *ki, uint32_t i)
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_AddFlags(GWEN_CRYPT_TOKEN_KEYINFO *ki, uint32_t f)
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_KeyInfo_GetModulusLen(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API int GWEN_Crypt_Token_KeyInfo_GetKeySize(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SubFlags(GWEN_CRYPT_TOKEN_KEYINFO *ki, uint32_t f)
GWENHYWFAR_API GWEN_CRYPT_TOKEN_KEYINFO * GWEN_Crypt_Token_KeyInfo_new(uint32_t kid, GWEN_CRYPT_CRYPTALGOID a, int keySize)
GWENHYWFAR_API const uint8_t * GWEN_Crypt_Token_KeyInfo_GetModulusData(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetKeyNumber(GWEN_CRYPT_TOKEN_KEYINFO *ki, uint32_t i)
GWENHYWFAR_API const uint8_t * GWEN_Crypt_Token_KeyInfo_GetExponentData(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetKeyDescr(GWEN_CRYPT_TOKEN_KEYINFO *ki, const char *s)
GWEN_CRYPT_TOKEN_KEYSTATUS
Definition: ct_keyinfo.h:42
GWEN_CRYPT_CRYPTALGOID
Definition: cryptalgo.h:50
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetModulus(GWEN_CRYPT_TOKEN_KEYINFO *ki, const uint8_t *p, uint32_t len)
#define GWEN_LIST2_FUNCTION_LIB_DEFS(t, pr, decl)
Definition: list2.h:56
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetKeyVersion(GWEN_CRYPT_TOKEN_KEYINFO *ki, uint32_t i)
GWENHYWFAR_API const char * GWEN_Crypt_Token_KeyInfo_GetKeyDescr(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API GWEN_CRYPT_CRYPTALGOID GWEN_Crypt_Token_KeyInfo_GetCryptAlgoId(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_KeyInfo_GetKeyVersion(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
#define GWENHYWFAR_API
Definition: gwenhywfarapi.h:67
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetKeySize(GWEN_CRYPT_TOKEN_KEYINFO *ki, int i)
struct GWEN_CRYPT_TOKEN_KEYINFO GWEN_CRYPT_TOKEN_KEYINFO
Definition: ct_keyinfo.h:23
#define GWEN_LIST_FUNCTION_LIB_DEFS(t, pr, decl)
Definition: list1.h:349
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_free(GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetFlags(GWEN_CRYPT_TOKEN_KEYINFO *ki, uint32_t f)
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_KeyInfo_GetSignCounter(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
This file contains some macros concerning lists.
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_KeyInfo_GetKeyNumber(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API GWEN_CRYPT_TOKEN_KEYINFO * GWEN_Crypt_Token_KeyInfo_dup(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_KeyInfo_GetFlags(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_KeyInfo_GetExponentLen(const GWEN_CRYPT_TOKEN_KEYINFO *ki)
GWENHYWFAR_API void GWEN_Crypt_Token_KeyInfo_SetExponent(GWEN_CRYPT_TOKEN_KEYINFO *ki, const uint8_t *p, uint32_t len)