hsm_utils/sign_verify_rsa_pkcs1_sha256:署名をファイルに出力できるようにした。

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@234 ff987cc8-cf2f-4642-8568-d52cce064691
This commit is contained in:
n2460 2013-12-19 11:32:53 +00:00
parent ad3eb772ed
commit b16120e6d1

View File

@ -69,6 +69,7 @@ int loadFileSize = 0;
int validFileSize = 0; int validFileSize = 0;
int offsetFileSize = 0; int offsetFileSize = 0;
unsigned char *loadFileBuf = NULL; unsigned char *loadFileBuf = NULL;
char *writeFilePath = NULL;
// function // function
int signVerifyRSAPKCS1Sha256( NFKM_KeyIdent priv_ident, NFKM_KeyIdent pub_ident ); int signVerifyRSAPKCS1Sha256( NFKM_KeyIdent priv_ident, NFKM_KeyIdent pub_ident );
@ -234,6 +235,31 @@ int signVerifyRSAPKCS1Sha256( NFKM_KeyIdent priv_ident, NFKM_KeyIdent pub_ident
// show data // show data
PrintArray( (char*)"HSM Sign", middlePtr, middleLen ); PrintArray( (char*)"HSM Sign", middlePtr, middleLen );
// save sign data
if (writeFilePath)
{
FILE *pSaveFile;
pSaveFile = fopen( writeFilePath, "wb" );
if (pSaveFile == NULL)
{
printf("file open error : %s\n", writeFilePath);
return 1;
}
else
{
if (fwrite( middlePtr, middleLen, 1, pSaveFile ) != 1)
{
printf("file write error : %s\n", writeFilePath);
}
else
{
printf( "Success : Sign Data written to %s\n", writeFilePath );
}
}
fclose( pSaveFile );
}
NFastApp_Free_Command( handle, NULL, NULL, &cmd ); NFastApp_Free_Command( handle, NULL, NULL, &cmd );
NFastApp_Free_Reply( handle, NULL, NULL, &reply ); NFastApp_Free_Reply( handle, NULL, NULL, &reply );
@ -435,6 +461,7 @@ int main( int argc, char *argv[] )
{ "priv", required_argument, 0, 0 }, { "priv", required_argument, 0, 0 },
{ "pub", required_argument, 0, 0 }, { "pub", required_argument, 0, 0 },
{ "in", required_argument, 0, 0 }, { "in", required_argument, 0, 0 },
{ "out", required_argument, 0, 0 },
{ "size", required_argument, 0, 0 }, { "size", required_argument, 0, 0 },
{ "offset", required_argument, 0, 0 }, { "offset", required_argument, 0, 0 },
{ 0, 0, 0, 0 } { 0, 0, 0, 0 }
@ -468,11 +495,15 @@ int main( int argc, char *argv[] )
{ {
loadFilePath = optarg; loadFilePath = optarg;
} break; } break;
case 4 : // size case 4 : // out
{
writeFilePath = optarg;
} break;
case 5 : // size
{ {
validFileSize = atoi(optarg); validFileSize = atoi(optarg);
} break; } break;
case 5 : // offset case 6 : // offset
{ {
offsetFileSize = atoi(optarg); offsetFileSize = atoi(optarg);
} break; } break;
@ -488,6 +519,8 @@ int main( int argc, char *argv[] )
printf( " Default=%s\n", DEFAULT_PUB_KEY_FILE_PATH ); printf( " Default=%s\n", DEFAULT_PUB_KEY_FILE_PATH );
printf( " --in filename : input file for SHA256\n" ); printf( " --in filename : input file for SHA256\n" );
printf( " Default=reasonable array\n" ); printf( " Default=reasonable array\n" );
printf( " --out filename : output sign data\n" );
printf( " Default=N/A\n" );
printf( " --size size : valid file size for SHA256\n" ); printf( " --size size : valid file size for SHA256\n" );
printf( " --offset fize : offset file size for SHA256\n" ); printf( " --offset fize : offset file size for SHA256\n" );
printf( "\n" ); printf( "\n" );
@ -535,7 +568,7 @@ int main( int argc, char *argv[] )
return 1; return 1;
} }
// create rsa-pss cert // create rsa pkcs1 sha256 sign & verify
result = signVerifyRSAPKCS1Sha256( priv_keyident, pub_keyident ); result = signVerifyRSAPKCS1Sha256( priv_keyident, pub_keyident );
if ( result != Status_OK ) if ( result != Status_OK )
{ {