@@ -760,36 +760,42 @@ static int readKeyBlob(const char* filename, WOLFTPM2_KEYBLOB* key)
760760{
761761 int rc = 0 ;
762762#if !defined(NO_FILESYSTEM ) && !defined(NO_WRITE_TEMP_FILES )
763- XFILE fp = NULL ;
763+ WFILE * fp = NULL ;
764764 size_t fileSz = 0 ;
765765 size_t bytes_read = 0 ;
766766 byte pubAreaBuffer [sizeof (TPM2B_PUBLIC )];
767767 int pubAreaSize ;
768768
769769 WLOG (WS_LOG_DEBUG , "Entering readKeyBlob()" );
770770
771- XMEMSET (key , 0 , sizeof (WOLFTPM2_KEYBLOB ));
771+ WMEMSET (key , 0 , sizeof (WOLFTPM2_KEYBLOB ));
772+
773+ if (WFOPEN (NULL , & fp , filename , "rb" ) != 0 ) {
774+ printf ("Failed to open file %s\n" , filename );
775+ rc = BUFFER_E ; goto exit ;
776+ }
777+ if (fp != WBADFILE ) {
778+ WFSEEK (NULL , fp , 0 , WSEEK_END );
779+ fileSz = WFTELL (NULL , fp );
780+ WREWIND (NULL , fp );
772781
773- fp = XFOPEN (filename , "rb" );
774- if (fp != XBADFILE ) {
775- XFSEEK (fp , 0 , XSEEK_END );
776- fileSz = XFTELL (fp );
777- XREWIND (fp );
778782 if (fileSz > sizeof (key -> priv ) + sizeof (key -> pub )) {
779783 printf ("File size check failed\n" );
780784 rc = BUFFER_E ; goto exit ;
781785 }
782786 printf ("Reading %d bytes from %s\n" , (int )fileSz , filename );
783787
784- bytes_read = XFREAD (& key -> pub .size , 1 , sizeof (key -> pub .size ), fp );
788+ bytes_read = WFREAD (NULL , & key -> pub .size , 1 ,
789+ sizeof (key -> pub .size ), fp );
785790 if (bytes_read != sizeof (key -> pub .size )) {
786791 printf ("Read %zu, expected size marker of %zu bytes\n" ,
787792 bytes_read , sizeof (key -> pub .size ));
788793 goto exit ;
789794 }
790795 fileSz -= bytes_read ;
791796
792- bytes_read = XFREAD (pubAreaBuffer , 1 , sizeof (UINT16 ) + key -> pub .size , fp );
797+ bytes_read = WFREAD (NULL , pubAreaBuffer , 1 ,
798+ sizeof (UINT16 ) + key -> pub .size , fp );
793799 if (bytes_read != sizeof (UINT16 ) + key -> pub .size ) {
794800 printf ("Read %zu, expected public blob %zu bytes\n" ,
795801 bytes_read , sizeof (UINT16 ) + key -> pub .size );
@@ -804,7 +810,7 @@ static int readKeyBlob(const char* filename, WOLFTPM2_KEYBLOB* key)
804810
805811 if (fileSz > 0 ) {
806812 printf ("Reading the private part of the key\n" );
807- bytes_read = XFREAD ( & key -> priv , 1 , fileSz , fp );
813+ bytes_read = WFREAD ( NULL , & key -> priv , 1 , fileSz , fp );
808814 if (bytes_read != fileSz ) {
809815 printf ("Read %zu, expected private blob %zu bytes\n" ,
810816 bytes_read , fileSz );
@@ -824,14 +830,13 @@ static int readKeyBlob(const char* filename, WOLFTPM2_KEYBLOB* key)
824830 else {
825831 rc = BUFFER_E ;
826832 printf ("File %s not found!\n" , filename );
827- printf ("Keys can be generated by running:\n"
828- " ./examples/keygen/keygen rsa_test_blob.raw -rsa -t\n"
829- " ./examples/keygen/keygen ecc_test_blob.raw -ecc -t\n" );
833+ printf ("Key can be generated by running:\n"
834+ " ./examples/keygen/keygen keyblob.bin -rsa -t -pem -eh\n" );
830835 }
831836
832837exit :
833838 if (fp )
834- XFCLOSE ( fp );
839+ WFCLOSE ( NULL , fp );
835840#else
836841 (void )filename ;
837842 (void )key ;
0 commit comments