From 20500fbb5826bed625d1351e147d3441a14f78b1 Mon Sep 17 00:00:00 2001 From: "atul.jha" Date: Wed, 13 Jan 2021 14:51:27 +0100 Subject: [PATCH] test 2 --- trial4/defines.h | 4 ++-- trial4/main.c | 16 ++++++++-------- trial4/out/main | Bin 23064 -> 22920 bytes 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/trial4/defines.h b/trial4/defines.h index f4b1ada..5d8e631 100644 --- a/trial4/defines.h +++ b/trial4/defines.h @@ -47,11 +47,11 @@ /* DEFAULT CONFIGURATIONS */ -#define DEBUG 1 //print all values when 1 +#define DEBUG 0 //print all values when 1 #define isRSA 0 #define isECC 1 -#define DFL_PKC isRSA // isECC, 1 = ECC, 0= RSA +#define DFL_PKC isECC // isECC, 1 = ECC, 0= RSA //#define BIN 2 #define PEM 0 diff --git a/trial4/main.c b/trial4/main.c index f6e78c4..6a1581f 100644 --- a/trial4/main.c +++ b/trial4/main.c @@ -70,18 +70,18 @@ void main() //Session key creation //receive session nonce from verifier? //placeholder - char * nonce = "session1"; + char * NONCE = "session1"; - KeyDrv_context SSN_ctx; - SSN_ctx.ENT_MODE = SW_PRNG; - SSN_ctx.PKC_MODE = DFL_PKC; - SSN_ctx.seed = FWKEY; - SSN_ctx.phrase = nonce; - SSN_ctx.KEY_FORM = DFL_FORM; + KeyDrv_context SSN1_ctx; + SSN1_ctx.ENT_MODE = SW_PRNG; //non determ, gen new key for every session + SSN1_ctx.PKC_MODE = DFL_PKC; + SSN1_ctx.seed = NULL; + SSN1_ctx.phrase = NONCE; + SSN1_ctx.KEY_FORM = DFL_FORM; printf("Generating Session keys\n"); - ret = AsymmKeyGen(&SSN_ctx); + ret = AsymmKeyGen(&SSN1_ctx); if(ret < DIMASUCCESS) { perror("DIMAFAILURE : SESSION key gen failed\n"); diff --git a/trial4/out/main b/trial4/out/main index e73f4e2ff5caaac4b3349c8ed206f678f9d21e2a..aa8be774c739b262ab46210d3c25df2a57cd055b 100755 GIT binary patch delta 7283 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 b3cSow