19#include <gwenhywfar/debug.h>
20#include <gwenhywfar/ct.h>
21#include <gwenhywfar/ctplugin.h>
22#include <gwenhywfar/text.h>
58 "Specify the crypt token type",
59 "Specify the crypt token type"
69 "Specify the crypt token name",
70 "Specify the crypt token name"
80 "Show this help screen",
81 "Show this help screen"
91 fprintf(stderr,
"ERROR: Could not parse arguments\n");
99 fprintf(stderr,
"ERROR: Could not create help string\n");
140 for (i=0; i<keyCount; i++) {
141 if (keyId==0 || keyId==keyIds[i]) {
148 fprintf(stdout,
"-------------------------------------------------\n");
149 fprintf(stdout,
"Key %08x\n",
154 fprintf(stdout,
"Key Descr : %s\n", s);
156 fprintf(stdout,
"Crypt Algo : %s\n",
160 fprintf(stdout,
"Key Flags :");
163 fprintf(stdout,
" STATUS");
165 fprintf(stdout,
" MODULUS");
167 fprintf(stdout,
" EXPONENT");
169 fprintf(stdout,
" KEYVERSION");
171 fprintf(stdout,
" KEYNUMBER");
173 fprintf(stdout,
" SIGNCOUNTER");
176 fprintf(stdout,
" SIGN");
178 fprintf(stdout,
" VERIFY");
180 fprintf(stdout,
" ENCIPHER");
182 fprintf(stdout,
" DECIPHER");
184 fprintf(stdout,
"\n");
203 while (len && *p==0) {
213 for (i=0; i<8; i++) {
221 fprintf(stdout,
"Modulus : (%d bits)\n", nbits);
242 fprintf(stdout,
"Exponent : \n");
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_Reset(GWEN_BUFFER *bf)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
const char * GWEN_Crypt_CryptAlgoId_toString(GWEN_CRYPT_CRYPTALGOID a)
const GWEN_CRYPT_TOKEN_KEYINFO * GWEN_Crypt_Token_GetKeyInfo(GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t flags, uint32_t gid)
int GWEN_Crypt_Token_GetKeyIdList(GWEN_CRYPT_TOKEN *ct, uint32_t *pIdList, uint32_t *pCount, uint32_t gid)
int GWEN_Crypt_Token_Open(GWEN_CRYPT_TOKEN *ct, int admin, uint32_t gid)
int GWEN_Crypt_Token_Close(GWEN_CRYPT_TOKEN *ct, int abandon, uint32_t gid)
void GWEN_Crypt_Token_AddModes(GWEN_CRYPT_TOKEN *ct, uint32_t f)
#define GWEN_CRYPT_TOKEN_MODE_FORCE_PIN_ENTRY
struct GWEN_CRYPT_TOKEN GWEN_CRYPT_TOKEN
uint32_t GWEN_Crypt_Token_KeyInfo_GetSignCounter(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
uint32_t GWEN_Crypt_Token_KeyInfo_GetId(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
uint32_t GWEN_Crypt_Token_KeyInfo_GetFlags(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
uint32_t GWEN_Crypt_Token_KeyInfo_GetModulusLen(const GWEN_CRYPT_TOKEN_KEYINFO *st)
uint32_t GWEN_Crypt_Token_KeyInfo_GetKeyNumber(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
const uint8_t * GWEN_Crypt_Token_KeyInfo_GetExponentData(const GWEN_CRYPT_TOKEN_KEYINFO *st)
int GWEN_Crypt_Token_KeyInfo_GetKeySize(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
const char * GWEN_Crypt_Token_KeyInfo_GetKeyDescr(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
uint32_t GWEN_Crypt_Token_KeyInfo_GetKeyVersion(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
int GWEN_Crypt_Token_KeyInfo_GetCryptAlgoId(const GWEN_CRYPT_TOKEN_KEYINFO *p_struct)
const uint8_t * GWEN_Crypt_Token_KeyInfo_GetModulusData(const GWEN_CRYPT_TOKEN_KEYINFO *st)
uint32_t GWEN_Crypt_Token_KeyInfo_GetExponentLen(const GWEN_CRYPT_TOKEN_KEYINFO *st)
#define GWEN_CRYPT_TOKEN_KEYFLAGS_HASEXPONENT
#define GWEN_CRYPT_TOKEN_KEYFLAGS_CANSIGN
#define GWEN_CRYPT_TOKEN_KEYFLAGS_HASMODULUS
#define GWEN_CRYPT_TOKEN_KEYFLAGS_HASACTIONFLAGS
#define GWEN_CRYPT_TOKEN_KEYFLAGS_HASKEYNUMBER
#define GWEN_CRYPT_TOKEN_KEYFLAGS_HASSTATUS
#define GWEN_CRYPT_TOKEN_KEYFLAGS_CANDECIPHER
#define GWEN_CRYPT_TOKEN_KEYFLAGS_CANENCIPHER
#define GWEN_CRYPT_TOKEN_KEYFLAGS_HASKEYVERSION
#define GWEN_CRYPT_TOKEN_KEYFLAGS_CANVERIFY
struct GWEN_CRYPT_TOKEN_KEYINFO GWEN_CRYPT_TOKEN_KEYINFO
#define GWEN_CRYPT_TOKEN_KEYFLAGS_HASSIGNCOUNTER
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
GWEN_DB_NODE * GWEN_DB_GetGroup(GWEN_DB_NODE *n, uint32_t flags, const char *path)
int GWEN_DB_GetIntValue(GWEN_DB_NODE *n, const char *path, int idx, int defVal)
#define GWEN_DB_FLAGS_DEFAULT
struct GWEN_DB_NODE GWEN_DB_NODE
#define DBG_ERROR(dbg_logger, format,...)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
int showKey(GWEN_DB_NODE *dbArgs, int argc, char **argv)
int GWEN_Args_Check(int argc, char **argv, int startAt, uint32_t mode, const GWEN_ARGS *args, GWEN_DB_NODE *db)
int GWEN_Args_Usage(const GWEN_ARGS *args, GWEN_BUFFER *ubuf, GWEN_ARGS_OUTTYPE ot)
#define GWEN_ARGS_FLAGS_HAS_ARGUMENT
#define GWEN_ARGS_RESULT_ERROR
#define GWEN_ARGS_MODE_ALLOW_FREEPARAM
#define GWEN_ARGS_FLAGS_HELP
#define GWEN_ARGS_FLAGS_LAST
#define GWEN_ARGS_RESULT_HELP
int GWEN_Text_ToHexBuffer(const char *src, unsigned l, GWEN_BUFFER *buf, unsigned int groupsize, char delimiter, int skipLeadingZeroes)