ifdef抜けの修正

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@25 ff987cc8-cf2f-4642-8568-d52cce064691
This commit is contained in:
kubodera_yuichi 2009-12-22 06:33:52 +00:00
parent 8c5597c7eb
commit 33621db72c

View File

@ -316,6 +316,8 @@ int hsm_get_rtc( time_t *time )
return CR_GENID_SUCCESS;
} // hsm_get_rtc
#ifdef ENCYRPT_AES
int hsm_aes_load_key( void )
{
int ret_code = 0;
@ -383,6 +385,105 @@ int hsm_aes_load_key( void )
return CR_GENID_SUCCESS;
} // hsm_aes_load_key
int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size )
{
int ret_code = 0;
M_Command cmd;
M_Reply reply;
M_IV enc_iv;
memset( &cmd, 0, sizeof( cmd ) );
memset( &reply, 0, sizeof( reply ) );
// 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.mech = Mech_RijndaelmCBCpNONE;
cmd.args.encrypt.plain.type = PlainTextType_Bytes;
cmd.args.encrypt.plain.data.bytes.data.len = size;
cmd.args.encrypt.plain.data.bytes.data.ptr = org_buf;
cmd.args.encrypt.flags = Cmd_Encrypt_Args_flags_given_iv_present;
cmd.args.encrypt.given_iv = &enc_iv;
// encrypt command issue
ret_code = NFastApp_Transact( hsmConnection, NULL, &cmd, &reply, NULL );
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Encryption by HSM\n", ret_code );
return ret_code;
}
ret_code = reply.status;
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Encrypt Reply Status by HSM\n", ret_code );
return ret_code;
}
// buffer copy
memcpy( dst_buf, reply.reply.encrypt.cipher.data.generic128.cipher.ptr, size );
//NFastApp_Free_Command( hsmHandle, NULL, NULL, &cmd ); // 何故かアボートする
NFastApp_Free_Reply( hsmHandle, NULL, NULL, &reply );
return CR_GENID_SUCCESS;
} // hsm_aes_encrypt
int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size )
{
int ret_code = 0;
M_Command cmd;
M_Reply reply;
M_IV dec_iv;
memset( &cmd, 0, sizeof( cmd ) );
memset( &reply, 0, sizeof( reply ) );
// iv set
dec_iv.mech = Mech_RijndaelmCBCpNONE;
memset( dec_iv.iv.generic128.iv.bytes, 0, sizeof( dec_iv.iv.generic128.iv.bytes ) );
// decyrpt
cmd.cmd = Cmd_Decrypt;
cmd.args.decrypt.flags = 0;
cmd.args.decrypt.key = hsmAeskeyid;
cmd.args.decrypt.mech = Mech_RijndaelmCBCpNONE;
cmd.args.decrypt.cipher.mech = Mech_RijndaelmCBCpNONE;
cmd.args.decrypt.cipher.data.generic128.cipher.len = size;
cmd.args.decrypt.cipher.data.generic128.cipher.ptr = org_buf;
cmd.args.decrypt.cipher.iv = dec_iv.iv;
cmd.args.decrypt.reply_type = PlainTextType_Bytes;
// decrypt command issue
ret_code = NFastApp_Transact( hsmConnection, NULL, &cmd, &reply, NULL );
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Decryption by HSM\n", ret_code );
return ret_code;
}
ret_code = reply.status;
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Decrypt Reply Status by HSM\n", ret_code );
return ret_code;
}
// buffer copy
memcpy( dst_buf, reply.reply.decrypt.plain.data.bytes.data.ptr, size );
//NFastApp_Free_Command( hsmHandle, NULL, NULL, &cmd ); // 何故かアボートする
NFastApp_Free_Reply( hsmHandle, NULL, NULL, &reply );
return CR_GENID_SUCCESS;
} // hsm_aes_decrypt
#else // !ENCRYPT_AES
int hsm_rsa_load_keypair( void )
{
int ret_code = 0;
@ -553,103 +654,6 @@ int hsm_rsa_load_keypair( void )
return CR_GENID_SUCCESS;
} // hsm_rsa_load_keypair
int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size )
{
int ret_code = 0;
M_Command cmd;
M_Reply reply;
M_IV enc_iv;
memset( &cmd, 0, sizeof( cmd ) );
memset( &reply, 0, sizeof( reply ) );
// 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.mech = Mech_RijndaelmCBCpNONE;
cmd.args.encrypt.plain.type = PlainTextType_Bytes;
cmd.args.encrypt.plain.data.bytes.data.len = size;
cmd.args.encrypt.plain.data.bytes.data.ptr = org_buf;
cmd.args.encrypt.flags = Cmd_Encrypt_Args_flags_given_iv_present;
cmd.args.encrypt.given_iv = &enc_iv;
// encrypt command issue
ret_code = NFastApp_Transact( hsmConnection, NULL, &cmd, &reply, NULL );
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Encryption by HSM\n", ret_code );
return ret_code;
}
ret_code = reply.status;
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Encrypt Reply Status by HSM\n", ret_code );
return ret_code;
}
// buffer copy
memcpy( dst_buf, reply.reply.encrypt.cipher.data.generic128.cipher.ptr, size );
//NFastApp_Free_Command( hsmHandle, NULL, NULL, &cmd ); // 何故かアボートする
NFastApp_Free_Reply( hsmHandle, NULL, NULL, &reply );
return CR_GENID_SUCCESS;
} // hsm_aes_encrypt
int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size )
{
int ret_code = 0;
M_Command cmd;
M_Reply reply;
M_IV dec_iv;
memset( &cmd, 0, sizeof( cmd ) );
memset( &reply, 0, sizeof( reply ) );
// iv set
dec_iv.mech = Mech_RijndaelmCBCpNONE;
memset( dec_iv.iv.generic128.iv.bytes, 0, sizeof( dec_iv.iv.generic128.iv.bytes ) );
// decyrpt
cmd.cmd = Cmd_Decrypt;
cmd.args.decrypt.flags = 0;
cmd.args.decrypt.key = hsmAeskeyid;
cmd.args.decrypt.mech = Mech_RijndaelmCBCpNONE;
cmd.args.decrypt.cipher.mech = Mech_RijndaelmCBCpNONE;
cmd.args.decrypt.cipher.data.generic128.cipher.len = size;
cmd.args.decrypt.cipher.data.generic128.cipher.ptr = org_buf;
cmd.args.decrypt.cipher.iv = dec_iv.iv;
cmd.args.decrypt.reply_type = PlainTextType_Bytes;
// decrypt command issue
ret_code = NFastApp_Transact( hsmConnection, NULL, &cmd, &reply, NULL );
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Decryption by HSM\n", ret_code );
return ret_code;
}
ret_code = reply.status;
if ( ret_code != CR_GENID_SUCCESS )
{
printf( "error(%d) : Decrypt Reply Status by HSM\n", ret_code );
return ret_code;
}
// buffer copy
memcpy( dst_buf, reply.reply.decrypt.plain.data.bytes.data.ptr, size );
//NFastApp_Free_Command( hsmHandle, NULL, NULL, &cmd ); // 何故かアボートする
NFastApp_Free_Reply( hsmHandle, NULL, NULL, &reply );
return CR_GENID_SUCCESS;
} // hsm_aes_decrypt
int hsm_rsa_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size )
{
int ret_code = 0;
@ -735,4 +739,6 @@ int hsm_rsa_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size )
return CR_GENID_SUCCESS;
} // hsm_rsa_decrypt
#endif // ENCRYPT_AES
#endif // USE_HSM