From f699e6b139d6bdc384758675145d865da02f1c3b Mon Sep 17 00:00:00 2001 From: kubodera_yuichi Date: Wed, 23 Dec 2009 06:28:51 +0000 Subject: [PATCH] =?UTF-8?q?r52=E3=81=AE=E3=83=93=E3=83=AB=E3=83=89?= =?UTF-8?q?=E3=82=92=E9=80=9A=E3=81=993?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@55 ff987cc8-cf2f-4642-8568-d52cce064691 --- cr_hsm_code.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cr_hsm_code.c b/cr_hsm_code.c index fbb7e81..b520c91 100644 --- a/cr_hsm_code.c +++ b/cr_hsm_code.c @@ -340,7 +340,7 @@ int hsm_get_rtc( time_t *time ) int hsm_aes_load_key( NFKM_KeyIdent keyident, M_KeyID *keyid ) { int ret_code = CR_GENID_SUCCESS; - NFKM_Key keyinfo = NULL; + NFKM_Key *keyinfo = NULL; // find key ret_code = NFKM_findkey( hsmHandle, keyident, &keyinfo, NULL ); @@ -376,6 +376,7 @@ int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u { int ret_code = CR_GENID_SUCCESS; + M_KeyID keyid; M_Command cmd; M_Reply reply; M_IV enc_iv; @@ -383,13 +384,16 @@ int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u memset( &cmd, 0, sizeof( cmd ) ); memset( &reply, 0, sizeof( reply ) ); + // key set + keyid = bondingOption ? hsmAeskeyidDev : hsmAesKeyidProd; + // iv set enc_iv.mech = Mech_RijndaelmCBCpNONE; memset( enc_iv.iv.generic128.iv.bytes, 0, sizeof( enc_iv.iv.generic128.iv.bytes ) ); // encrypt command set cmd.cmd = Cmd_Encrypt; - cmd.args.encrypt.key = hsmAeskeyid; + cmd.args.encrypt.key = keyid; cmd.args.encrypt.mech = Mech_RijndaelmCBCpNONE; cmd.args.encrypt.plain.type = PlainTextType_Bytes; cmd.args.encrypt.plain.data.bytes.data.len = size; @@ -424,6 +428,7 @@ int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u { int ret_code = CR_GENID_SUCCESS; + M_KeyID keyid; M_Command cmd; M_Reply reply; M_IV dec_iv; @@ -431,6 +436,9 @@ int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u memset( &cmd, 0, sizeof( cmd ) ); memset( &reply, 0, sizeof( reply ) ); + // key set + keyid = bondingOption ? hsmAeskeyidDev : hsmAesKeyidProd; + // iv set dec_iv.mech = Mech_RijndaelmCBCpNONE; memset( dec_iv.iv.generic128.iv.bytes, 0, sizeof( dec_iv.iv.generic128.iv.bytes ) );