mirror of
https://github.com/rvtr/ctr_eFuse.git
synced 2025-11-02 00:11:04 -04:00
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:
parent
ad3eb772ed
commit
b16120e6d1
@ -69,6 +69,7 @@ int loadFileSize = 0;
|
||||
int validFileSize = 0;
|
||||
int offsetFileSize = 0;
|
||||
unsigned char *loadFileBuf = NULL;
|
||||
char *writeFilePath = NULL;
|
||||
|
||||
// function
|
||||
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
|
||||
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_Reply( handle, NULL, NULL, &reply );
|
||||
|
||||
@ -435,6 +461,7 @@ int main( int argc, char *argv[] )
|
||||
{ "priv", required_argument, 0, 0 },
|
||||
{ "pub", required_argument, 0, 0 },
|
||||
{ "in", required_argument, 0, 0 },
|
||||
{ "out", required_argument, 0, 0 },
|
||||
{ "size", required_argument, 0, 0 },
|
||||
{ "offset", required_argument, 0, 0 },
|
||||
{ 0, 0, 0, 0 }
|
||||
@ -468,11 +495,15 @@ int main( int argc, char *argv[] )
|
||||
{
|
||||
loadFilePath = optarg;
|
||||
} break;
|
||||
case 4 : // size
|
||||
case 4 : // out
|
||||
{
|
||||
writeFilePath = optarg;
|
||||
} break;
|
||||
case 5 : // size
|
||||
{
|
||||
validFileSize = atoi(optarg);
|
||||
} break;
|
||||
case 5 : // offset
|
||||
case 6 : // offset
|
||||
{
|
||||
offsetFileSize = atoi(optarg);
|
||||
} break;
|
||||
@ -488,6 +519,8 @@ int main( int argc, char *argv[] )
|
||||
printf( " Default=%s\n", DEFAULT_PUB_KEY_FILE_PATH );
|
||||
printf( " --in filename : input file for SHA256\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( " --offset fize : offset file size for SHA256\n" );
|
||||
printf( "\n" );
|
||||
@ -535,7 +568,7 @@ int main( int argc, char *argv[] )
|
||||
return 1;
|
||||
}
|
||||
|
||||
// create rsa-pss cert
|
||||
// create rsa pkcs1 sha256 sign & verify
|
||||
result = signVerifyRSAPKCS1Sha256( priv_keyident, pub_keyident );
|
||||
if ( result != Status_OK )
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user