void Unmarshal_TPMS_CREATION_INFO( TSS2_SYS_CONTEXT *sysContext, TPMS_CREATION_INFO *creationInfo ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( creationInfo == 0 ) return; UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&creationInfo->objectName ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&creationInfo->creationHash ); return; }
void Unmarshal_TPMS_ALGORITHM_DETAIL_ECC( TSS2_SYS_CONTEXT *sysContext, TPMS_ALGORITHM_DETAIL_ECC *algorithmDetailEcc ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( algorithmDetailEcc == 0 ) return; Unmarshal_UINT16( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &algorithmDetailEcc->curveID, &( SYS_CONTEXT->rval ) ); Unmarshal_UINT16( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &algorithmDetailEcc->keySize, &( SYS_CONTEXT->rval ) ); Unmarshal_TPMT_KDF_SCHEME( sysContext, &algorithmDetailEcc->kdf ); Unmarshal_TPMT_ECC_SCHEME( sysContext, &algorithmDetailEcc->sign ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&algorithmDetailEcc->p ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&algorithmDetailEcc->a ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&algorithmDetailEcc->b ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&algorithmDetailEcc->gX ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&algorithmDetailEcc->gY ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&algorithmDetailEcc->n ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&algorithmDetailEcc->h ); return; }
void Unmarshal_TPMS_COMMAND_AUDIT_INFO( TSS2_SYS_CONTEXT *sysContext, TPMS_COMMAND_AUDIT_INFO *commandAuditInfo ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( commandAuditInfo == 0 ) return; Unmarshal_UINT64( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &commandAuditInfo->auditCounter, &( SYS_CONTEXT->rval ) ); Unmarshal_UINT16( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &commandAuditInfo->digestAlg, &( SYS_CONTEXT->rval ) ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&commandAuditInfo->auditDigest ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&commandAuditInfo->commandDigest ); return; }
void Unmarshal_TPMS_ATTEST( TSS2_SYS_CONTEXT *sysContext, TPMS_ATTEST *attest ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( attest == 0 ) return; Unmarshal_UINT32( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &attest->magic, &( SYS_CONTEXT->rval ) ); Unmarshal_UINT16( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &attest->type, &( SYS_CONTEXT->rval ) ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&attest->qualifiedSigner ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&attest->extraData ); Unmarshal_TPMS_CLOCK_INFO( sysContext, &attest->clockInfo ); Unmarshal_UINT64( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &attest->firmwareVersion, &( SYS_CONTEXT->rval ) ); Unmarshal_TPMU_ATTEST( sysContext, &attest->attested, attest->type ); return; }
void Unmarshal_TPMU_PUBLIC_ID( TSS2_SYS_CONTEXT *sysContext, TPMU_PUBLIC_ID *publicVarId, UINT32 selector ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( publicVarId == 0 ) return; switch( selector ) { #ifdef TPM_ALG_KEYEDHASH case TPM_ALG_KEYEDHASH: UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&publicVarId->keyedHash ); break; #endif #ifdef TPM_ALG_SYMCIPHER case TPM_ALG_SYMCIPHER: UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&publicVarId->sym ); break; #endif #ifdef TPM_ALG_RSA case TPM_ALG_RSA: UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&publicVarId->rsa ); break; #endif #ifdef TPM_ALG_ECC case TPM_ALG_ECC: Unmarshal_TPMS_ECC_POINT( sysContext, &publicVarId->ecc ); break; #endif } return; }
void Unmarshal_TPMU_SENSITIVE_COMPOSITE( TSS2_SYS_CONTEXT *sysContext, TPMU_SENSITIVE_COMPOSITE *sensitiveComposite, UINT32 selector ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( sensitiveComposite == 0 ) return; switch( selector ) { #ifdef TPM_ALG_RSA case TPM_ALG_RSA: UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&sensitiveComposite->rsa ); break; #endif #ifdef TPM_ALG_ECC case TPM_ALG_ECC: UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&sensitiveComposite->ecc ); break; #endif #ifdef TPM_ALG_KEYEDHASH case TPM_ALG_KEYEDHASH: UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&sensitiveComposite->bits ); break; #endif #ifdef TPM_ALG_SYMCIPHER case TPM_ALG_SYMCIPHER: UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&sensitiveComposite->sym ); break; #endif } return; }
void Unmarshal_TPMT_TK_HASHCHECK( TSS2_SYS_CONTEXT *sysContext, TPMT_TK_HASHCHECK *tkHashcheck ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( tkHashcheck == 0 ) return; Unmarshal_UINT16( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &tkHashcheck->tag, &( SYS_CONTEXT->rval ) ); Unmarshal_UINT32( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &tkHashcheck->hierarchy, &( SYS_CONTEXT->rval ) ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&tkHashcheck->digest ); return; }
void Unmarshal_TPMS_CONTEXT( TSS2_SYS_CONTEXT *sysContext, TPMS_CONTEXT *context ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; if( context == 0 ) return; Unmarshal_UINT64( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &context->sequence, &( SYS_CONTEXT->rval ) ); Unmarshal_UINT32( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &context->savedHandle, &( SYS_CONTEXT->rval ) ); Unmarshal_UINT32( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &(SYS_CONTEXT->nextData), &context->hierarchy, &( SYS_CONTEXT->rval ) ); UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, (TPM2B *)&context->contextBlob ); return; }