123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- #ifndef TPM2_POLICY_H_
- #define TPM2_POLICY_H_
- #include <stdbool.h>
- #include <tss2/tss2_esys.h>
- #include "object.h"
- #include "tpm2_session.h"
- tool_rc tpm2_policy_build_pcr(ESYS_CONTEXT *context,
- tpm2_session *policy_session, const char *raw_pcrs_file,
- TPML_PCR_SELECTION *pcr_selections, TPM2B_DIGEST *raw_pcr_digest);
- tool_rc tpm2_policy_build_policyauthorize(ESYS_CONTEXT *ectx,
- tpm2_session *policy_session, const char *policy_digest_path,
- const char *policy_qualifier,
- const char *verifying_pubkey_name_path, const char *ticket_path);
- tool_rc tpm2_policy_build_policyor(ESYS_CONTEXT *ectx,
- tpm2_session *policy_session, TPML_DIGEST *policy_list);
- tool_rc tpm2_policy_build_policynamehash(ESYS_CONTEXT *ectx,
- tpm2_session *session, const TPM2B_DIGEST *name_hash);
- tool_rc tpm2_policy_build_policytemplate(ESYS_CONTEXT *ectx,
- tpm2_session *session, const TPM2B_DIGEST *template_hash);
- tool_rc tpm2_policy_build_policycphash(ESYS_CONTEXT *ectx,
- tpm2_session *session, const TPM2B_DIGEST *cphash);
- tool_rc tpm2_policy_build_policysecret(ESYS_CONTEXT *ectx,
- tpm2_session *policy_session, tpm2_loaded_object *auth_entity_obj,
- INT32 expiration, TPMT_TK_AUTH **policy_ticket,
- TPM2B_TIMEOUT **timeout, bool is_nonce_tpm,
- const char *policy_qualifier_path, TPM2B_DIGEST *cp_hash);
- tool_rc tpm2_policy_get_digest(ESYS_CONTEXT *context, tpm2_session *session,
- TPM2B_DIGEST **policy_digest);
- tool_rc tpm2_policy_build_policypassword(ESYS_CONTEXT *ectx,
- tpm2_session *session);
- tool_rc tpm2_policy_build_policyauthvalue(ESYS_CONTEXT *ectx,
- tpm2_session *session);
- tool_rc tpm2_policy_build_policysigned(ESYS_CONTEXT *ectx,
- tpm2_session *policy_session, tpm2_loaded_object *auth_entity_obj,
- TPMT_SIGNATURE *signature, INT32 expiration, TPM2B_TIMEOUT **timeout,
- TPMT_TK_AUTH **policy_ticket, const char *policy_qualifier_path,
- bool is_nonce_tpm, const char *raw_data_path,
- const char *cphash_path);
- tool_rc tpm2_policy_build_policyticket(ESYS_CONTEXT *ectx,
- tpm2_session *policy_session, char *policy_timeout_path,
- const char *qualifier_data_path, char *policy_ticket_path,
- const char *auth_name_file);
- bool tpm2_policy_parse_policy_list(char *str, TPML_DIGEST *policy_list);
- tool_rc tpm2_policy_build_policycommandcode(ESYS_CONTEXT *ectx,
- tpm2_session *session, uint32_t command_code);
- tool_rc tpm2_policy_build_policynvwritten(ESYS_CONTEXT *ectx,
- tpm2_session *session, TPMI_YES_NO written_set);
- tool_rc tpm2_policy_build_policylocality(ESYS_CONTEXT *ectx,
- tpm2_session *session, TPMA_LOCALITY locality);
- tool_rc tpm2_policy_build_policyduplicationselect(ESYS_CONTEXT *ectx,
- tpm2_session *session, const char *obj_name_path,
- const char *new_parent_name_path, TPMI_YES_NO is_include_obj);
- tool_rc tpm2_policy_tool_finish(ESYS_CONTEXT *ectx, tpm2_session *session,
- const char *save_path);
- #endif
|