FapiTestgroup(3) tpm2-tss FapiTestgroup(3) NAME FapiTestgroup - Fapi-Testing SYNOPSIS Functions int test_fapi_data_crypt (FAPI_CONTEXT *context) int test_fapi_duplicate (FAPI_CONTEXT *context) int test_fapi_ext_public_key (FAPI_CONTEXT *context) int test_fapi_get_random (FAPI_CONTEXT *context) int test_fapi_info (FAPI_CONTEXT *context) int test_fapi_key_change_auth (FAPI_CONTEXT *context) int test_fapi_key_create_ckda_sign (FAPI_CONTEXT *context) int test_fapi_key_create_policies_sign (FAPI_CONTEXT *context) int test_fapi_key_create_policy_authorize_nv (FAPI_CONTEXT *context) int test_fapi_key_create_policy_authorize_sign (FAPI_CONTEXT *context) int test_fapi_key_create_policy_nv_sign (FAPI_CONTEXT *context) int test_fapi_key_create_policy_or_sign (FAPI_CONTEXT *context) int test_fapi_key_create_policy_pcr_sign (FAPI_CONTEXT *context) int test_fapi_key_create_policy_secret_nv_sign (FAPI_CONTEXT *context) int test_fapi_key_create_policy_signed (FAPI_CONTEXT *context) int test_fapi_key_create_sign (FAPI_CONTEXT *context) int test_fapi_key_create_sign_password_provision (FAPI_CONTEXT *context) int test_fapi_key_create_sign_policy_provision (FAPI_CONTEXT *context) int test_fapi_nv_extend (FAPI_CONTEXT *context) int test_fapi_nv_increment (FAPI_CONTEXT *context) int test_fapi_nv_ordinary (FAPI_CONTEXT *context) int test_fapi_nv_set_bits (FAPI_CONTEXT *context) int test_fapi_nv_written_policy (FAPI_CONTEXT *context) int test_fapi_pcr_test (FAPI_CONTEXT *context) int test_fapi_platform_certificates (FAPI_CONTEXT *context) int test_fapi_quote (FAPI_CONTEXT *context) int test_fapi_unseal (FAPI_CONTEXT *context) Detailed Description Testing of FAPI functionality. The tested FAPI functions are listed in each of the testcase functions' descriptions. Function Documentation test_fapi_data_crypt (FAPI_CONTEXT * context) Test the FAPI functions for encryption and decryption. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateKey() o Fapi_SetSignCB() o Fapi_Encrypt() o Fapi_Decrypt() o Fapi_Free() Tested Policies: o PolicySigned Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_duplicate (FAPI_CONTEXT * context) Test the FAPI functions for key duplication. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateKey() o Fapi_ExportKey() o Fapi_Delete() Tested Policies: o PolicyDuplicationSelect Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_ext_public_key (FAPI_CONTEXT * context) Test the FAPI functions use an external public key for signature and quote verify without TPM. Tested FAPI commands: o Fapi_Import() o Fapi_VerifySignature() o Fapi_SetCertificate() o Fapi_GetCertificate() o Fapi_List() o Fapi_VerifyQuote() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_get_random (FAPI_CONTEXT * context) Test the FAPI function FAPI_GetRandom and async invocations. Tested FAPI commands: o Fapi_Provision() o Fapi_GetRandom_Async() o Fapi_GetRandom_Finish() o Fapi_GetPollHandles() o Fapi_GetRandom() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_info (FAPI_CONTEXT * context) Test the FAPI functions for GetInfo. Tested FAPI commands: o Fapi_Provision() o Fapi_GetInfo() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_change_auth (FAPI_CONTEXT * context) Test the FAPI function for changing key authorizations. The setting of the authorization callback and usage of the key with Fapi_Sign afterwards is also tested. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateKey() o Fapi_ChangeAuth() o Fapi_SetAuthCB() o Fapi_Sign() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_ckda_sign (FAPI_CONTEXT * context) Test the FAPI functions for key creation and usage with noda and da flag. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateKey() o Fapi_SetAuthCB() o Fapi_Sign() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_policies_sign (FAPI_CONTEXT * context) Test several FAPI policies by usage of signing key. Which test case will be executed is determined by the compiler switches: TEST_POLICY_PASSWORD, TEST_POLICY_AUTH_VALUE, TEST_POLICY_LOCALITY TEST_POLICY_PHYSICAL_PRESENCE, TEST_POLICY_COMMAND_CODE, TEST_POLICY_COUNTERTIMER. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateKey() o Fapi_SetAuthCB() o Fapi_Sign() o Fapi_Delete() Tested Policies: o PolicyPassword o PolicyAuthValue o PolicyLocality o PolicyPhysicalPresence o PolicyCommandCode o PolicyCounterTimer Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_policy_authorize_sign (FAPI_CONTEXT * context) Test the FAPI functions for PolicyAuthoirze with signing. Tested FAPI commands: o Fapi_Provision() o Fapi_SetBranchCB() o Fapi_Import() o Fapi_CreateKey() o Fapi_AuthorizePolicy() o Fapi_Sign() o Fapi_List() o Fapi_Delete() Tested Policies: o PolicyNameHash o PolicyAuthorize o PolicyCpHash (Not entered, only as alternative branch) Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_policy_nv_sign (FAPI_CONTEXT * context) Test the FAPI functions for NV writing and key usage. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateKey() o Fapi_NvWrite() o Fapi_Import() o Fapi_Sign() o Fapi_Delete() Tested Policies: o PolicyNv Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_policy_or_sign (FAPI_CONTEXT * context) Test the FAPI for PolicyOr using signing. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateKey() o Fapi_SetBranchCB() o Fapi_Sign() o Fapi_Delete() Tested Policies: o PolicyOr o PolicyPcr Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_policy_pcr_sign (FAPI_CONTEXT * context) Test the FAPI functions for PolicyPCR with key creation and usage. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateKey() o Fapi_Sign() o Fapi_ExportPolicy() o Fapi_Delete() o Fapi_Import() o Fapi_List() Tested Policies: o PolicyPcr (with currentPCRs set) Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_policy_secret_nv_sign (FAPI_CONTEXT * context) Test the FAPI PolicySecret and PolicyAuthValue handling. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateNv() o Fapi_CreateKey() o Fapi_Sign() o Fapi_SetAuthCB() o Fapi_Delete() Tested Policies: o PolicySecret o PolicyAuthValue Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_policy_signed (FAPI_CONTEXT * context) Test the FAPI functions for key creation and usage with a PolicySigned. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateKey() o Fapi_SetSignCB() o Fapi_Sign() o Fapi_Delete() o Fapi_List() Tested Policies: o PolicySigned Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_sign (FAPI_CONTEXT * context) Test the FAPI functions for TpmBlobs and certificates. Tested FAPI commands: o Fapi_Provision() o Fapi_SetAuthCB() o Fapi_CreateKey() o Fapi_GetTpmBlobs() o Fapi_Sign() o Fapi_VerifySignature() o Fapi_SetCertificate() o Fapi_List() o Fapi_ChangeAuth() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_sign_password_provision (FAPI_CONTEXT * context) Test the FAPI functions for key creation and usage with an SH password. Tested FAPI commands: o Fapi_Provision() o Fapi_SetAuthCB() o Fapi_CreateKey() o Fapi_GetTpmBlobs() o Fapi_Sign() o Fapi_SetCertificate() o Fapi_List() o Fapi_ChangeAuth() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_key_create_sign_policy_provision (FAPI_CONTEXT * context) Test the FAPI functions for key creation and usage. Tested FAPI commands: o Fapi_Provision() o Fapi_SetAuthCB() o Fapi_CreateKey() o Fapi_GetTpmBlobs() o Fapi_Sign() o Fapi_SetCertificate() o Fapi_List() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_nv_extend (FAPI_CONTEXT * context) Test the FAPI function FAPI_NvExtend. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateNv() o Fapi_NvExtend() o Fapi_Delete() o Fapi_SetAuthCB() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_nv_increment (FAPI_CONTEXT * context) Test the FAPI function FAPI_NvIncrement. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_CreateNv() o Fapi_SetAuthCB() o Fapi_ChangeAuth() o Fapi_Delete() o Fapi_NvIncrement() Tested Policies: o PolicyAuthValue o PolicyCommandCode Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_nv_ordinary (FAPI_CONTEXT * context) Test the FAPI NV functions. Tested FAPI commands: o Fapi_Provision() o Fapi_Import() o Fapi_SetPolicyActionCB() o Fapi_CreateNv() o Fapi_NvWrite() o Fapi_NvRead() o Fapi_Delete() o Fapi_SetDescription() o Fapi_GetDescription() o Fapi_SetAuthCB() Tested Policies: o PolicyAction Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_nv_set_bits (FAPI_CONTEXT * context) Test the FAPI function Fapi_NvSetBits. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateNv() o Fapi_NvSetBits() o Fapi_Delete() o Fapi_SetAuthCB() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_nv_written_policy (FAPI_CONTEXT * context) Test the FAPI policy PolicyNvWritten. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateNv() o Fapi_SetAppData() o Fapi_GetAppData() o Fapi_NvWrite() o Fapi_Delete() Tested Policies: o PolicyNvWritten Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_pcr_test (FAPI_CONTEXT * context) Test the FAPI function FAPI_PcrExtend and Read. Tested FAPI commands: o Fapi_Provision() o Fapi_PcrExtend() o Fapi_PcrRead() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_platform_certificates (FAPI_CONTEXT * context) Test the FAPI functions for platform certificates. Tested FAPI commands: o Fapi_Provision() o Fapi_GetPlatformCertificates() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_quote (FAPI_CONTEXT * context) Test the FAPI functions for quote commands. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateKey() o Fapi_PcrExtend() o Fapi_Quote() o Fapi_ExportKey() o Fapi_Import() o Fapi_PcrRead() o Fapi_VerifyQuote() o Fapi_List() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS test_fapi_unseal (FAPI_CONTEXT * context) Test the FAPI functions for sealing. Tested FAPI commands: o Fapi_Provision() o Fapi_CreateSeal() o Fapi_Unseal() o Fapi_Delete() Parameters context The FAPI_CONTEXT. Return values EXIT_FAILURE EXIT_SUCCESS Author Generated automatically by Doxygen for tpm2-tss from the source code. Version 4.0.1 Sun May 7 2023 FapiTestgroup(3)