From dcec656f55223d6d4e3d0ce5e189b4cff0aa0bcb Mon Sep 17 00:00:00 2001 From: kubodera_yuichi Date: Fri, 25 Dec 2009 04:14:15 +0000 Subject: [PATCH] =?UTF-8?q?=E7=B5=82=E4=BA=86=E5=87=A6=E7=90=86=E6=99=82?= =?UTF-8?q?=E3=81=AE=E3=82=A8=E3=83=A9=E3=83=BC=E3=83=8F=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=83=AA=E3=83=B3=E3=82=B0=E8=BF=BD=E5=8A=A0?= 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@94 ff987cc8-cf2f-4642-8568-d52cce064691 --- cr_generate_id.c | 17 ++++++++--------- cr_hsm_code.c | 17 ++++++++++++++--- cr_hsm_code.h | 2 +- main.c | 3 ++- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/cr_generate_id.c b/cr_generate_id.c index c587e1d..eba9d91 100644 --- a/cr_generate_id.c +++ b/cr_generate_id.c @@ -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 関数 diff --git a/cr_hsm_code.c b/cr_hsm_code.c index 3657ccb..0c31f88 100644 --- a/cr_hsm_code.c +++ b/cr_hsm_code.c @@ -241,12 +241,23 @@ int hsm_initialize( void ) return ret_code; } // hsm_initialize -void hsm_finalize( void ) +int hsm_finalize( void ) { - // TODO: G[nhOB + 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 ) diff --git a/cr_hsm_code.h b/cr_hsm_code.h index b62baf3..8633a51 100644 --- a/cr_hsm_code.h +++ b/cr_hsm_code.h @@ -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 ); diff --git a/main.c b/main.c index 9cfe02f..0776a2c 100644 --- a/main.c +++ b/main.c @@ -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