1 /********************************************************************************/ 2 /* */ 3 /* */ 4 /* Written by Ken Goldman */ 5 /* IBM Thomas J. Watson Research Center */ 6 /* $Id: PolicySigned_fp.h 1257 2018-06-27 20:52:08Z kgoldman $ */ 7 /* */ 8 /* Licenses and Notices */ 9 /* */ 10 /* 1. Copyright Licenses: */ 11 /* */ 12 /* - Trusted Computing Group (TCG) grants to the user of the source code in */ 13 /* this specification (the "Source Code") a worldwide, irrevocable, */ 14 /* nonexclusive, royalty free, copyright license to reproduce, create */ 15 /* derivative works, distribute, display and perform the Source Code and */ 16 /* derivative works thereof, and to grant others the rights granted herein. */ 17 /* */ 18 /* - The TCG grants to the user of the other parts of the specification */ 19 /* (other than the Source Code) the rights to reproduce, distribute, */ 20 /* display, and perform the specification solely for the purpose of */ 21 /* developing products based on such documents. */ 22 /* */ 23 /* 2. Source Code Distribution Conditions: */ 24 /* */ 25 /* - Redistributions of Source Code must retain the above copyright licenses, */ 26 /* this list of conditions and the following disclaimers. */ 27 /* */ 28 /* - Redistributions in binary form must reproduce the above copyright */ 29 /* licenses, this list of conditions and the following disclaimers in the */ 30 /* documentation and/or other materials provided with the distribution. */ 31 /* */ 32 /* 3. Disclaimers: */ 33 /* */ 34 /* - THE COPYRIGHT LICENSES SET FORTH ABOVE DO NOT REPRESENT ANY FORM OF */ 35 /* LICENSE OR WAIVER, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, WITH */ 36 /* RESPECT TO PATENT RIGHTS HELD BY TCG MEMBERS (OR OTHER THIRD PARTIES) */ 37 /* THAT MAY BE NECESSARY TO IMPLEMENT THIS SPECIFICATION OR OTHERWISE. */ 38 /* Contact TCG Administration (admin@trustedcomputinggroup.org) for */ 39 /* information on specification licensing rights available through TCG */ 40 /* membership agreements. */ 41 /* */ 42 /* - THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO EXPRESS OR IMPLIED */ 43 /* WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR */ 44 /* FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OR */ 45 /* NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS, OR ANY WARRANTY */ 46 /* OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. */ 47 /* */ 48 /* - Without limitation, TCG and its members and licensors disclaim all */ 49 /* liability, including liability for infringement of any proprietary */ 50 /* rights, relating to use of information in this specification and to the */ 51 /* implementation of this specification, and TCG disclaims all liability for */ 52 /* cost of procurement of substitute goods or services, lost profits, loss */ 53 /* of use, loss of data or any incidental, consequential, direct, indirect, */ 54 /* or special damages, whether under contract, tort, warranty or otherwise, */ 55 /* arising in any way out of use or reliance upon this specification or any */ 56 /* information herein. */ 57 /* */ 58 /* (c) Copyright IBM Corp. and others, 2012-2015 */ 59 /* */ 60 /********************************************************************************/ 61 62 /* rev 119 */ 63 64 #ifndef POLICYSIGNED_FP_H 65 #define POLICYSIGNED_FP_H 66 67 typedef struct { 68 TPMI_DH_OBJECT authObject; 69 TPMI_SH_POLICY policySession; 70 TPM2B_NONCE nonceTPM; 71 TPM2B_DIGEST cpHashA; 72 TPM2B_NONCE policyRef; 73 INT32 expiration; 74 TPMT_SIGNATURE auth; 75 } PolicySigned_In; 76 77 #define RC_PolicySigned_authObject (TPM_RC_H + TPM_RC_1) 78 #define RC_PolicySigned_policySession (TPM_RC_H + TPM_RC_2) 79 #define RC_PolicySigned_nonceTPM (TPM_RC_P + TPM_RC_1) 80 #define RC_PolicySigned_cpHashA (TPM_RC_P + TPM_RC_2) 81 #define RC_PolicySigned_policyRef (TPM_RC_P + TPM_RC_3) 82 #define RC_PolicySigned_expiration (TPM_RC_P + TPM_RC_4) 83 #define RC_PolicySigned_auth (TPM_RC_P + TPM_RC_5) 84 85 typedef struct { 86 TPM2B_TIMEOUT timeout; 87 TPMT_TK_AUTH policyTicket; 88 } PolicySigned_Out; 89 90 TPM_RC 91 TPM2_PolicySigned( 92 PolicySigned_In *in, // IN: input parameter list 93 PolicySigned_Out *out // OUT: output parameter list 94 ); 95 96 #endif 97