終了処理時のエラーハンドリング追加

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@94 ff987cc8-cf2f-4642-8568-d52cce064691
This commit is contained in:
kubodera_yuichi 2009-12-25 04:14:15 +00:00
parent 8dadd0fd25
commit dcec656f55
4 changed files with 25 additions and 14 deletions

View File

@ -167,21 +167,20 @@ int cr_generate_id_initialize( u8 id_buf[CR_ID_BUF_SIZE] )
// generate_id関数のファイナライズ
int cr_generate_id_finalize( void )
{
int ok = CR_GENID_SUCCESS;
// openssl TOOD: ここでファイナライズ不要なら、削除
ERR_remove_state(0);
EVP_cleanup();
CRYPTO_cleanup_all_ex_data();
int ret_code = CR_GENID_FINALIZE_OK;
// HSM
#ifdef USE_HSM
hsm_finalize();
ret_code = hsm_finalize();
if ( ret_code != CR_GENID_SUCCESS )
{
return 0;
}
#endif // USE_HSM
ok = CR_GENID_FINALIZE_OK;
ret_code = CR_GENID_FINALIZE_OK;
return ( ok );
return ret_code;
} // cr_generate_id_finalize
// generate_id 関数

View File

@ -241,12 +241,23 @@ int hsm_initialize( void )
return ret_code;
} // hsm_initialize
void hsm_finalize( void )
int hsm_finalize( void )
{
// TODO: エラーハンドリングする。
int ret_code = CR_GENID_SUCCESS;
// void
NFKM_freeinfo( hsmHandle, &hsmWorld, NULL );
NFastApp_Disconnect( hsmConnection, NULL );
ret_code = NFastApp_Disconnect( hsmConnection, NULL );
if ( ret_code != CR_GENID_SUCCESS )
{
SetErrorInfo( __FUNCTION__, __LINE__ );
}
// void
NFastApp_Finish( hsmHandle, NULL );
return ret_code;
} // hsm_finalize
int hsm_reset_module( void )

View File

@ -120,7 +120,7 @@ extern "C" {
// functions
int hsm_initialize( void );
void hsm_finalize( void );
int hsm_finalize( void );
int hsm_reset_module( void );
int hsm_generate_random( unsigned char *buf, int bytes );
int hsm_get_rtc( time_t *time );

3
main.c
View File

@ -396,7 +396,8 @@ int main(int ac, char *argv[])
end:
// cr_generate_id を使用した後に呼び出す
if ( !cr_generate_id_finalize() )
ret_code = cr_generate_id_finalize();
if ( ret_code != CR_GENID_FINALIZE_OK )
{
printf( "error : cr_generate_id_finalize()\n" );
return 0; // error