@@ -233,11 +233,9 @@ static int TPM2_CommandProcess(TPM2_CTX* ctx, TPM2_Packet* packet,
233233 }
234234
235235 #if !defined(WOLFTPM2_NO_WOLFCRYPT ) && !defined(NO_HMAC )
236- rc = TPM2_GetName (ctx , handleValue1 , info -> inHandleCnt , 0 , & name1 );
237- if (rc == TPM_RC_SUCCESS )
238- rc = TPM2_GetName (ctx , handleValue2 , info -> inHandleCnt , 1 , & name2 );
239- if (rc == TPM_RC_SUCCESS )
240- rc = TPM2_GetName (ctx , handleValue3 , info -> inHandleCnt , 2 , & name3 );
236+ rc = TPM2_GetName (ctx , handleValue1 , info -> inHandleCnt , 0 , & name1 );
237+ rc |= TPM2_GetName (ctx , handleValue2 , info -> inHandleCnt , 1 , & name2 );
238+ rc |= TPM2_GetName (ctx , handleValue3 , info -> inHandleCnt , 2 , & name3 );
241239 if (rc != TPM_RC_SUCCESS ) {
242240 #ifdef DEBUG_WOLFTPM
243241 printf ("Error getting names for cpHash!\n" );
@@ -277,17 +275,18 @@ static int TPM2_CommandProcess(TPM2_CTX* ctx, TPM2_Packet* packet,
277275 /* Update the Auth Area total size in the command packet */
278276 i = TPM2_Packet_PlaceU32 (packet , authTotalSzPos );
279277
278+ #ifdef DEBUG_WOLFTPM
280279 if ((int )authSz != i ) {
281280 /* actual auth size did not match estimated size from
282281 * TPM2_Packet_AppendAuth */
283- #ifdef DEBUG_WOLFTPM
284282 printf ("Error: Calculated auth size %d did not match actual %d!\n" ,
285283 authSz , i );
286- #endif
287284 return BUFFER_E ;
288285 }
286+ #endif
289287
290288 (void )cmdCode ;
289+ (void )i ;
291290
292291 return rc ;
293292}
@@ -2144,8 +2143,9 @@ TPM_RC TPM2_Duplicate(Duplicate_In* in, Duplicate_Out* out)
21442143 TPM2_Packet_AppendBytes (& packet , in -> encryptionKeyIn .buffer ,
21452144 in -> encryptionKeyIn .size );
21462145
2147- TPM2_Packet_AppendSymmetric (& packet ,
2148- (TPMT_SYM_DEF * )& in -> symmetricAlg );
2146+ TPM2_Packet_AppendU16 (& packet , in -> symmetricAlg .algorithm );
2147+ TPM2_Packet_AppendU16 (& packet , in -> symmetricAlg .keyBits .sym );
2148+ TPM2_Packet_AppendU16 (& packet , in -> symmetricAlg .mode .sym );
21492149
21502150 TPM2_Packet_Finalize (& packet , TPM_ST_SESSIONS , TPM_CC_Duplicate );
21512151
@@ -3175,10 +3175,7 @@ TPM_RC TPM2_Certify(Certify_In* in, Certify_Out* out)
31753175 TPM2_Packet_AppendBytes (& packet , in -> qualifyingData .buffer ,
31763176 in -> qualifyingData .size );
31773177
3178- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
3179- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
3180- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
3181- }
3178+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
31823179
31833180 TPM2_Packet_Finalize (& packet , TPM_ST_SESSIONS , TPM_CC_Certify );
31843181
@@ -3240,10 +3237,7 @@ TPM_RC TPM2_CertifyCreation(CertifyCreation_In* in, CertifyCreation_Out* out)
32403237 TPM2_Packet_AppendBytes (& packet , in -> creationHash .buffer ,
32413238 in -> creationHash .size );
32423239
3243- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
3244- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
3245- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
3246- }
3240+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
32473241
32483242 TPM2_Packet_AppendU16 (& packet , in -> creationTicket .tag );
32493243 TPM2_Packet_AppendU32 (& packet , in -> creationTicket .hierarchy );
@@ -3307,10 +3301,7 @@ TPM_RC TPM2_Quote(Quote_In* in, Quote_Out* out)
33073301 TPM2_Packet_AppendBytes (& packet , in -> qualifyingData .buffer ,
33083302 in -> qualifyingData .size );
33093303
3310- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
3311- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
3312- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
3313- }
3304+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
33143305
33153306 TPM2_Packet_AppendPCR (& packet , & in -> PCRselect );
33163307
@@ -3373,10 +3364,7 @@ TPM_RC TPM2_GetSessionAuditDigest(GetSessionAuditDigest_In* in,
33733364 TPM2_Packet_AppendBytes (& packet , in -> qualifyingData .buffer ,
33743365 in -> qualifyingData .size );
33753366
3376- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
3377- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
3378- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
3379- }
3367+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
33803368
33813369 TPM2_Packet_Finalize (& packet , TPM_ST_SESSIONS ,
33823370 TPM_CC_GetSessionAuditDigest );
@@ -3437,10 +3425,7 @@ TPM_RC TPM2_GetCommandAuditDigest(GetCommandAuditDigest_In* in,
34373425 TPM2_Packet_AppendBytes (& packet , in -> qualifyingData .buffer ,
34383426 in -> qualifyingData .size );
34393427
3440- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
3441- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
3442- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
3443- }
3428+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
34443429
34453430 TPM2_Packet_Finalize (& packet , TPM_ST_SESSIONS ,
34463431 TPM_CC_GetCommandAuditDigest );
@@ -3500,10 +3485,7 @@ TPM_RC TPM2_GetTime(GetTime_In* in, GetTime_Out* out)
35003485 TPM2_Packet_AppendBytes (& packet , in -> qualifyingData .buffer ,
35013486 in -> qualifyingData .size );
35023487
3503- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
3504- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
3505- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
3506- }
3488+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
35073489
35083490 TPM2_Packet_Finalize (& packet , TPM_ST_SESSIONS , TPM_CC_GetTime );
35093491
@@ -3628,7 +3610,6 @@ TPM_RC TPM2_VerifySignature(VerifySignature_In* in,
36283610 TPM_RC rc ;
36293611 TPM2_CTX * ctx = TPM2_GetActiveCtx ();
36303612 TPM_ST st ;
3631- UINT16 wireSize = 0 ;
36323613
36333614 if (ctx == NULL || in == NULL || out == NULL )
36343615 return BAD_FUNC_ARG ;
@@ -3664,20 +3645,10 @@ TPM_RC TPM2_VerifySignature(VerifySignature_In* in,
36643645
36653646 TPM2_Packet_ParseU16 (& packet , & out -> validation .tag );
36663647 TPM2_Packet_ParseU32 (& packet , & out -> validation .hierarchy );
3667-
3668- TPM2_Packet_ParseU16 (& packet , & wireSize );
3669- out -> validation .digest .size = wireSize ;
3670- if (out -> validation .digest .size >
3671- (UINT16 )sizeof (out -> validation .digest .buffer )) {
3672- out -> validation .digest .size =
3673- (UINT16 )sizeof (out -> validation .digest .buffer );
3674- }
3648+ TPM2_Packet_ParseU16 (& packet , & out -> validation .digest .size );
36753649 TPM2_Packet_ParseBytes (& packet ,
36763650 out -> validation .digest .buffer ,
36773651 out -> validation .digest .size );
3678- if (wireSize > out -> validation .digest .size )
3679- TPM2_Packet_ParseBytes (& packet , NULL ,
3680- wireSize - out -> validation .digest .size );
36813652 }
36823653
36833654 TPM2_ReleaseLock (ctx );
@@ -3709,14 +3680,7 @@ TPM_RC TPM2_Sign(Sign_In* in, Sign_Out* out)
37093680 TPM2_Packet_AppendU16 (& packet , in -> digest .size );
37103681 TPM2_Packet_AppendBytes (& packet , in -> digest .buffer , in -> digest .size );
37113682
3712- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
3713- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
3714- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
3715- if (in -> inScheme .scheme == TPM_ALG_ECDAA ) {
3716- TPM2_Packet_AppendU16 (& packet ,
3717- in -> inScheme .details .ecdaa .count );
3718- }
3719- }
3683+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
37203684
37213685 TPM2_Packet_AppendU16 (& packet , in -> validation .tag );
37223686 TPM2_Packet_AppendU32 (& packet , in -> validation .hierarchy );
@@ -5954,10 +5918,7 @@ TPM_RC TPM2_NV_Certify(NV_Certify_In* in, NV_Certify_Out* out)
59545918 TPM2_Packet_AppendBytes (& packet , in -> qualifyingData .buffer ,
59555919 in -> qualifyingData .size );
59565920
5957- TPM2_Packet_AppendU16 (& packet , in -> inScheme .scheme );
5958- if (in -> inScheme .scheme != TPM_ALG_NULL ) {
5959- TPM2_Packet_AppendU16 (& packet , in -> inScheme .details .any .hashAlg );
5960- }
5921+ TPM2_Packet_AppendEccScheme (& packet , & in -> inScheme );
59615922
59625923 TPM2_Packet_AppendU16 (& packet , in -> size );
59635924 TPM2_Packet_AppendU16 (& packet , in -> offset );
0 commit comments