11605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 21605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 31605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 41605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 51605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 61605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContact: admin@trustedcomputinggroup.org 81605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTCG 131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLicenses and Notices 191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1. Copyright Licenses: 201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Computing Group (TCG) grants to the user of the source code in this specification (the 231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“Source Code”) a worldwide, irrevocable, nonexclusive, royalty free, copyright license to 241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreproduce, create derivative works, distribute, display and perform the Source Code and 251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnderivative works thereof, and to grant others the rights granted herein. 261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TCG grants to the user of the other parts of the specification (other than the Source Code) 301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe rights to reproduce, distribute, display, and perform the specification solely for the purpose of 311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndeveloping products based on such documents. 321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2. Source Code Distribution Conditions: 341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRedistributions of Source Code must retain the above copyright licenses, this list of conditions 371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand the following disclaimers. 381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRedistributions in binary form must reproduce the above copyright licenses, this list of conditions 421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand the following disclaimers in the documentation and/or other materials provided with the 431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndistribution. 441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3. Disclaimers: 461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTHE COPYRIGHT LICENSES SET FORTH ABOVE DO NOT REPRESENT ANY FORM OF 491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLICENSE OR WAIVER, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, WITH 501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRESPECT TO PATENT RIGHTS HELD BY TCG MEMBERS (OR OTHER THIRD PARTIES) 511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTHAT MAY BE NECESSARY TO IMPLEMENT THIS SPECIFICATION OR OTHERWISE. 521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContact TCG Administration (admin@trustedcomputinggroup.org) for information on specification 531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlicensing rights available through TCG membership agreements. 541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTHIS SPECIFICATION IS PROVIDED "AS IS" WITH NO EXPRESS OR IMPLIED WARRANTIES 581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A 591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OR NONINFRINGEMENT OF 601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINTELLECTUAL PROPERTY RIGHTS, OR ANY WARRANTY OTHERWISE ARISING OUT OF 611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnANY PROPOSAL, SPECIFICATION OR SAMPLE. 621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWithout limitation, TCG and its members and licensors disclaim all liability, including liability for 661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninfringement of any proprietary rights, relating to use of information in this specification and to the 671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation of this specification, and TCG disclaims all liability for cost of procurement of 681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsubstitute goods or services, lost profits, loss of use, loss of data or any incidental, consequential, 691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndirect, indirect, or special damages, whether under contract, tort, warranty or otherwise, arising in 701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnany way out of use or reliance upon this specification or any information herein. 711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAny marks and brands contained herein are the property of their respective owners. 731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage ii 751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTENTS 881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnScope .................................................................................................................................................... 1 911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTerms and definitions ............................................................................................................................ 1 951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSymbols and abbreviated terms ............................................................................................................ 1 991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 1011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNotation ................................................................................................................................................. 1 1031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.1 1041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction ................................................................................................................................ 1 1051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.2 1061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNamed Constants ...................................................................................................................... 2 1071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.3 1081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnData Type Aliases (typedefs) .................................................................................................... 3 1091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.4 1101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEnumerations............................................................................................................................. 3 1111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.5 1121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnInterface Type ............................................................................................................................ 4 1131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.6 1141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnArrays ........................................................................................................................................ 5 1151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.7 1161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure Definitions .................................................................................................................. 6 1171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.8 1181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnConditional Types ...................................................................................................................... 7 1191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9 1201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnions........................................................................................................................................ 8 1211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.1 1221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction...................................................................................................................... 8 1231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.2 1241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnion Definition ............................................................................................................... 8 1251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.3 1261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnion Instance ................................................................................................................ 9 1271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.4 1281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnion Selector Definition ............................................................................................... 10 1291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.10 Bit Field Definitions .................................................................................................................. 11 1301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.11 Parameter Limits ..................................................................................................................... 11 1311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.12 Enumeration Macro ................................................................................................................. 13 1321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.13 Size Checking .......................................................................................................................... 13 1331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.14 Data Direction .......................................................................................................................... 14 1341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.15 Structure Validations ............................................................................................................... 14 1351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.16 Name Prefix Convention .......................................................................................................... 14 1361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.17 Data Alignment ........................................................................................................................ 15 1371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.18 Parameter Unmarshaling Errors .............................................................................................. 15 1381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 1401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBase Types ......................................................................................................................................... 17 1421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5.1 1431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPrimitive Types ........................................................................................................................ 17 1441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5.2 1451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMiscellaneous Types ............................................................................................................... 17 1461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 1481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnConstants ............................................................................................................................................ 18 1501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.1 1511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SPEC (Specification Version Values) ............................................................................ 18 1521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.2 1531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_GENERATED ................................................................................................................. 18 1541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.3 1551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID .......................................................................................................................... 19 1561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.4 1571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_CURVE ................................................................................................................. 22 1581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5 1591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC (Command Codes) .................................................................................................. 22 1601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5.1 1611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFormat ........................................................................................................................... 22 1621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5.2 1631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription .................................................................................................................... 23 1641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5.3 1651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC Listing ............................................................................................................ 24 1661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6 1671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC (Response Codes) ................................................................................................... 28 1681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6.1 1691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription .................................................................................................................... 28 1701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6.2 1711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnResponse Code Formats .............................................................................................. 29 1721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6.3 1731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC Values ........................................................................................................... 32 1741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.7 1751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_ADJUST ........................................................................................................... 37 1761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.8 1771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO (EA Arithmetic Operands) ........................................................................................ 37 1781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.9 1791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST (Structure Tags) ....................................................................................................... 38 1801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.10 TPM_SU (Startup Type) .......................................................................................................... 40 1811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.11 TPM_SE (Session Type) ......................................................................................................... 40 1821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.12 TPM_CAP (Capabilities) .......................................................................................................... 41 1831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.13 TPM_PT (Property Tag) .......................................................................................................... 41 1841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.14 TPM_PT_PCR (PCR Property Tag) ........................................................................................ 47 1851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.15 TPM_PS (Platform Specific) .................................................................................................... 49 1861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 1881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 1891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 1911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 1921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage iii 1941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 1951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 1971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 1981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 1991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 2001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 2011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 2021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHandles ............................................................................................................................................... 50 2031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.1 2041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction .............................................................................................................................. 50 2051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.2 2061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT (Handle Types) ......................................................................................................... 50 2071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.3 2081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPersistent Handle Sub-ranges................................................................................................. 51 2091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.4 2101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH (Permanent Handles)............................................................................................... 52 2111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.5 2121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HC (Handle Value Constants) ....................................................................................... 53 2131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 2141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 2151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 2161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAttribute Structures .............................................................................................................................. 55 2171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.1 2181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription ............................................................................................................................... 55 2191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.2 2201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_ALGORITHM ............................................................................................................... 55 2211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3 2221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_OBJECT (Object Attributes) ........................................................................................ 55 2231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.1 2241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................... 55 2251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.2 2261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure Definition ........................................................................................................ 56 2271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3 2281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAttribute Descriptions .................................................................................................... 57 2291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.1 2301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction ............................................................................................................ 57 2311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.2 2321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[1] – fixedTPM ................................................................................................... 57 2331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.3 2341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[2] – stClear ....................................................................................................... 58 2351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.4 2361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[4] – fixedParent ................................................................................................ 58 2371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.5 2381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[5] – sensitiveDataOrigin ................................................................................... 58 2391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.6 2401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[6] – userWithAuth............................................................................................. 59 2411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.7 2421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[7] – adminWithPolicy........................................................................................ 59 2431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.8 2441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[10] – noDA ....................................................................................................... 59 2451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.9 2461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[11] – encryptedDuplication .............................................................................. 60 2471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.10 2481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[16] – restricted ................................................................................................. 60 2491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.11 2501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[17] – decrypt .................................................................................................... 61 2511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.12 2521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[18] – sign .......................................................................................................... 61 2531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.4 2541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_SESSION (Session Attributes) .................................................................................... 62 2551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.5 2561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_LOCALITY (Locality Attribute) ..................................................................................... 63 2571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.6 2581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_PERMANENT .............................................................................................................. 64 2591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.7 2601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_STARTUP_CLEAR ...................................................................................................... 65 2611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.8 2621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_MEMORY .................................................................................................................... 66 2631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9 2641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_CC (Command Code Attributes) ................................................................................. 67 2651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.1 2661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................... 67 2671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.2 2681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure Definition ........................................................................................................ 67 2691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3 2701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnField Descriptions .......................................................................................................... 67 2711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.1 2721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBits[15:0] – commandIndex ................................................................................... 67 2731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.2 2741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[22] – nv ............................................................................................................ 67 2751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.3 2761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[23] – extensive ................................................................................................. 67 2771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.4 2781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[24] – flushed ..................................................................................................... 68 2791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.5 2801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBits[27:25] – cHandles .......................................................................................... 68 2811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.6 2821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[28] – rHandle .................................................................................................... 68 2831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.7 2841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[29] – V .............................................................................................................. 69 2851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.8 2861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBits[31:30] – Res ................................................................................................... 69 2871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 2881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9 2891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 2901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnInterface Types .................................................................................................................................... 70 2911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.1 2921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction .............................................................................................................................. 70 2931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.2 2941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_YES_NO ....................................................................................................................... 70 2951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.3 2961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_OBJECT ................................................................................................................. 70 2971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.4 2981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_PERSISTENT ........................................................................................................ 71 2991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.5 3001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_ENTITY .................................................................................................................. 71 3011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.6 3021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_PCR ....................................................................................................................... 72 3031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.7 3041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SH_AUTH_SESSION ................................................................................................... 72 3051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.8 3061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SH_HMAC .................................................................................................................... 72 3071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.9 3081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SH_POLICY .................................................................................................................. 72 3091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.10 TPMI_DH_CONTEXT .............................................................................................................. 73 3101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.11 TPMI_RH_HIERARCHY .......................................................................................................... 73 3111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.12 TPMI_RH_ENABLES .............................................................................................................. 73 3121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 3131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage iv 3141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 3151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 3161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 3171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 3181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 3191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 3201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 3211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 3221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 3231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.13 3241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.14 3251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.15 3261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.16 3271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.17 3281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.18 3291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.19 3301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.20 3311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.21 3321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.22 3331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.23 3341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.24 3351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.25 3361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.26 3371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.27 3381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.28 3391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.29 3401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.30 3411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10 3421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 3431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 3441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 3451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_HIERARCHY_AUTH .............................................................................................. 74 3461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_PLATFORM ........................................................................................................... 74 3471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_OWNER ................................................................................................................. 74 3481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_ENDORSEMENT ................................................................................................... 75 3491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_PROVISION ........................................................................................................... 75 3501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_CLEAR ................................................................................................................... 75 3511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_NV_AUTH .............................................................................................................. 76 3521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_LOCKOUT ............................................................................................................. 76 3531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_NV_INDEX ............................................................................................................. 76 3541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH ................................................................................................................... 77 3551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_ASYM (Asymmetric Algorithms) .......................................................................... 77 3561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_SYM (Symmetric Algorithms) .............................................................................. 78 3571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_SYM_OBJECT ..................................................................................................... 78 3581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_SYM_MODE ........................................................................................................ 79 3591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_KDF (Key and Mask Generation Functions) ........................................................ 79 3601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_SIG_SCHEME ..................................................................................................... 80 3611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ECC_KEY_EXCHANGE ............................................................................................... 80 3621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ST_COMMAND_TAG ................................................................................................... 80 3631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 3641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure Definitions ............................................................................................................................ 81 3651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.1 TPMS_ALGORITHM_DESCRIPTION .................................................................................... 81 3661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.2 Hash/Digest Structures ............................................................................................................ 81 3671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.2.1 3681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_HA (Hash) ......................................................................................................... 81 3691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.2.2 3701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_HA...................................................................................................................... 82 3711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3 Sized Buffers ........................................................................................................................... 82 3721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.1 3731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................... 82 3741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.2 3751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST ........................................................................................................... 83 3761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.3 3771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DATA ............................................................................................................... 83 3781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.4 3791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NONCE ........................................................................................................... 83 3801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.5 3811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_AUTH .............................................................................................................. 83 3821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.6 3831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_OPERAND ...................................................................................................... 84 3841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.7 3851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_EVENT ............................................................................................................ 84 3861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.8 3871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_MAX_BUFFER ................................................................................................ 84 3881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.9 3891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_MAX_NV_BUFFER ......................................................................................... 84 3901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.10 TPM2B_TIMEOUT ........................................................................................................ 85 3911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.11 TPM2B_IV ..................................................................................................................... 85 3921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4 Names ..................................................................................................................................... 85 3931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4.1 3941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................... 85 3951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4.2 3961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_NAME ................................................................................................................ 85 3971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4.3 3981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME .............................................................................................................. 86 3991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.5 PCR Structures ........................................................................................................................ 86 4001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.5.1 4011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_PCR_SELECT ................................................................................................... 86 4021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.5.2 4031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_PCR_SELECTION ............................................................................................ 87 4041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6 Tickets ..................................................................................................................................... 87 4051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.1 4061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................... 87 4071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.2 4081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA NULL Ticket ............................................................................................................... 88 4091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.3 4101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_TK_CREATION ................................................................................................. 89 4111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.4 4121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_TK_VERIFIED ................................................................................................... 90 4131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.5 4141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_TK_AUTH .......................................................................................................... 91 4151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.6 4161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_TK_HASHCHECK ............................................................................................. 92 4171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7 Property Structures .................................................................................................................. 92 4181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7.1 4191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ALG_PROPERTY ............................................................................................. 92 4201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7.2 4211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_TAGGED_PROPERTY ..................................................................................... 92 4221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7.3 4231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_TAGGED_PCR_SELECT ................................................................................. 93 4241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8 Lists ......................................................................................................................................... 93 4251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 4261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 4271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 4281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 4291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 4301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 4311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 4321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage v 4331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 4341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 4351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 4361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 4371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 4381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 4391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.1 4401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CC...................................................................................................................... 93 4411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.2 4421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CCA ................................................................................................................... 94 4431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.3 4441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_ALG.................................................................................................................... 94 4451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.4 4461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_HANDLE ............................................................................................................ 94 4471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.5 4481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_DIGEST ............................................................................................................. 95 4491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.6 4501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_DIGEST_VALUES ............................................................................................. 95 4511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.7 4521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST_VALUES........................................................................................... 95 4531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.8 4541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_PCR_SELECTION............................................................................................. 96 4551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.9 4561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_ALG_PROPERTY.............................................................................................. 96 4571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.10 TPML_TAGGED_TPM_PROPERTY ............................................................................ 96 4581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.11 TPML_TAGGED_PCR_PROPERTY ............................................................................ 97 4591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.12 TPML_ECC_CURVE .................................................................................................... 97 4601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.9 Capabilities Structures ............................................................................................................. 97 4611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.9.1 4621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_CAPABILITIES .................................................................................................. 97 4631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.9.2 4641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CAPABILITY_DATA .......................................................................................... 98 4651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10 Clock/Counter Structures ........................................................................................................ 98 4661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.1 TPMS_CLOCK_INFO ................................................................................................... 98 4671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.2 Clock ............................................................................................................................. 98 4681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.3 ResetCount ................................................................................................................... 98 4691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.4 RestartCount ................................................................................................................. 99 4701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.5 Safe ............................................................................................................................... 99 4711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.6 TPMS_TIME_INFO ....................................................................................................... 99 4721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11 TPM Attestation Structures .................................................................................................... 100 4731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.1 Introduction.................................................................................................................. 100 4741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.2 TPMS_TIME_ATTEST_INFO ..................................................................................... 100 4751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.3 TPMS_CERTIFY_INFO .............................................................................................. 100 4761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.1 TPMS_QUOTE_INFO ................................................................................................. 100 4771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.2 TPMS_COMMAND_AUDIT_INFO .............................................................................. 101 4781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.3 TPMS_SESSION_AUDIT_INFO ................................................................................. 101 4791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.4 TPMS_CREATION_INFO ........................................................................................... 101 4801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.5 TPMS_NV_CERTIFY_INFO ....................................................................................... 101 4811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.6 TPMI_ST_ATTEST ..................................................................................................... 102 4821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.7 TPMU_ATTEST .......................................................................................................... 102 4831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.8 TPMS_ATTEST .......................................................................................................... 103 4841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.9 TPM2B_ATTEST ........................................................................................................ 103 4851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.12 Authorization Structures ........................................................................................................ 104 4861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.12.1 TPMS_AUTH_COMMAND ......................................................................................... 104 4871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.12.2 TPMS_AUTH_RESPONSE ........................................................................................ 104 4881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11 4891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 4901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Parameters and Structures ............................................................................................... 105 4911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1 Symmetric .............................................................................................................................. 105 4921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.1 4931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................. 105 4941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.2 4951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_AES_KEY_BITS ............................................................................................... 105 4961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.3 4971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SM4_KEY_BITS ............................................................................................... 105 4981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.4 4991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_KEY_BITS ............................................................................................. 106 5001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.5 5011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_MODE ................................................................................................... 106 5021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.6 5031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_DETAILS ............................................................................................... 107 5041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.7 5051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SYM_DEF ....................................................................................................... 107 5061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.8 5071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SYM_DEF_OBJECT ....................................................................................... 107 5081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.9 5091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_SYM_KEY ..................................................................................................... 108 5101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.10 TPMS_SYMCIPHER_PARMS .................................................................................... 108 5111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.11 TPM2B_SENSITIVE_DATA ........................................................................................ 108 5121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.12 TPMS_SENSITIVE_CREATE ..................................................................................... 109 5131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.13 TPM2B_SENSITIVE_CREATE ................................................................................... 110 5141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.14 TPMS_SCHEME_SIGHASH....................................................................................... 110 5151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.15 TPMI_ALG_HASH_SCHEME ..................................................................................... 110 5161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 5171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage vi 5181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 5191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 5201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 5211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 5221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 5231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 5241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 5251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 5261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 5271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 5281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 5291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 5301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.16 HMAC_SIG_SCHEME ................................................................................................ 110 5311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.17 TPMS_SCHEME_XOR ............................................................................................... 111 5321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.18 TPMU_SCHEME_HMAC ............................................................................................ 111 5331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.19 TPMT_KEYEDHASH_SCHEME ................................................................................. 111 5341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2 Asymmetric ............................................................................................................................ 112 5351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1 5361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSigning Schemes ........................................................................................................ 112 5371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.1 5381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction .......................................................................................................... 112 5391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.2 5401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA_SIG_SCHEMES ......................................................................................... 112 5411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.3 5421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC_SIG_SCHEMES ......................................................................................... 112 5431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.4 5441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECDAA................................................................................... 112 5451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.5 5461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SIG_SCHEME......................................................................................... 113 5471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.6 5481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SIG_SCHEME ......................................................................................... 113 5491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2 5501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncryption Schemes ................................................................................................... 114 5511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2.1 5521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction .......................................................................................................... 114 5531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2.2 5541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_OAEP ..................................................................................... 114 5551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2.3 5561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECDH ..................................................................................... 114 5571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3 5581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKey Derivation Schemes ............................................................................................. 114 5591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.1 5601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction .......................................................................................................... 114 5611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.2 5621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_MGF1 ..................................................................................... 114 5631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.3 5641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF1_SP800_56a ................................................................. 114 5651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.4 5661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF2 ...................................................................................... 115 5671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.5 5681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF1_SP800_108 ................................................................. 115 5691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.6 5701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_KDF_SCHEME........................................................................................ 115 5711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.7 5721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_KDF_SCHEME ........................................................................................ 115 5731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.8 5741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_ASYM_SCHEME ............................................................................. 116 5751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.9 5761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ASYM_SCHEME..................................................................................... 116 5771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.10 TPMT_ASYM_SCHEME ..................................................................................... 117 5781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4 5791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA ............................................................................................................................. 117 5801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.1 5811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_RSA_SCHEME ................................................................................ 117 5821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.2 5831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_RSA_SCHEME ........................................................................................ 117 5841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.3 5851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_RSA_DECRYPT .............................................................................. 118 5861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.4 5871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_RSA_DECRYPT ...................................................................................... 118 5881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.5 5891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PUBLIC_KEY_RSA ............................................................................... 118 5901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.6 5911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RSA_KEY_BITS ....................................................................................... 118 5921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.7 5931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE_KEY_RSA ............................................................................ 119 5941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5 5951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC ............................................................................................................................. 120 5961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.1 5971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER .............................................................................. 120 5981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.2 5991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ECC_POINT ............................................................................................ 120 6001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.3 6011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_POINT .......................................................................................... 120 6021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.4 6031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_ECC_SCHEME ............................................................................... 121 6041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.5 6051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ECC_CURVE ............................................................................................ 121 6061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.6 6071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_ECC_SCHEME........................................................................................ 121 6081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.7 6091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ALGORITHM_DETAIL_ECC ................................................................... 122 6101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3 Signatures.............................................................................................................................. 122 6111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.1 6121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_RSASSA .................................................................................. 122 6131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.2 6141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_RSAPSS .................................................................................. 122 6151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.3 6161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_ECDSA ..................................................................................... 123 6171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.4 6181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SIGNATURE ................................................................................................... 123 6191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.5 6201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SIGNATURE ................................................................................................... 124 6211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4 Key/Secret Exchange ............................................................................................................ 124 6221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4.1 6231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................. 124 6241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4.2 6251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ENCRYPTED_SECRET ................................................................................. 124 6261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4.3 6271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ENCRYPTED_SECRET ............................................................................... 125 6281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12 6291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 6301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKey/Object Complex.......................................................................................................................... 126 6311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 6321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 6331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 6341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 6351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 6361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 6371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 6381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage vii 6391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 6401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 6411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 6421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 6431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 6441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 6451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.1 Introduction ............................................................................................................................ 126 6461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2 Public Area Structures ........................................................................................................... 126 6471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.1 6481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription .................................................................................................................. 126 6491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.2 6501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_PUBLIC ................................................................................................... 126 6511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3 6521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType-Specific Parameters ........................................................................................... 126 6531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.1 6541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription .......................................................................................................... 126 6551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.2 6561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_PUBLIC_ID .............................................................................................. 127 6571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.3 6581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_KEYEDHASH_PARMS ........................................................................... 127 6591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.4 6601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ASYM_PARMS ....................................................................................... 127 6611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.5 6621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_RSA_PARMS .......................................................................................... 128 6631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.6 6641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ECC_PARMS .......................................................................................... 129 6651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.7 6661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_PUBLIC_PARMS .................................................................................... 129 6671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.8 6681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_PUBLIC_PARMS ..................................................................................... 130 6691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.4 6701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_PUBLIC ........................................................................................................... 130 6711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.5 6721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PUBLIC ......................................................................................................... 131 6731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3 Private Area Structures ......................................................................................................... 131 6741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.1 6751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction.................................................................................................................. 131 6761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2 6771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSensitive Data Structures ............................................................................................ 131 6781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.1 6791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction .......................................................................................................... 131 6801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.2 6811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE_VENDOR_SPECIFIC ........................................................... 131 6821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.3 6831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SENSITIVE_COMPOSITE ...................................................................... 132 6841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.4 6851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SENSITIVE .............................................................................................. 132 6861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.3 6871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_SENSITIVE ................................................................................................... 132 6881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.4 6891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncryption ................................................................................................................... 133 6901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.5 6911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntegrity........................................................................................................................ 133 6921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.6 6931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn_PRIVATE ................................................................................................................... 133 6941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.7 6951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE ....................................................................................................... 133 6961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4 Identity Object ........................................................................................................................ 134 6971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4.1 6981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription .................................................................................................................. 134 6991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4.2 7001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn_ID_OBJECT .............................................................................................................. 134 7011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4.3 7021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ID_OBJECT .................................................................................................. 134 7031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13 7041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Storage Structures ...................................................................................................................... 135 7061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.1 TPM_NV_INDEX ................................................................................................................... 135 7071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.2 TPMA_NV (NV Index Attributes) ........................................................................................... 136 7081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.3 TPMS_NV_PUBLIC ............................................................................................................... 139 7091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.4 TPM2B_NV_PUBLIC ............................................................................................................. 139 7101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14 7121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext Data ..................................................................................................................................... 140 7141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.1 Introduction ............................................................................................................................ 140 7151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.2 TPM2B_CONTEXT_SENSITIVE........................................................................................... 140 7161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.3 TPMS_CONTEXT_DATA ...................................................................................................... 140 7171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.4 TPM2B_CONTEXT_DATA .................................................................................................... 140 7181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.5 TPMS_CONTEXT ................................................................................................................. 141 7191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6 Parameters of TPMS_CONTEXT .......................................................................................... 142 7201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6.1 7211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsequence ..................................................................................................................... 142 7221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6.2 7231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsavedHandle ............................................................................................................... 142 7241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6.3 7251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy...................................................................................................................... 143 7261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.7 Context Protection ................................................................................................................. 143 7271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.7.1 7281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext Integrity .......................................................................................................... 143 7291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.7.2 7301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext Confidentiality ................................................................................................ 143 7311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15 7331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation Data .................................................................................................................................... 144 7351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15.1 TPMS_CREATION_DATA .................................................................................................... 144 7361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15.2 TPM2B_CREATION_DATA .................................................................................................. 144 7371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage viii 7391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 7401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 7421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 7431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 7451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 7461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 7481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 7501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAnnex A (informative) Algorithm Constants ............................................................................................. 145 7521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.1 7531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction ............................................................................................................................ 145 7541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2 7551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAllowed Hash Algorithms....................................................................................................... 145 7561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.1 7571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA1 ........................................................................................................................... 145 7581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.2 7591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256 ....................................................................................................................... 145 7601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.3 7611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA384 ....................................................................................................................... 145 7621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.4 7631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA512 ....................................................................................................................... 146 7641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.5 7651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM3_256 ..................................................................................................................... 146 7661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.3 7671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnArchitectural Limits ................................................................................................................ 146 7681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAnnex B (informative) Implementation Definitions ................................................................................... 147 7691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.1 7701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction ............................................................................................................................ 147 7711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.2 7721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLogic Values .......................................................................................................................... 147 7731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.3 7741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnProcessor Values .................................................................................................................. 147 7751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.4 7761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented Algorithms ........................................................................................................ 148 7771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.5 7781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented Commands ...................................................................................................... 148 7791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6 7801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Constants .............................................................................................................. 151 7811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.1 7821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA ............................................................................................................................. 152 7831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.2 7841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC ............................................................................................................................. 152 7851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.3 7861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAES ............................................................................................................................. 152 7871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.4 7881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4 ............................................................................................................................. 152 7891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.5 7901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSymmetric ................................................................................................................... 153 7911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.7 7921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplementation Specific Values ............................................................................................ 154 7931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 7951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 7961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 7971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 7981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 7991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage ix 8011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 8021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 8041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 8061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTables 8081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 1 — Name Prefix Convention ........................................................................................................... 15 8091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 2 — Unmarshaling Errors ................................................................................................................. 16 8101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 3 — Definition of Base Types ........................................................................................................... 17 8111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 4 — Definition of Types for Documentation Clarity ........................................................................... 17 8121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 5 — Definition of (UINT32) TPM_SPEC Constants <> ..................................................................... 18 8131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 6 — Definition of (UINT32) TPM_GENERATED Constants <O> ..................................................... 18 8141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 7 — Definition of (UINT16) TPM_ALG_ID Constants <IN/OUT, S> ................................................. 19 8151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 8 — Definition of (UINT16) {ECC} TPM_ECC_CURVE Constants <IN/OUT, S> ............................ 22 8161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 9 — TPM Command Format Fields Description ............................................................................... 22 8171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 10 — Legend for Command Code Tables ........................................................................................ 23 8181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 11 — Definition of (UINT32) TPM_CC Constants (Numeric Order) <IN/OUT, S> ........................... 24 8191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 12 — Format-Zero Response Codes ................................................................................................ 30 8201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 13 — Format-One Response Codes ................................................................................................ 31 8211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 14 — Response Code Groupings ..................................................................................................... 31 8221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 15 — Definition of (UINT32) TPM_RC Constants (Actions) <OUT> ................................................ 32 8231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 16 — Definition of (INT8) TPM_CLOCK_ADJUST Constants <IN> ................................................. 37 8241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 17 — Definition of (UINT16) TPM_EO Constants <IN/OUT> ........................................................... 37 8251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 18 — Definition of (UINT16) TPM_ST Constants <IN/OUT, S> ....................................................... 38 8261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 19 — Definition of (UINT16) TPM_SU Constants <IN> .................................................................... 40 8271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 20 — Definition of (UINT8) TPM_SE Constants <IN> ...................................................................... 40 8281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 21 — Definition of (UINT32) TPM_CAP Constants .......................................................................... 41 8291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 22 — Definition of (UINT32) TPM_PT Constants <IN/OUT, S> ....................................................... 41 8301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 23 — Definition of (UINT32) TPM_PT_PCR Constants <IN/OUT, S> ............................................. 47 8311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 24 — Definition of (UINT32) TPM_PS Constants <OUT> ................................................................ 49 8321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 25 — Definition of Types for Handles ............................................................................................... 50 8331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 26 — Definition of (UINT8) TPM_HT Constants <S> ....................................................................... 50 8341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 27 — Definition of (UINT32) TPM_RH Constants <IN, S> ............................................................... 52 8351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 28 — Definition of (TPM_HANDLE) TPM_HC Constants <IN, S> ................................................... 54 8361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 29 — Definition of (UINT32) TPMA_ALGORITHM Bits .................................................................... 55 8371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 30 — Definition of (UINT32) TPMA_OBJECT Bits ........................................................................... 56 8381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 31 — Definition of (UINT8) TPMA_SESSION Bits <IN/OUT> .......................................................... 62 8391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 32 — Definition of (UINT8) TPMA_LOCALITY Bits <IN/OUT> ........................................................ 64 8401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 33 — Definition of (UINT32) TPMA_PERMANENT Bits <OUT> ...................................................... 64 8411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 34 — Definition of (UINT32) TPMA_STARTUP_CLEAR Bits <OUT> .............................................. 65 8421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 35 — Definition of (UINT32) TPMA_MEMORY Bits <Out> .............................................................. 66 8431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 36 — Definition of (TPM_CC) TPMA_CC Bits <OUT> ..................................................................... 67 8441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 37 — Definition of (BYTE) TPMI_YES_NO Type ............................................................................. 70 8451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage x 8471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 8481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 8501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 8511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 8531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 8541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 8561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 8581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 38 — Definition of (TPM_HANDLE) TPMI_DH_OBJECT Type........................................................ 70 8601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 39 — Definition of (TPM_HANDLE) TPMI_DH_PERSISTENT Type ............................................... 71 8611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 40 — Definition of (TPM_HANDLE) TPMI_DH_ENTITY Type <IN> ................................................ 71 8621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 41 — Definition of (TPM_HANDLE) TPMI_DH_PCR Type <IN> ..................................................... 72 8631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 42 — Definition of (TPM_HANDLE) TPMI_SH_AUTH_SESSION Type <IN/OUT> ........................ 72 8641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 43 — Definition of (TPM_HANDLE) TPMI_SH_HMAC Type <IN/OUT> .......................................... 72 8651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 44 — Definition of (TPM_HANDLE) TPMI_SH_POLICY Type <IN/OUT> ....................................... 72 8661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 45 — Definition of (TPM_HANDLE) TPMI_DH_CONTEXT Type .................................................... 73 8671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 46 — Definition of (TPM_HANDLE) TPMI_RH_HIERARCHY Type ................................................ 73 8681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 47 — Definition of (TPM_HANDLE) TPMI_RH_ENABLES Type ..................................................... 73 8691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 48 — Definition of (TPM_HANDLE) TPMI_RH_HIERARCHY_AUTH Type <IN> ............................ 74 8701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 49 — Definition of (TPM_HANDLE) TPMI_RH_PLATFORM Type <IN> ......................................... 74 8711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 50 — Definition of (TPM_HANDLE) TPMI_RH_OWNER Type <IN> ............................................... 74 8721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 51 — Definition of (TPM_HANDLE) TPMI_RH_ENDORSEMENT Type <IN> ................................. 75 8731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 52 — Definition of (TPM_HANDLE) TPMI_RH_PROVISION Type <IN> ......................................... 75 8741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 53 — Definition of (TPM_HANDLE) TPMI_RH_CLEAR Type <IN> ................................................. 75 8751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 54 — Definition of (TPM_HANDLE) TPMI_RH_NV_AUTH Type <IN> ............................................ 76 8761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 55 — Definition of (TPM_HANDLE) TPMI_RH_LOCKOUT Type <IN> ........................................... 76 8771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 56 — Definition of (TPM_HANDLE) TPMI_RH_NV_INDEX Type <IN/OUT> .................................. 76 8781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 57 — Definition of (TPM_ALG_ID) TPMI_ALG_HASH Type............................................................ 77 8791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 58 — Definition of (TPM_ALG_ID) TPMI_ALG_ASYM Type ........................................................... 77 8801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 59 — Definition of (TPM_ALG_ID) TPMI_ALG_SYM Type .............................................................. 78 8811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 60 — Definition of (TPM_ALG_ID) TPMI_ALG_SYM_OBJECT Type ............................................. 78 8821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 61 — Definition of (TPM_ALG_ID) TPMI_ALG_SYM_MODE Type ................................................. 79 8831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 62 — Definition of (TPM_ALG_ID) TPMI_ALG_KDF Type .............................................................. 79 8841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 63 — Definition of (TPM_ALG_ID) TPMI_ALG_SIG_SCHEME Type .............................................. 80 8851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 64 — Definition of (TPM_ALG_ID) TPMI_ECC_KEY_EXCHANGE Type ........................................ 80 8861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 65 — Definition of (TPM_ST) TPMI_ST_COMMAND_TAG Type .................................................... 80 8871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 66 — Definition of TPMS_ALGORITHM_DESCRIPTION Structure <OUT> .................................... 81 8881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 67 — Definition of TPMU_HA Union <IN/OUT, S> ........................................................................... 81 8891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 68 — Definition of TPMT_HA Structure <IN/OUT> .......................................................................... 82 8901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 69 — Definition of TPM2B_DIGEST Structure ................................................................................. 83 8911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 70 — Definition of TPM2B_DATA Structure ..................................................................................... 83 8921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 71 — Definition of Types for TPM2B_NONCE ................................................................................. 83 8931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 72 — Definition of Types for TPM2B_AUTH .................................................................................... 83 8941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 73 — Definition of Types for TPM2B_OPERAND ............................................................................ 84 8951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 74 — Definition of TPM2B_EVENT Structure ................................................................................... 84 8961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 75 — Definition of TPM2B_MAX_BUFFER Structure ...................................................................... 84 8971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 8981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 8991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 9001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 9021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 9031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage xi 9051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 9061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 9081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 9101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 76 — Definition of TPM2B_MAX_NV_BUFFER Structure ............................................................... 84 9121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 77 — Definition of TPM2B_TIMEOUT Structure <IN/OUT> ............................................................. 85 9131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 78 — Definition of TPM2B_IV Structure <IN/OUT> .......................................................................... 85 9141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 79 — Definition of TPMU_NAME Union <> ...................................................................................... 85 9151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 80 — Definition of TPM2B_NAME Structure .................................................................................... 86 9161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 81 — Definition of TPMS_PCR_SELECT Structure ......................................................................... 87 9171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 82 — Definition of TPMS_PCR_SELECTION Structure ................................................................... 87 9181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 83 — Values for proof Used in Tickets ............................................................................................. 88 9191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 84 — General Format of a Ticket ...................................................................................................... 88 9201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 85 — Definition of TPMT_TK_CREATION Structure ........................................................................ 89 9211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 86 — Definition of TPMT_TK_VERIFIED Structure .......................................................................... 90 9221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 87 — Definition of TPMT_TK_AUTH Structure ................................................................................ 91 9231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 88 — Definition of TPMT_TK_HASHCHECK Structure .................................................................... 92 9241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 89 — Definition of TPMS_ALG_PROPERTY Structure <OUT> ....................................................... 92 9251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 90 — Definition of TPMS_TAGGED_PROPERTY Structure <OUT> ............................................... 92 9261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 91 — Definition of TPMS_TAGGED_PCR_SELECT Structure <OUT> ........................................... 93 9271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 92 — Definition of TPML_CC Structure ............................................................................................ 93 9281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 93 — Definition of TPML_CCA Structure <OUT> ............................................................................. 94 9291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 94 — Definition of TPML_ALG Structure .......................................................................................... 94 9301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 95 — Definition of TPML_HANDLE Structure <OUT>...................................................................... 94 9311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 96 — Definition of TPML_DIGEST Structure .................................................................................... 95 9321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 97 — Definition of TPML_DIGEST_VALUES Structure ................................................................... 95 9331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 98 — Definition of TPM2B_DIGEST_VALUES Structure ................................................................. 95 9341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 99 — Definition of TPML_PCR_SELECTION Structure ................................................................... 96 9351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 100 — Definition of TPML_ALG_PROPERTY Structure <OUT> ..................................................... 96 9361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 101 — Definition of TPML_TAGGED_TPM_PROPERTY Structure <OUT> ................................... 96 9371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 102 — Definition of TPML_TAGGED_PCR_PROPERTY Structure <OUT> ................................... 97 9381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 103 — Definition of {ECC} TPML_ECC_CURVE Structure <OUT> ................................................. 97 9391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 104 — Definition of TPMU_CAPABILITIES Union <OUT>............................................................... 97 9401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 105 — Definition of TPMS_CAPABILITY_DATA Structure <OUT> ................................................. 98 9411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 106 — Definition of TPMS_CLOCK_INFO Structure ........................................................................ 98 9421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 107 — Definition of TPMS_TIME_INFO Structure ........................................................................... 99 9431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 108 — Definition of TPMS_TIME_ATTEST_INFO Structure <OUT> ............................................. 100 9441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 109 — Definition of TPMS_CERTIFY_INFO Structure <OUT> ...................................................... 100 9451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 110 — Definition of TPMS_QUOTE_INFO Structure <OUT> ........................................................ 100 9461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 111 — Definition of TPMS_COMMAND_AUDIT_INFO Structure <OUT> ..................................... 101 9471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 112 — Definition of TPMS_SESSION_AUDIT_INFO Structure <OUT> ........................................ 101 9481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 113 — Definition of TPMS_CREATION_INFO Structure <OUT> .................................................. 101 9491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 114 — Definition of TPMS_NV_CERTIFY_INFO Structure <OUT> ............................................... 101 9501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage xii 9511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 9521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 9541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 9551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 9571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 9581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 9601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 9621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 9631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 115 — Definition of (TPM_ST) TPMI_ST_ATTEST Type <OUT> .................................................. 102 9641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 116 — Definition of TPMU_ATTEST Union <OUT> ....................................................................... 102 9651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 117 — Definition of TPMS_ATTEST Structure <OUT> .................................................................. 103 9661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 118 — Definition of TPM2B_ATTEST Structure <OUT> ................................................................ 103 9671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 119 — Definition of TPMS_AUTH_COMMAND Structure <IN> ..................................................... 104 9681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 120 — Definition of TPMS_AUTH_RESPONSE Structure <OUT> ................................................ 104 9691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 121 — Definition of {AES} (TPM_KEY_BITS) TPMI_AES_KEY_BITS Type ................................. 105 9701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 122 — Definition of {SM4} (TPM_KEY_BITS) TPMI_SM4_KEY_BITS Type ................................. 105 9711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 123 — Definition of TPMU_SYM_KEY_BITS Union ....................................................................... 106 9721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 124 — Definition of TPMU_SYM_MODE Union ............................................................................. 106 9731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 125 — xDefinition of TPMU_SYM_DETAILS Union ....................................................................... 107 9741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 126 — Definition of TPMT_SYM_DEF Structure ............................................................................ 107 9751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 127 — Definition of TPMT_SYM_DEF_OBJECT Structure ............................................................ 107 9761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 128 — Definition of TPM2B_SYM_KEY Structure .......................................................................... 108 9771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 129 — Definition of TPMS_SYMCIPHER_PARMS Structure ........................................................ 108 9781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 130 — Definition of TPM2B_SENSITIVE_DATA Structure ............................................................ 108 9791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 131 — Definition of TPMS_SENSITIVE_CREATE Structure <IN> ................................................ 109 9801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 132 — Definition of TPM2B_SENSITIVE_CREATE Structure <IN, S> .......................................... 110 9811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 133 — Definition of TPMS_SCHEME_SIGHASH Structure ........................................................... 110 9821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 134 — Definition of (TPM_ALG_ID) TPMI_ALG_KEYEDHASH_SCHEME Type .......................... 110 9831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 135 — Definition of Types for HMAC_SIG_SCHEME .................................................................... 110 9841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 136 — Definition of TPMS_SCHEME_XOR Structure ................................................................... 111 9851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 137 — Definition of TPMU_SCHEME_KEYEDHASH Union <IN/OUT, S> .................................... 111 9861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 138 — Definition of TPMT_KEYEDHASH_SCHEME Structure ..................................................... 111 9871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 139 — Definition of {RSA} Types for RSA_SIG_SCHEMES .......................................................... 112 9881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 140 — Definition of {ECC} Types for ECC_SIG_SCHEMES.......................................................... 112 9891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 141 — Definition of {ECC} TPMS_SCHEME_ECDAA Structure .................................................... 112 9901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 142 — Definition of TPMU_SIG_SCHEME Union <IN/OUT, S> .................................................... 113 9911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 143 — Definition of TPMT_SIG_SCHEME Structure ..................................................................... 113 9921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 144 — Definition of {RSA} TPMS_SCHEME_OAEP Structure ...................................................... 114 9931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 145 — Definition of {ECC} TPMS_SCHEME_ECDH Structure ...................................................... 114 9941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 146 — Definition of TPMS_SCHEME_MGF1 Structure ................................................................. 114 9951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 147 — Definition of {ECC} TPMS_SCHEME_KDF1_SP800_56a Structure .................................. 114 9961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 148 — Definition of TPMS_SCHEME_KDF2 Structure .................................................................. 115 9971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 149 — Definition of TPMS_SCHEME_KDF1_SP800_108 Structure ............................................. 115 9981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 150 — Definition of TPMU_KDF_SCHEME Union <IN/OUT, S> ................................................... 115 9991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 151 — Definition of TPMT_KDF_SCHEME Structure .................................................................... 115 10001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 152 — Definition of (TPM_ALG_ID) TPMI_ALG_ASYM_SCHEME Type <> ................................. 116 10011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 10031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 10041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 10061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 10071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage xiii 10091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 10101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 10121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 10141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 153 — Definition of TPMU_ASYM_SCHEME Union ...................................................................... 116 10161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 154 — Definition of TPMT_ASYM_SCHEME Structure <> ............................................................ 117 10171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 155 — Definition of (TPM_ALG_ID) {RSA} TPMI_ALG_RSA_SCHEME Type .............................. 117 10181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 156 — Definition of {RSA} TPMT_RSA_SCHEME Structure ......................................................... 117 10191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 157 — Definition of (TPM_ALG_ID) {RSA} TPMI_ALG_RSA_DECRYPT Type ............................ 118 10201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 158 — Definition of {RSA} TPMT_RSA_DECRYPT Structure ....................................................... 118 10211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 159 — Definition of {RSA} TPM2B_PUBLIC_KEY_RSA Structure ................................................ 118 10221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 160 — Definition of {RSA} (TPM_KEY_BITS) TPMI_RSA_KEY_BITS Type ................................. 119 10231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 161 — Definition of {RSA} TPM2B_PRIVATE_KEY_RSA Structure .............................................. 119 10241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 162 — Definition of {ECC} TPM2B_ECC_PARAMETER Structure ............................................... 120 10251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 163 — Definition of {ECC} TPMS_ECC_POINT Structure ............................................................. 120 10261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 164 — Definition of {ECC} TPM2B_ECC_POINT Structure ........................................................... 120 10271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 165 — Definition of (TPM_ALG_ID) {ECC} TPMI_ALG_ECC_SCHEME Type ............................. 121 10281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 166 — Definition of {ECC} (TPM_ECC_CURVE) TPMI_ECC_CURVE Type ................................ 121 10291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 167 — Definition of (TPMT_SIG_SCHEME) {ECC} TPMT_ECC_SCHEME Structure .................. 121 10301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 168 — Definition of {ECC} TPMS_ALGORITHM_DETAIL_ECC Structure <OUT> ....................... 122 10311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 169 — Definition of {RSA} TPMS_SIGNATURE_RSASSA Structure ............................................ 122 10321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 170 — Definition of {RSA} TPMS_SIGNATURE_RSAPSS Structure ............................................ 123 10331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 171 — Definition of {ECC} TPMS_SIGNATURE_ECDSA Structure .............................................. 123 10341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 172 — Definition of TPMU_SIGNATURE Union <IN/OUT, S> ....................................................... 123 10351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 173 — Definition of TPMT_SIGNATURE Structure ........................................................................ 124 10361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 174 — Definition of TPMU_ENCRYPTED_SECRET Union <S> ................................................... 124 10371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 175 — Definition of TPM2B_ENCRYPTED_SECRET Structure .................................................... 125 10381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 176 — Definition of (TPM_ALG_ID) TPMI_ALG_PUBLIC Type .................................................... 126 10391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 177 — Definition of TPMU_PUBLIC_ID Union <IN/OUT, S> ......................................................... 127 10401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 178 — Definition of TPMS_KEYEDHASH_PARMS Structure........................................................ 127 10411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 179 — Definition of TPMS_ASYM_PARMS Structure <> .............................................................. 128 10421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 180 — Definition of {RSA} TPMS_RSA_PARMS Structure ............................................................ 128 10431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 181 — Definition of {ECC} TPMS_ECC_PARMS Structure ........................................................... 129 10441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 182 — Definition of TPMU_PUBLIC_PARMS Union <IN/OUT, S> ................................................ 129 10451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 183 — Definition of TPMT_PUBLIC_PARMS Structure ................................................................. 130 10461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 184 — Definition of TPMT_PUBLIC Structure ................................................................................ 130 10471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 185 — Definition of TPM2B_PUBLIC Structure .............................................................................. 131 10481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 186 — Definition of {RSA} TPM2B_PRIVATE_VENDOR_SPECIFIC Structure<> ........................ 131 10491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 187 — Definition of TPMU_SENSITIVE_COMPOSITE Union <IN/OUT, S> ................................. 132 10501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 188 — Definition of TPMT_SENSITIVE Structure .......................................................................... 132 10511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 189 — Definition of TPM2B_SENSITIVE Structure <IN/OUT> ...................................................... 132 10521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 190 — Definition of _PRIVATE Structure <> .................................................................................. 133 10531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 191 — Definition of TPM2B_PRIVATE Structure <IN/OUT, S> ..................................................... 133 10541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage xiv 10551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 10561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 10581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 10591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 10611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 10621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 10641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 10661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 192 — Definition of _ID_OBJECT Structure <> .............................................................................. 134 10681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 193 — Definition of TPM2B_ID_OBJECT Structure <IN/OUT> ..................................................... 134 10691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 194 — Definition of (UINT32) TPM_NV_INDEX Bits <> ................................................................. 135 10701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 195 — Options for space Field of TPM_NV_INDEX ....................................................................... 136 10711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 196 — Definition of (UINT32) TPMA_NV Bits ................................................................................ 137 10721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 197 — Definition of TPMS_NV_PUBLIC Structure ......................................................................... 139 10731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 198 — Definition of TPM2B_NV_PUBLIC Structure ....................................................................... 139 10741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 199 — Definition of TPM2B_CONTEXT_SENSITIVE Structure <IN/OUT> ................................... 140 10751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 200 — Definition of TPMS_CONTEXT_DATA Structure <IN/OUT, S> .......................................... 140 10761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 201 — Definition of TPM2B_CONTEXT_DATA Structure <IN/OUT> ............................................ 140 10771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 202 — Definition of TPMS_CONTEXT Structure ........................................................................... 141 10781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 203 — Context Handle Values ........................................................................................................ 142 10791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 204 — Definition of TPMS_CREATION_DATA Structure <OUT> ................................................. 144 10801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 205 — Definition of TPM2B_CREATION_DATA Structure <OUT> ............................................... 144 10811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 206 — Defines for SHA1 Hash Values ........................................................................................... 145 10821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 207 — Defines for SHA256 Hash Values ....................................................................................... 145 10831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 208 — Defines for SHA384 Hash Values ....................................................................................... 145 10841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 209 — Defines for SHA512 Hash Values ....................................................................................... 146 10851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 210 — Defines for SM3_256 Hash Values ..................................................................................... 146 10861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 211 — Defines for Architectural Limits Values ............................................................................... 146 10871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 212 — Defines for Logic Values ..................................................................................................... 147 10881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 213 — Defines for Processor Values .............................................................................................. 147 10891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 214 — Defines for Implemented Algorithms ................................................................................... 148 10901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 215 — Defines for Implemented Commands .................................................................................. 149 10911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 216 — Defines for RSA Algorithm Constants ................................................................................. 152 10921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 217 — Defines for ECC Algorithm Constants ................................................................................. 152 10931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 218 — Defines for AES Algorithm Constants ................................................................................. 152 10941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 219 — Defines for SM4 Algorithm Constants ................................................................................. 152 10951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 220 — Defines for Symmetric Algorithm Constants ....................................................................... 153 10961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 221 — Defines for Implementation Values ..................................................................................... 154 10971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 10981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 10991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 11001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 11021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 11031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage xv 11051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 11061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 11081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 11101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigures 11121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 1 — Command Format .................................................................................................................... 22 11131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 2 — Format-Zero Response Codes ................................................................................................. 29 11141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 3 — Format-One Response Codes ................................................................................................. 30 11151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 4 — TPM 1.2 TPM_NV_INDEX ..................................................................................................... 135 11161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 5 — TPM 2.0 TPM_NV_INDEX ..................................................................................................... 135 11171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage xvi 11191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 11201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 11221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 11231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 11251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 11261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 11281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 11301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 11321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 11331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 11341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnScope 11361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis part of the Trusted Platform Module Library specification contains the definitions of the constants, 11381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnflags, structure, and union definitions used to communicate with the TPM. Values defined in this 11391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndocument are used by the TPM commands defined in part 3: Commands and by the functions in part 4: 11401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSupporting Routines. 11411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 11421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 11441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe structures in this document are the canonical form of the structures on the interface. All structures 11461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnare "packed" with no octets of padding between structure elements. The TPM-internal form of the 11471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructures is dependent on the processor and compiler for the TPM implementation. 11481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTerms and definitions 11501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor the purposes of this document, the terms and definitions given in part 1 of this specification apply. 11521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 11531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSymbols and abbreviated terms 11551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor the purposes of this document, the symbols and abbreviated terms given in part 1 apply. 11571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 11581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.1 11591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNotation 11611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 11621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe information in this document is formatted so that it may be converted to standard computer-language 11641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnformats by an automated process. The purpose of this automated process is to minimize the transcription 11651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerrors that often occur during the conversion process. 11661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor the purposes of this document, the conventions given in Part 1 apply. 11671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn addition, the conventions and notations in this clause describe the representation of various data so 11681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat it is both human readable and amenable to automated processing. 11691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a table row contains the keyword “reserved” (all lower case) in columns 1 or 2, the tools will not 11701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproduce any values for the row in the table. 11711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 11721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn the examples in this clause 4, the unmarshaling routines are shown as returning bool. In the code of 11741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe reference implementation, the return value is a TPM_RC. A bool is used in the examples, because 11751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe meaning of a TPM_RC is not yet defined. 11761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 11781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe unmarshaling code examples are the actual code that would be produced by the automatic code 11801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerator used in the construction of the reference code. The actual code contains additional parameter 11811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchecking that is omitted for clarity of the principle being illustrated. Actual examples of the code are found 11821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin Part 4. 11831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 11851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 11861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 11881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 11891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 1 11911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 11921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 11941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.2 11951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 11971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 11981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNamed Constants 11991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA named constant is a numeric value to which a name has been assigned. In the C language, this is done 12011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith a #define statement. In this specification, a named constant is defined in a table that has a title that 12021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstarts with “Definition” and ends with “Constants.” 12031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table title will indicate the name of the class of constants that are being defined in the table. The title 12041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwill include the data type of the constants in parentheses. 12051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 names a collection of 16-bit constants and Example 2 shows the C code that 12061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmight be produced from that table by an automated process. 12071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 12081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA named constant (#define) has no data type in C and an enumeration would be a better choice for 12101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmany of the defined constants. However, the C language does not allow an enumerated type to have a 12111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstorage type other than int so the method of using a combination of typedef and #define is used. 12121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 12141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (UINT16) COUNTING Constants 12161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 12171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 12191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 12211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst 12231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 12251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecimal value is implicitly the size of the 12271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsecond 12291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0002 12311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhex value will match the number of bits in the constant 12331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthird 12351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 12371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfourth 12391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0004 12411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 12431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn/* The C language equivalent of the constants from the table above */ 12441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef 12451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 12461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCOUNTING; 12471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#define 12481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst 12491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 12501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#define 12511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsecond 12521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0002 12531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#define 12541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthird 12551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 12561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#define 12571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfourth 12581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0004 12591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 2 12611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 12621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 12641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 12651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 12671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 12681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 12701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.3 12711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 12731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnData Type Aliases (typedefs) 12751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a group of named items is assigned a type, it is placed in a table that has a title starting with 12771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“Definition of Types.” In this specification, defined types have names that use all upper-case characters. 12781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 shows how typedefs would be defined in this specification and Example 2 shows 12791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe C-compatible code that might be produced from that table by an automated process. 12801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 12811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of Types for Some Purpose 12831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 12841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 12861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 12881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsigned short 12901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 12921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 12941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSOME_TYPE 12961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsigned long 12981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 12991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 13001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 13021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLAST_TYPE 13041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 13061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn/* C language equivalent of the typedefs from the table above */ 13071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef unsigned short 13081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16; 13091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef UINT16 13101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSOME_TYPE; 13111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef unsigned long 13121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32; 13131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef UINT32 13141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLAST_TYPE; 13151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.4 13171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEnumerations 13191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA table that defines an enumerated data type will start with the word “Definition” and end with “Values.” 13211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value in parenthesis will denote the intrinsic data size of the value and may have the values "INT8", 13221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn"UINT8", "INT16", “UINT16”, "INT32", and “UINT32.” If this value is not present, “UINT16” is assumed. 13231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMost C compilers set the type of an enumerated value to be an integer on the machine – often 16 bits – 13241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbut this is not always consistent. To ensure interoperability, the enumeration values may not exceed 13251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn32,384. 13261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 shows how an enumeration would be defined in this specification. Example 2 13271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshows the C code that might be produced from that table by an automated process. 13281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 13291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (UINT16) CARD_SUIT Values 13311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSuit Names 13321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 13341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLUBS 13361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000 13381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDIAMONDS 13401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000D 13421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHEARTS 13441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x001A 13461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSPADES 13481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 13501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0027 13521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 13541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn/* C language equivalent of the structure defined in the table above */ 13551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef enum { 13561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLUBS 13571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn= 13581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000, 13591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDIAMONDS 13601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn= 13611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000D, 13621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHEARTS 13631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn= 13641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x001A, 13651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSPADES 13661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn= 13671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0027 13681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} CARD_SUIT; 13691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 13711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 13721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 13741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 13751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 3 13771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 13781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 13801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.5 13811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 13831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnInterface Type 13851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn interface type is used for an enumeration that is checked by the unmarshaling code. This type is 13871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined for purposes of automatic generation of the code that will validate the type. The title will start with 13881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe keyword “Definition” and end with the keyword “Type.” A value in parenthesis indicates the base type 13891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof the interface. The table may contain an entry that is prefixed with the “#” character to indicate the 13901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code if the validation code determines that the input parameter is the wrong type. 13911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 13921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (CARD_SUIT) RED_SUIT Type 13941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 13951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 13971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 13981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHEARTS 13991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDIAMONDS 14001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SUIT 14011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 14031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 14041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SUIT is an example and no such response 14061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode is actually defined in this specification. 14071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 14091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn/* Validation code that might be automatically generated from table above */ 14101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif((*target != HEARTS) && (*target != DIAMONDS)) 14111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn TPM_RC_SUIT; 14121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn some cases, the allowed values are numeric values with no associated mnemonic. In such a case, the 14141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist of numeric values may be given a name. Then, when used in an interface definition, the name would 14151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhave a "$" prefix to indicate that a named list of values should be substituted. 14161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTo illustrate, assume that the implementation only supports two sizes (1024 and 2048 bits) for keys 14171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociated with some algorithm (MY algorithm). In the implementation section (Annex B a named list 14181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould be created. 14191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 14201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Defines for MY Algorithm Constants 14221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 14231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 14251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 14271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMY_KEY_SIZES_BITS 14291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{1024, 2048} 14311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbraces because this is a list value 14331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 4 14351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 14361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 14381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 14391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 14411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 14421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 14441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 14461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThen, whenever an input value would need to be a valid MY key size for the implementation, the value 14481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn$MY_KEY_SIZES_BITS could be used. Given the definition for MY_KEY_SIZES_BITS in example 3 14491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnabove, the tables in example 4 and 5 below, are equivalent. 14501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 4 14511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (UINT16) MY_KEY_BITS Type 14531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 14541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 14561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{1024, 2048} 14581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of bits in the supported key 14601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 5 14621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (UINT16) MY_KEY_BITS Type 14641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 14651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn$MY_KEY_SIZES_BITS 14661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.6 14681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 14701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of bits in the supported key 14711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnArrays 14731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnArrays are denoted by a value in square brackets (“[ ]”) following a parameter name. The value in the 14751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbrackets may be either an integer value such as “[20]” or the name of a component of the same structure 14761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat contains the array. 14771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 shows how a structure containing fixed and variable-length arrays would be 14781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined in this specification. Example 2 shows the C code that might be produced from that table by an 14791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnautomated process. 14801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 14811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of A_STRUCT Structure 14831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 14841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 14861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 14881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray1[20] 14901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 14921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan array of 20 UINT16s 14941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna_size 14961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 14981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 14991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray2[a_size] 15001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 15021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan array of UINT32 values that has a 15041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of elements determined by a_size 15051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnabove 15061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 15081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn/* C language equivalent of the typedefs from the table above */ 15091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef struct { 15101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 15111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray1[20]; 15121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 15131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna_size; 15141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 15151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray2[]; 15161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} A_STRUCT; 15171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 15191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 15201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 15221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 15231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 5 15251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 15261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 15281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.7 15301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 15321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure Definitions 15341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe tables used to define structures have a title that starts with the word “Definition” and ends with 15361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“Structure.” The first column of the table will denote the reference names for the structure members; the 15371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsecond column the data type of the member; and the third column a synopsis of the use of the element. 15381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 shows an example of how a structure would be defined in this specification and 15391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExample 2 shows the C code that might be produced from the table by an automated process. Example 3 15401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnillustrates the type of unmarshaling code that could be generated using the information available in the 15411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntable. 15421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 15431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of SIMPLE_STRUCTURE Structure 15451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 15461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 15481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 15501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag 15521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST 15541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue1 15561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT32 15581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue2 15601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT32 15621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 15641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn/* C language equivalent of the structure defined in the table above */ 15651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef struct { 15661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST 15671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag; 15681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT32 15691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue1 15701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT32 15711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue2; 15721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} SIMPLE_STRUCTURE; 15731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 15741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbool SIMPLE_STRUCTURE_Unmarshal(SIMPLE_STRUCTURE *target, BYTE **buffer, INT32 *size) 15751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{ 15761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// If unmarshal of tag succeeds 15771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif(TPM_ST_Unmarshal((TPM_ST *)&(target->tag), buffer, size)) 15781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// then umarshal value1, and if that succeeds... 15791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif(INT32_Unmarshal((INT32 *)&(target->value1, buffer, size)) 15801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// then return the results of unmarshaling values 15811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn(INT32_Unmarshal((INT32 *)&(target->value2, buffer, size)) 15821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// if unmarshal of tag or value failed, return failure 15831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn FALSE; 15841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} 15851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 6 15871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 15881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 15901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 15911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 15931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 15941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 15961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.8 15971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 15981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 15991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnConditional Types 16011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn enumeration may contain an extended value indicated by “+” preceding the name in the "Value" 16031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncolumn. This “+” indicates that this is a conditional value that may be allowed in certain situations. 16041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 16051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn many cases, the input values are algorithm IDs. When two collections of algorithm IDs differ only 16071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbecause one collection allows TPM_ALG_NULL and the other does not, it is preferred that the re not be 16081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntwo completely different enumerations because this leads to many casts. To avoid this, the “+” can be 16091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadded to a TPM_ALG_NULL value in the table defining the type. When the use of that type allows 16101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL to be in the set, the use would append a “+” to the instance. 16111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 16131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (CARD_SUIT) TPMI_CARD_SUIT Type 16151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 16161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 16181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSPADES 16201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHEARTS 16211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDIAMONDS 16221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLUBS 16231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+JOKER 16241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan optional value that may be allowed 16261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SUIT 16281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the input value is not one of the 16301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues above 16311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen an interface type is used, a “+” will be appended to the type specification for the parameter when 16331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe conditional value is allowed. If no “+” is present, then the conditional value is not allowed. 16341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 16351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of POKER_CARD Structure 16371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 16381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 16401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 16421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsuit 16441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_CARD_SUIT+ 16461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallows joker 16481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber 16501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT8 16521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe card value 16541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 16561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of BRIDGE_CARD Structure 16581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 16591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 16611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 16631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsuit 16651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_CARD_SUIT 16671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndoes not allow joker 16691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber 16711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT8 16731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe card value 16751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 16771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 16781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 16801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 16811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 7 16831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 16841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 16861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9 16871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 16891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnions 16911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.1 16931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 16951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 16961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA union allows a structure to contain a variety of structures or types. The union has members, only one of 16971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhich is present at a time. Three different tables are required to fully characterize a union so that it may 16981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe communicated on the TPM interface and used by the TPM: 16991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1) union definition; 17001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2) union instance; and 17011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3) union selector definition. 17021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.2 17031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnion Definition 17051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 illustrates a union definition. The title of a union definition table starts with 17071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“Definition” and ends with “Union.” The “Parameter” column of a union definition lists the different names 17081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat are used when referring a specific type. The “Type” column identifies the data type of the member. 17091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “Selector” column identifies the value that is used by the marshaling and unmarshaling code to 17101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndetermine which case of the union is present. 17111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf a parameter is the keyword “null,” then this denotes a selector with no contents. The table in Example 1 17121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnillustrates a union in which a conditional null selector is allowed to indicate an empty union member. 17131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExample 2 shows how the table would be converted into C-compatible code. 17141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe expectation is that the unmarshaling code for the union will validate that the selector for the union is 17151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnone of values in the selector list. 17161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 17171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of NUMBER_UNION Union 17191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 17201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 17221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 17241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna_byte 17261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 17281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE_SELECT 17301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan_int 17321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint 17341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT_SELECT 17361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna_float 17381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfloat 17401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFLOAT_SELECT 17421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+null 17441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNULL_SELECT 17461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 17481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe empty branch 17501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 17521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// C-compatible version of the union defined in the table above 17531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef union { 17541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 17551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna_byte; 17561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint 17571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan_int; 17581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfloat 17591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna_float; 17601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} NUMBER_UNION; 17611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 17621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 8 17641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 17651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 17671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 17681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 17701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 17711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 17731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 17751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// Possible auto-generated code to unmarshal a union in Example 2 based on the 17771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// input value of selector 17781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbool NUMBER_UNION_Unmarshal(NUMBER_UNION *target, BYTE **buffer, 17791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT32 *size, UINT32 selector) 17801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{ 17811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnswitch (selector) { 17821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncase BYTE_SELECT: 17831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn BYTE_Unmarshal((BYTE *)&(target->a_byte), buffer, size); 17841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncase INT_SELECT: 17851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn INT_Unmarshal((int *)&(target->an_int), buffer, size); 17861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncase FLOAT_SELECT: 17871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn FLOAT_Unmarshal((float *)&(target->a_float), buffer, size); 17881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncase NULL_SELECT: 17891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn; 17901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} 17911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA table may have a type with no selector. This is used when the first part of the structure for all union 17931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmembers is identical. This type is a programming convenience, allowing code to reference the common 17941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmembers without requiring a case statement to determine the specific structure. In object oriented 17951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprogramming terms, this type is a superclass and the types with selectors are subclasses. 17961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.3 17971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnion Instance 17991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a union is used in a structure that is sent on the interface, the structure will minimally contain a 18011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselector and a union. The selector value indicates which of the possible union members is present so that 18021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe unmarshaling code can unmarshal the correct type. The selector may be any of the parameters that 18031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoccur in the structure before the union instance. To denote the structure parameter that is used as the 18041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselector, its name is in brackets (“[ ]”) placed before the parameter name associated with the union. 18051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 shows the definition of a structure that contains a union and a selector. Example 2 18061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshows how the table would be converted into C-compatible code and Example 3 shows how the 18071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaling code would handle the selector. 18081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 18091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of STRUCTURE_WITH_UNION Structure 18111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 18121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 18141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 18161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselect 18181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUMBER_SELECT 18201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value indicating the type in number 18221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[select] number 18241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUMBER_UNION 18261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna union as shown in 4.9.2 18281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 18301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// C-compatible version of the union structure in the table above 18311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef struct { 18321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUMBER_SELECT 18331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselect; 18341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUMBER_UNION 18351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber; 18361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} STRUCT_WITH_UNION; 18371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 18381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 18401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 18411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 18431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 18441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 9 18461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 18471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 18491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 18511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// Possible unmarshaling code for the structure above 18531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbool STRUCT_WITH_UNION_Unmarshal(STRUCT_WITH_UNION *target, BYTE **buffer, INT32 *size) 18541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{ 18551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// Unmarshal the selector value 18561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif(!NUMBER_SELECT_Unmarshal((NUMBER_SELECT *)&target->select, buffer, size)) 18571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn FALSE; 18581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// Use the unmarshaled selector value to indicate to the union unmarshal 18591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn// function which unmarshaling branch to follow. 18601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturn(NUMBER_UNION_Unmarshal((NUMBER_UNION *)&(target->number), 18611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer, size, (UINT32)target->select); 18621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} 18631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.9.4 18651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnion Selector Definition 18671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe selector definition limits the values that are used in unmarshaling a union. Two different selector sets 18691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnapplied to the same union define different types. 18701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor the union in 4.9.2, a selector definition should be limited to no more than four values, one for each of 18711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe union members. The selector definition could have fewer than four values. 18721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn Example 1, the table defines a value for each of the union members. 18731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 18741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (INT8) NUMBER_SELECT Values <IN> 18761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 18771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 18791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE_SELECT 18811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 18831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT_SELECT 18851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 18871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFLOAT_SELECT 18891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 18911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNULL_SELECT 18931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 18951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 18971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 18981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe unmarshaling code would limit the input values to the defined values. When the NUMBER_SELECT 18991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis used in the union instance of 4.9.3, any of the allowed union members of NUMBER_UNION could be 19001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpresent. 19011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA different selection could be used to limit the values in a specific instance. To get the different selection, 19021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna new structure is defined with a different selector. The table in example 2 illustrates a way to subset the 19031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunion. The base type of the selection is NUMBER_SELECT so a NUMBER_SELECT will be unmarshaled 19041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbefore the checks are made to see if the value is in the correct range for JUST_INTEGERS types. If the 19051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbase type had been UINT8, then no checking would occur prior to checking that the value is in the 19061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed list. In this particular case, the effect is the same in either case since the only values that will be 19071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaccepted by the unmarshaling code for JUST_INTEGER are BYTE_SELECT and INT_SELECT. 19081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 19091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (NUMBER_SELECT) AN_INTEGER Type <IN> 19111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 19121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{BYTE_SELECT, INT_SELECT} 19131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 19141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 19161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist of allowed values 19171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSince NULL_SELECT is not in the list of values accepted as a JUST_INTEGER, the “+” modifier will have 19191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno effect if used for a JUST_INTEGERS type shown in Example 3. 19201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 10 19221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 19231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 19251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 19261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 19281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 19291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 19311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 19331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe selector in Example 2 can then be used in a subset union as shown in Example 3. 19351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 19361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of JUST_INTEGERS Structure 19381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 19391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 19411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 19431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselect 19451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAN_INTEGER 19471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value indicating the type in number 19491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[select] number 19511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUMBER_UNION 19531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna union as shown in 4.9.2 19551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.10 Bit Field Definitions 19571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA table that defines a structure containing bit fields has a title that starts with “Definition” and ends with 19581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“Bits.” A type identifier in parentheses in the title indicates the size of the datum that contains the bit 19591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfields. 19601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the bit fields do not occupy consecutive locations, a spacer field is defined with a name of 19611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“Reserved.” Bits in these spaces are reserved and shall be zero. 19621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table in Example 1 shows how a structure containing bit fields would be defined in this specification. 19631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExample 2 shows the C code that might be produced from that table by an automated process. 19641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a field has more than one bit, the range is indicated by a pair of numbers separated by a colon (“:”). 19651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe numbers will be in high:low order. 19661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE1 19671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of (UINT32) SOME_ATTRIBUTE Bits 19691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 19701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 19711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 19731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAction 19751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnzeroth_bit 19771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): what to do if bit is 1 19791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): what to do if bit is 0 19801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 19821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst_bit 19841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): what to do if bit is 1 19861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): what to do if bit is 0 19871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6:2 19891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 19901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 19921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA placeholder that spans 5 bits 19941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthird_bit 19961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 19971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): what to do if bit is 1 19981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): what to do if bit is 0 19991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:8 20011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 20031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPlaceholder to fill 32 bits 20051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 20071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn/* C language equivalent of the attributes structure defined in the table above */ 20081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntypedef struct { 20091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint zeroth_bit : 1; 20101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint first_bit : 1; 20111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint Reserved3 : 5; 20121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint third_bit : 1; 20131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint Reserved7 : 24; 20141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn} SOME_ATTRIBUTE; 20151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.11 Parameter Limits 20171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA parameter used in a structure may be given a set of values that can be checked by the unmarshaling 20181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode. The allowed values for a parameter may be included in the definition of the parameter by 20191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnappending the values and delimiting them with braces (“{ }”). The values are comma-separated 20201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexpressions. A range of numbers may be indicated by separating two expressions with a colon (“:”). The 20211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 20221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 20231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 20251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 20261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 11 20281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 20291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 20311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 20331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst number is an expression that represents the minimum allowed value and the second number 20351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates the maximum. If the minimum or maximum value expression is omitted, then the range is openended. 20361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter limits expressed using braces apply only to inputs to the TPM. Any value returned by the 20371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM is assumed to be valid. 20381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe maximum size of an array may be indicated by putting a “{}” delimited expression following the 20391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsquare brackets (“[ ]”) that indicate that the value is an array. 20401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 20411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of B_STRUCT Structure 20431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 20441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 20461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 20481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue1 {20:25} 20501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 20521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna parameter that must have a value between 20 20541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 25 20551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue2 {20} 20571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 20591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna parameter that must have a value of 20 20611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue3 {:25} 20631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT16 20651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna parameter that may be no larger than 25 20671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSince the parameter is signed, the minimum value 20681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis the largest negative integer that may be 20691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexpressed in 16 bits. 20701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue4 {20:} 20721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna parameter that must be at least 20 20741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue5 {1,2,3,5} 20761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 20781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna parameter that may only have one of the four 20801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlisted values 20811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue6 {1, 2, 10:(10+10)} 20831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 20851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna parameter that may have a value of 1, 2, or be 20871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbetween 10 and 20 20881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray1[value1] 20901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 20921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 20931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBecause the index refers to value1, which is a 20941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue limited to be between 20 and 25 inclusive, 20951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray1 is an array that may have between 20 and 20961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn25 octets. This is not the preferred way to indicate 20971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe upper limit for an array as it does not indicate 20981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe upper bound of the size. 20991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 21001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray2[value4]{:25} 21021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 21041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is a limitation of the current 21061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparser. A different parser could 21071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociate the range of value1 with this 21081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue and compute the maximum size 21091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof the array. 21101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan array that may have between 20 and 25 octets 21121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis arrangement is used to allow the automatic 21131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode generation to allocate 25 octets to store the 21141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlargest array2 that can be unmarshaled. The code 21151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngeneration can determine from this expression that 21161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue4 shall have a value of 25 or less. From the 21171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefinition of value4 above, it can determine that 21181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue4 must have a value of at least 20. 21191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 12 21211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 21221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 21241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 21251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 21271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 21281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 21301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 21321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.12 Enumeration Macro 21341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn enumeration can be a list of allowed numeric values. For example, the allowed sizes for an RSA key 21351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmight be expressed as: 21361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.13 Size Checking 21381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn some structures, a size field is present to indicate the number of octets in some subsequent part of the 21391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure. In the B_STRUCT table in 4.11, value4 indicates how many octets to unmarshal for array2. This 21401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsemantic applies when the size field determines the number of octets to unmarshal. However, in some 21411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncases, the subsequent structure is self-defining. If the size precedes a parameter that is not an octet 21421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray, then the unmarshaled size of that parameter is determined by its data type. The table in Example 1 21431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshows a structure where the size parameter would nominally indicate the number of octets in the 21441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnremainder of the structure. 21451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 21461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of C_STRUCT Structure 21481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 21491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 21511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 21531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 21551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 21571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe expected size of the remainder of the structure 21591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnanInteger 21611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 21631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 4-octet value 21651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn this particular case, the value of size would be incorrect if it had any value other than 4. So that the 21671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntable parser is able to know that the purpose of the size parameter is to define the number of octets 21681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexpected in the remainder of the structure, an equal sign (“=”) is appended to the parameter name. 21691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn the example below, the size= causes the parser to generate validation code that will check that the 21701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaled size of someStructure and someData adds to the value unmarshaled for size. When the “=” 21711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecoration is present, a value of zero is not allowed for the size. 21721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 21731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of D_STRUCT Structure 21751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 21761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 21781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 21801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize= 21821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 21841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe size of a structure 21861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “=” indicates that the TPM is required to 21871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalidate that the remainder of the D_STRUCT 21881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure is exactly the value in size. That is, the 21891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of bytes in the input buffer used to 21901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsuccessfully unmarshal someStructure must be the 21911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsame as size. 21921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsomeStructure 21941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA_STRUCT 21961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 21971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna structure to be unmarshaled 21981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe size of the structure is computed when it is 21991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaled. Because an “=” is present on the 22001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefinition of size, the TPM is required to validate 22011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat the unmarshaled size exactly matches size. 22021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsomeData 22041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 22061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 22071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 22091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value 22111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 22131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 22141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 13 22161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 22171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 22191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 22211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.14 Data Direction 22231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA structure or union may be input (IN), output (OUT), or internal. An input structure is sent to the TPM and 22241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis unmarshaled by the TPM. An output structure is sent from the TPM and is marshaled by the TPM. An 22251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninternal structure is not used outside of the TPM except that it may be included in a saved context. 22261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBy default, structures are assumed to be both IN and OUT and the code generation tool will generate 22271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnboth marshaling and unmarshaling code for the structure. This default may be changed by using values 22281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnenclosed in angle brackets (“<>”) as part of the table title. If the angle brackets are empty, then the 22291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure is internal and neither marshaling nor unmarshaling code is generated. If the angle brackets 22301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontain the letter “I” (such as in “IN” or “in” or “i”), then the structure is input and unmarshaling code will be 22311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated. If the angle brackets contain the letter “O” (such as in “OUT” or “out” or “o”), then the structure 22321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis output and marshaling code will be generated. 22331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 22341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBoth of the following table titles would indicate a structure that is used in both input and output 22361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of TPMS_A Structure 22371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of TPMS_A Structure <IN/OUT> 22381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 22401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe following table title would indicate a structure that is used only for input 22421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of TPMS_A Structure <IN> 22431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 22451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe following table title would indicate a structure that is used only for output 22471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of TPMS_A Structure <OUT> 22481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.15 Structure Validations 22501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBy default, when a structure is used for input to the TPM, the code generation tool will generate the 22511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaling code for that structure. Auto-generation may be suppressed by adding an “S” within the 22521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnangle brackets. 22531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 22541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe following table titles indicate a structure for which the auto -generation of the validation code is to be 22561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsuppressed. 22571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of TPMT_A Structure <S> 22581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of TPMT_A Structure <IN, S> 22591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable xx — Definition of TPMT_A Structure <IN/OUT, S> 22601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.16 Name Prefix Convention 22621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameters are constants, variables, structures, unions, and structure members. Structure members are 22631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngiven a name that is indicative of its use, with no special prefix. The other parameter types are named 22641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaccording to their type with their name starting with “TPMx_”, where “x” is an optional character to indicate 22651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe data type. 22661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn some cases, additional qualifying characters will follow the underscore. These are generally used when 22671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndealing with an enumerated data type. 22681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_ This is an attribute structure, where bits are associated with particular attributes 22691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 14 22711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 22721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 22741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 22751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 22771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 22781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 22801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 22821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 1 — Name Prefix Convention 22841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPrefix 22851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 22871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn_TPM_ 22891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan indication/signal from the TPM’s system interface 22911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ 22931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna constant or an enumerated type 22951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_ 22971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 22981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna command defined by this specification 22991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ 23011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna structure that is a sized buffer where the size of the buffer is contained in a 16-bit, unsigned 23031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue 23041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe first parameter is the size in octets of the second parameter. The second parameter may be 23051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnany type. 23061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_ 23081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna structure where each of the fields defines an attribute and each field is usually a single bit 23101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAll the attributes in an attribute structure are packed with the overall size of the structure 23111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicated in the heading of the attribute description (UINT8, UINT16, or UINT32). 23121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ 23141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan enumerated type that indicates an algorithm 23161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPM_ALG_ is often used as a selector for a union. 23171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ 23191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan interface type 23211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe value is specified for purposes of dynamic type checking when unmarshaled. 23221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_ 23241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna list length followed by the indicated number of entries of the indicated type 23261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is an array with a length field. 23271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ 23291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna structure that is not a size buffer or a tagged buffer or a list 23311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_ 23331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna structure with the first parameter being a structure tag, indicating the type of the structure that 23351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfollows 23361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA structure tag may be either a TPMT_ST_ or TPM_ALG_ depending on context. 23371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ 23391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna union of structures, lists, or unions 23411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf a union exists, there will normally be a companion TPMT_ that is the expression of the union 23421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin a tagged structure, where the tag is the selector indicating which member of the union is 23431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpresent. 23441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_xx_ 23461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan enumeration value of a particular type 23481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe value of “xx” will be indicative of the use of the enumerated type. A table of “TPM_xx” 23491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnconstant definitions will exist to define each of the TPM_xx_ values. 23501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 23511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ indicates that the type is used for a commandCode. The allowed enumeration 23531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues will be found in the table defining the TPM_CC constants (Table 11). 23541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 23561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_ indicates that the type is used for a responseCode. The allowed enumeration 23581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues are in Table 15. 23591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.17 Data Alignment 23611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe data structures in this Part 2 use octet alignment for all structures. When used in a table to indicate a 23621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum size, the sizeof() function returns the octet-aligned size of the structure, with no padding. 23631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4.18 23641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter Unmarshaling Errors 23661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM commands are defined in Part 3. The command definition included C code that details the 23681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnactions performed by that command. The code is written assuming that the parameters of the command 23691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhave been unmarshaled. 23701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 23711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn implementation is not required to process parameters in this manner or to separate the parameter 23731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparsing from the command actions. This method was chosen for the specification so that the normative 23741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbehavior described by the detailed actions would be clear and unencumbered. 23751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 23771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 23781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 23801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 23811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 15 23831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 23841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 23861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 23881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnmarshaling is the process of processing the parameters in the input buffer and preparing the 23901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters for use by the command-specific action code. No data movement need take place but it is 23911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired that the TPM validate that the parameters meet the requirements of the expected data type as 23921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined in this Part 2. 23931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen an error is encountered while unmarshaling a command parameter, an error response code is 23941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned and no command processing occurs. A table defining a data type may have response codes 23951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnembedded in the table to indicate the error returned when the input value does not match the parameters 23961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof the table. 23971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 23981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 23991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 11 has a listing of TPM command code values. The last row in the table contains 24001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn"#TPM_RC_COMMAND_CODE" indicating the response code that is returned if the TPM is unmarshaling 24011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value that it expects to be a TPM_CC and the input value is not in the table. 24021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 24041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn the reference implementation, a parameter number is added to the response code so that the offending 24061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter can be isolated. 24071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn many cases, the table contains no specific response code value and the return code will be determined 24091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnas defined in Table 2. 24101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 2 — Unmarshaling Errors 24111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnResponse code 24121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUsage 24141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_INSUFFICIENT 24161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe input buffer did not contain enough octets to allow unmarshaling of the 24181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexpected data type; 24191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_RESERVED 24211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna non-zero value was found in a reserved field of an attribute structure (TPMA_) 24231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SIZE 24251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe value of a size parameter is larger or smaller than allowed 24271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_VALUE 24291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA parameter does not have one of its allowed values 24311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_TAG 24331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA parameter that should be a structure tag has a value that is not supported by 24351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM 24361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn some commands, a parameter may not be used because of various options of that command. 24381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHowever, the unmarshaling code is required to validate that all parameters have values that are allowed 24391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnby the Part 2 definition of the parameter type even if that parameter is not used in the command actions. 24401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 16 24421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 24431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 24451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 24461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 24481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 24491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 24511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 24531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 24551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBase Types 24571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5.1 24591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPrimitive Types 24611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe types listed in Table 3 are the primitive types on which all of the other types and structures are 24631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbased. The values in the “Type” column should be edited for the compiler and computer on which the 24641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM is implemented. The values in the “Name” column should remain the same because these values 24651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnare used in the remainder of the specification. 24661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 24671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe types are compatible with the C99 standard and should be defined in stdint.h that is provided with a 24691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnC99-compliant compiler; 24701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe parameters in the Name column should remain in the order shown. 24721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 3 — Definition of Base Types 24731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 24741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 24761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 24781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuint8_t 24801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT8 24821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsigned, 8-bit integer 24841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuint8_t 24861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 24881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsigned 8-bit integer 24901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint8_t 24921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT8 24941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigned, 8-bit integer 24961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint 24981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 24991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBOOL 25001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna bit in an int 25021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is not used across the interface but is used in many places in the code. If 25031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe type were sent on the interface, it would have to have a type with a specific 25041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of bytes. 25051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuint16_t 25071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 25091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsigned, 16-bit integer 25111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint16_t 25131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT16 25151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigned, 16-bit integer 25171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuint32_t 25191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 25211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsigned, 32-bit integer 25231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint32_t 25251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT32 25271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigned, 32-bit integer 25291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuint64_t 25311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 25331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsigned, 64-bit integer 25351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnint64_t 25371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnINT64 25391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigned, 64-bit integer 25411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5.2 25431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMiscellaneous Types 25451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese types are defined either for compatibility with previous versions of this specification or for clarity of 25471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis specification. 25481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 4 — Definition of Types for Documentation Clarity 25491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 25501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 25521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 25541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 25561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALGORITHM_ID 25581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis is the 1.2 compatible form of the TPM_ALG_ID 25601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 25621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_MODIFIER_INDICATOR 25641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 25661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_AUTHORIZATION_SIZE 25681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe authorizationSize parameter in a command 25701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 25721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PARAMETER_SIZE 25741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe parameterSizeset parameter in a command 25761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 25781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_KEY_SIZE 25801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna key size in octets 25821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 25841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_KEY_BITS 25861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna key size in bits 25881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 25901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 25911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 25931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 25941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 17 25961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 25971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 25981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 25991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 26011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 26031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnConstants 26051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.1 26071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SPEC (Specification Version Values) 26091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese values are readable with TPM2_GetCapability(). 26111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 26121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis table will require editing when the specification is updated. 26141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 5 — Definition of (UINT32) TPM_SPEC Constants <> 26161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 26171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 26191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 26211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnASCII “2.0” with null terminator 26221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SPEC_FAMILY 26241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x322E3000 26261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SPEC_LEVEL 26281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn00 26301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe level number for the specification 26321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SPEC_VERSION 26341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn99 26361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe version number of the spec (00.99 * 100) 26381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SPEC_YEAR 26401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2013 26421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe year of the version 26441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SPEC_DAY_OF_YEAR 26461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn304 26481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe day of the year (October 31, 2013) 26501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.2 26521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_GENERATED 26541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis constant value differentiates TPM-generated structures from non-TPM structures. 26561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 6 — Definition of (UINT32) TPM_GENERATED Constants <O> 26571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 26581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 26601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 26621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_GENERATED_VALUE 26641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xff544347 26661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xFF ‘TCG’ (FF 54 43 4716) 26681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 18 26701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 26711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 26731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 26741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 26761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 26771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 26791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.3 26801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 26821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID 26841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TCG maintains a registry of all algorithms that have an assigned algorithm ID. That registry is the 26861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefinitive list of algorithms that may be supported by a TPM. 26871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 26881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnInclusion of an algorithm does NOT indicate that the necessary claims of the algorithm are av ailable 26901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunder RAND terms from a TCG member. 26911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 26921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 7 is a copy of the TPM_ALG_ID constants table in the TCG registry as of the date of publication of 26931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis specification. Table 7 is provided for illustrative purposes only. 26941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{{Note for TCG Admin: Table 7 and the text in the paragraph above should be updated to reflect the final 26951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecisions by the TCG Board of Directors about inclusion of the table and the contents of the table. The 26961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndesired approach is to leave the text as is and, immediately before publication of this specification for 26971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTCG admin to verify that Table 7 is the same as the algorithm registry table published by the TCG.}} 26981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn algorithm ID is often used like a tag to determine the type of a structure in a context-sensitive way. 26991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe values for TPM_ALG_ID shall be in the range of 00 0016 – 7F FF16. Other structure tags will be in the 27001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange 80 0016 – FF FF16. 27011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 27021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn TPM 1.2, these were defined as 32-bit constants. This specification limits the future size of the 27041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm ID to 16 bits. The TPM_ALGORITHM_ID data type will continue to be a 32-bit number. 27051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn algorithm shall not be assigned a value in the range 00 C116 – 00 C616 in order to prevent any overlap 27071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith the command structure tags used in TPM 1.2. 27081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe implementation of some algorithms is dependent on the presence of other algorithms. When there is 27091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna dependency, the algorithm that is required is listed in column labeled "D" (dependent) in Table 7. 27101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 27111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplementation of TPM_ALG_RSASSA requires that the RSA algorithm be implemented. 27131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KEYEDHASH and TPM_ALG_NULL are required of all TPM implementations. 27151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 7 — Definition of (UINT16) TPM_ALG_ID Constants <IN/OUT, S> 27161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Name 27171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 27191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 27211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 27231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnD 27251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 27271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ERROR 27291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000 27311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshould not occur 27331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_FIRST 27351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0001 27371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA 27391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0001 27411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAO 27431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe RSA algorithm 27451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA 27471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0004 27491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnH 27511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe SHA1 algorithm 27531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA1 27551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0004 27571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnH 27591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnredefinition for documentation consistency 27611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOID 30 21 30 09 06 05 2B 0E 03 02 1A 05 00 04 14 16 27621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_HMAC 27641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0005 27661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHX 27681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe RFC 2104 Hash Message Authentication Code 27701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HMAC) algorithm 27711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_AES 27731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0006 27751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnS 27771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe AES algorithm with a key size of 128 bits for TPM 27791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1.2 27801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe AES algorithm with multiple sizes of key for TPM 27811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2.0 27821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_MGF1 27841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0007 27861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHM 27881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe mask-generation function defined in IEEE Std 27901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1363-2000 27911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KEYEDHASH 27931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0008 27951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHEXO 27971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 27981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan encryption or signing algorithm using a keyed hash, 27991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined by TCG in the TPM 2.0 specification 28001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay also refer to a data object that is neither signing 28011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnor encrypting 28021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR 28041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000A 28061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHS 28081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmarker value 28101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe XOR obfuscation algorithm 28121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 28131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 28151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 28161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe implementation of XOR obfuscation in TPM 28181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2.0 is not the same as the XOR encryption 28191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmethod in TPM 1.2. 28201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 28221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 28231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 19 28251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 28261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 28281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Name 28291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 28311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 28321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 28341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 28361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA256 28381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000B 28401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnH 28421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnD 28441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 28461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe SHA 256 algorithm 28471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOID 30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 28481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn00 04 2016 28491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA384 28511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000C 28531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnH 28551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe SHA 384 algorithm 28571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOID 30 41 30 0d 06 09 60 86 48 01 65 03 04 02 02 05 28581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn00 04 3016 28591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA512 28611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000D 28631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnH 28651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe SHA 512 algorithm 28671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOID 30 51 30 0d 06 09 60 86 48 01 65 03 04 02 03 05 28681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn00 04 4016 28691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 28711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0010 28731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM3_256 28751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0012 28771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnH 28791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash algorithm standardized by OSCCA 28811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBlock size is 512 bits. 28821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOutput size is 256 bits. 28831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM4 28851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0013 28871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnS 28891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric algorithm standardized by OSCCA 28911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKey and block size are 128 bits. 28921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA 28941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0014 28961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAX 28981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 28991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA a signature algorithm according to PKCS#1v2.1, 8.2 29001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAES 29021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0015 29041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAE 29061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA a padding algorithm according to PKCS#1v2.1, 7.2 29081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAPSS 29101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0016 29121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAX 29141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA signature algorithm (RSSASSA-PSS) according to 29161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPKCS#1v2.1, 8.1 29171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OAEP 29191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0017 29211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAE 29231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA padding algorithm 29251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPKCS#1v2.1, 7.1 29261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDSA 29281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0018 29301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAX 29321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC signature algorithm using elliptic curve cryptography 29341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(ECC) 29351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDH 29371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0019 29391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAM 29411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC secret sharing using ECC from SP800-56A 29431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBased on context, this can be either One-Pass DiffieHellman, C(1, 1, ECC CDH) defined in 6.2.2.2 or Full 29441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnified Model C(2, 2, ECC CDH) defined in 6.1.1.2 29451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDAA 29471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x001A 29491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAX 29511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC elliptic-curve based, anonymous signing scheme 29531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 29551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x001B 29571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAXE 29591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNull algorithm 29611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(RSAES_OAEP) 29631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaccording 29651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto 29671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC depending on context, either an elliptic-curve based, 29691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsignature algorithm or a key exchange protocol 29701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 29711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis would be one of the algorithms specified in 29731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCM/T 0002 – 2012. 29741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECSCHNORR 29761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x001C 29781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAX 29801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC elliptic-curve-based Schnorr signature 29821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECMQV 29841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x001D 29861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAE 29881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC two-phase elliptic-curve key exchange -- C(2, 2, ECC 29901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMQV) from SP800-56A 29911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF1_SP800_56a 29931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0020 29951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHM 29971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 29981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC key derivation alternative #1 from SP800-56A 29991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF2 30011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0021 30031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHM 30051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey derivation function from IEEE Std 1363a-2004 30071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF1_SP800_108 30091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0022 30111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHM 30131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna key derivation method according to SP 800-108, "5.1 30151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKDF in Counter Mode” 30161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 30181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0023 30201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAO 30221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprime field ECC 30241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SYMCIPHER 30261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0025 30281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 30301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_CTR 30321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0040 30341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSE 30361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCounter mode – if implemented, all symmetric block 30381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnciphers (S type) implemented shall be capable of using 30391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis mode. 30401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OFB 30421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0041 30441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSE 30461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOutput Feedback mode – if implemented, all 30481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric block ciphers (S type) implemented shall be 30491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncapable of using this mode. 30501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_CBC 30521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0042 30541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSE 30561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCipher Block Chaining mode – if implemented, all 30581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric block ciphers (S type) implemented shall be 30591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncapable of using this mode. 30601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 20 30621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 30631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe object type for a symmetric block cipher 30651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 30671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 30681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 30701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 30711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 30731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 30751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 30761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Name 30781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 30801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 30821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_CFB 30841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0043 30861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSE 30881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnD 30901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 30921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCipher Feedback mode – if implemented, all 30931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric block ciphers (S type) implemented shall be 30941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncapable of using this mode. 30951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECB 30971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 30981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0044 30991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSE 31011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnElectronic Codebook mode – if implemented, all 31031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric block ciphers (S type) implemented shall be 31041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncapable of using this mode. 31051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 31061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis mode is not recommended for uses unless 31081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe key is frequently rotated such as in video 31091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncodecs. 31101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_LAST 31121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0044 31141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmarker value 31161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 31181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C1 31201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C1 – 0x00C6 are reserved 31221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 31241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C2 31261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 31281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C3 31301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 31321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C4 31341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 31361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C5 31381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 31401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C6 31421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE a Column Indicates the algorithm type and use of the algorithm inside of the TPM. The values are: 31441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA – asymmetric algorithm with a public and private key 31451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnS – symmetric algorithm with only a private key 31461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnH – hash algorithm that compresses input data to a digest value 31471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnX – signing algorithm 31481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnE – an encryption algorithm 31491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnM – a method such as a mask generation function 31501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO – an object type 31511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 31531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 31541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 31561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 31571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 21 31591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 31601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 31621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.4 31631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 31651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_CURVE 31671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TCG maintains a registry of all curves that have an assigned curve identifier. That registry is the 31691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefinitive list of curves that may be supported by a TPM. 31701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 8 is a copy of the TPM_ECC_CURVE constants table in the TCG registry as of the date of 31711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpublication of this specification. Table 8 is provided for illustrative purposes only. 31721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{{Note for TCG Admin: Table 8 and the text in the paragraph above should be updated to reflect the final 31731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecisions by the TCG Board of Directors about inclusion of the table and the contents of the table. The 31741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndesired approach is to leave the text as is and, immediately before publication of this specification for 31751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTCG admin to verify that Table 8 is the same as the curve registry table published by the TCG.}} 31761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 8 — Definition of (UINT16) {ECC} TPM_ECC_CURVE Constants <IN/OUT, S> 31771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 31781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 31801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 31821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_NONE 31841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000 31861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_NIST_P192 31881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0001 31901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_NIST_P224 31921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0002 31941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_NIST_P256 31961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0003 31981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 31991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_NIST_P384 32001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0004 32021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_NIST_P521 32041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0005 32061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_BN_P256 32081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0010 32101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncurve to support ECDAA 32121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_BN_P638 32141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0011 32161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncurve to support ECDAA 32181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_SM2_P256 32201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0020 32221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_CURVE 32241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5 32261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5.1 32271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC (Command Codes) 32291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFormat 32301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA command is a 32-bit structure with fields assigned as shown in Figure 1. 32321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 3 2 2 32331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 0 9 8 32341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRes V 32361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 1 32381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 5 32391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 32411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 32431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 32441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand Index 32461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 1 — Command Format 32481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 9 — TPM Command Format Fields Description 32491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 32501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15:0 32511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 32531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 32551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand Index 32571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe index of the command 32591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn28:16 Reserved 32611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn29 32621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnV 32641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:30 Res 32661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 22 32681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 32691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 32711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET(1): the command is vendor specific 32721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR(0): the command is not vendor specific 32731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 32741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 32761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 32771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 32791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 32801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 32821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5.2 32831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 32851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 32871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 10 provides the legend for the interpretation of the column data in Table 11. 32891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 10 — Legend for Command Code Tables 32901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnColumn 32911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAllowed 32931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 32941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 32961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 32981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 32991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand 33001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCode Name 33011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName of the command 33031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand Code 33051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNumeric value 33071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe numeric value for the commandCode 33091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Write 33111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnblank, Y, O 33131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates whether the command may cause an NV write operation 33151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this column contains a “Y,” then successful completion of the 33161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand is expected to cause modification of the NV memory 33171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbecause of the command actions. 33181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the column contains an “O,” then the command may cause a 33191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmodification to NV associated with an orderly shutdown. That is, the 33201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand may modify the orderly save state of NV, in which case, an 33211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV write will be necessary. 33221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 33231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAny command may be delayed in order for the TPM to complete 33251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV actions due to a previous command or because of an 33261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnasynchronous update of Clock. 33271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 33291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAny command with an authorization value may cause an NV write 33311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon an authorization failure but the command does not complete 33321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsuccessfully. 33331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the entry is blank, then writing to NV is not allowed in the command 33351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnactions. 33361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPhysical Presence 33371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnblank, Y 33391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates whether the platformAuth for this command may require 33411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnconfirmation through a physical presence indication 33421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypted 33441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnblank, 2, 4 33461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA numeric value that indicates the number of octets in the size field of 33481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe first parameter of a command 33491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBlank indicates that no size field is present and no parameter 33501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencryption is allowed. 33511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypt 33531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnblank, 2, 4 33551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA numeric value that indicates the number of octets in the size field of 33571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe first parameter of a response 33581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBlank indicates that no size field is present and no parameter 33591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencryption is allowed. 33601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 33621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 33631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 33651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 33661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 23 33681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 33691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 33711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.5.3 33721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 33741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC Listing 33761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 11 lists the command codes and their attributes. The only normative column in this table is the 33781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncolumn indicating the command code assigned to a specific command (the "Command Code" column). 33791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor all other columns, the command and response tables in Part 3 are definitive. 33801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypt 33821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypted 33841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPhysical Presence 33861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Write 33881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 11 — Definition of (UINT32) TPM_CC Constants (Numeric Order) <IN/OUT, S> 33901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 33921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand 33941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCode 33951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_FIRST 33971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 33981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000011F 33991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCompile variable. May decrease 34011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbased on implementation. 34021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PP_FIRST 34041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000011F 34061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCompile variable. Would decrease 34081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif new PP commands are added 34091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_UndefineSpaceSpecial 34111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000011F 34131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_EvictControl 34191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000120 34211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_HierarchyControl 34271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000121 34291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_UndefineSpace 34351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000122 34371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ChangeEPS 34431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000124 34451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ChangePPS 34511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000125 34531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Clear 34591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000126 34611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ClearControl 34671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000127 34691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ClockSet 34751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000128 34771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_HierarchyChangeAuth 34831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000129 34851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 34911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_DefineSpace 34931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000012A 34951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 34981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 34991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 35011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PCR_Allocate 35031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000012B 35051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PCR_SetAuthPolicy 35111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000012C 35131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PP_Commands 35191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000012D 35211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_SetPrimaryPolicy 35271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000012E 35291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 35351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_FieldUpgradeStart 35371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000012F 35391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 35411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 35451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ClockRateAdjust 35471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000130 35491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 35511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_CreatePrimary 35551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000131 35571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_GlobalWriteLock 35591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000132 35611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PP_LAST 35631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000132 35651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_GetCommandAuditDigest 35671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000133 35691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_Increment 35731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000134 35751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 24 35791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 35801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 35831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 35851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 35871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 35891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 35911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 35931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCompile variable 35941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 35951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 35971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 35981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 35991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 36001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 36011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand 36031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCode 36041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_SetBits 36061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000135 36081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_Extend 36121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000136 36141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_Write 36181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000137 36201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_WriteLock 36241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000138 36261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_DictionaryAttackLockReset 36301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000139 36321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 36341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_DictionaryAttackParameters 36361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000013A 36381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_ChangeAuth 36421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000013B 36441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 36481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PCR_Event 36501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000013C 36521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 36541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 36561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PCR_Reset 36581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000013D 36601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 36621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_SequenceComplete 36641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000013E 36661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 36681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_SetAlgorithmSet 36701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000013F 36721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_SetCommandCodeAuditStatus 36761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000140 36781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 36801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_FieldUpgradeData 36821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000141 36841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 36861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_IncrementalSelfTest 36881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000142 36901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 36921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_SelfTest 36941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000143 36961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 36981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 36991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Startup 37001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000144 37021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 37041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Shutdown 37061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000145 37081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 37101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_StirRandom 37121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000146 37141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 37161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ActivateCredential 37181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000147 37201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Certify 37221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000148 37241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyNV 37261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000149 37281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_CertifyCreation 37301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000014A 37321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Duplicate 37341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000014B 37361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_GetTime 37381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000014C 37401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 37421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 37441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_GetSessionAuditDigest 37461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000014D 37481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 37501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 37521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_Read 37541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000014E 37561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_ReadLock 37581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000014F 37601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ObjectChangeAuth 37621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000150 37641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 37661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicySecret 37681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000151 37701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 37721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Rewrap 37741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000152 37761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 37781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 37801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 37811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypt 37831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 37851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Write 37871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypted 37891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 37911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPhysical Presence 37931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 37951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 37971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 37981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR 37991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR 38001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 38111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 38201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 38221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 38241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 38351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 38371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 38381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 38411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 25 38441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 38451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 38471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand 38491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCode 38501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypt 38521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Create 38541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000153 38561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ECDH_ZGen 38621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000154 38641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_HMAC 38701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000155 38721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Import 38781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000156 38801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Load 38861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000157 38881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Quote 38941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000158 38961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 38981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 38991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_RSA_Decrypt 39021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000159 39041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_HMAC_Start 39061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000015B 39081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_SequenceUpdate 39121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000015C 39141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Sign 39181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000015D 39201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Unseal 39241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000015E 39261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicySigned 39281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000160 39301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ContextLoad 39321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000161 39341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 39361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext 39381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ContextSave 39401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000162 39421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 39441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext 39461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ECDH_KeyGen 39481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000163 39501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_EncryptDecrypt 39541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000164 39561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_FlushContext 39601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000165 39621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_LoadExternal 39641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000167 39661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_MakeCredential 39721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000168 39741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 39781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_ReadPublic 39801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000169 39821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyAuthorize 39841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000016A 39861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyAuthValue 39881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000016B 39901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 39921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyCommandCode 39941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000016C 39961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 39981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 39991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyCounterTimer 40001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000016D 40021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyCpHash 40081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000016E 40101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyLocality 40161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000016F 40181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyNameHash 40201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000170 40221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyOR 40241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000171 40261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyTicket 40281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000172 40301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ReadPublic 40321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000173 40341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 26 40361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 40371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Write 40391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 40411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypted 40431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPhysical Presence 40451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 40471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 40491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 40511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 40611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext 40631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV 40651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 40781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 40791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 40811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 40841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 40851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypt 40871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 40891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Write 40911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypted 40931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 40951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPhysical Presence 40971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 40981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 40991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 41011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 41031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 41051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 41071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand 41091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCode 41101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_RSA_Encrypt 41121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000174 41141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_StartAuthSession 41161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000176 41181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_VerifySignature 41201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000177 41221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ECC_Parameters 41241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000178 41261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_FirmwareRead 41281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000179 41301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_GetCapability 41321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000017A 41341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_GetRandom 41361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000017B 41381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_GetTestResult 41401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000017C 41421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Hash 41441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000017D 41461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PCR_Read 41481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000017E 41501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR 41521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyPCR 41541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000017F 41561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 41581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyRestart 41601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000180 41621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ReadClock 41641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000181 41661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PCR_Extend 41681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000182 41701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 41721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 41741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PCR_SetAuthValue 41761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000183 41781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnN 41801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 41821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_NV_Certify 41841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000184 41861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 41881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_EventSequenceComplete 41901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000185 41921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 41941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_HashSequenceStart 41961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000186 41981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 41991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyPhysicalPresence 42001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000187 42021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 42041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyDuplicationSelect 42061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000188 42081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 42101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyGetDigest 42121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000189 42141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 42161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_TestParms 42181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000018A 42201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_Commit 42221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000018B 42241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyPassword 42261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000018C 42281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_ZGen_2Phase 42301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000018D 42321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_EC_Ephemeral 42341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000018E 42361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_PolicyNvWritten 42381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000018F 42401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 42421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC_LAST 42441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000018F 42461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCompile variable. May increase 42481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbased on implementation. 42491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 42511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 42531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnO 42611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 42681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 42721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 42741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_COMMAND_CODE 42761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 42781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 42791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 42811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 42821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is not a FMT1 code 42841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand a parameter indicator 42851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue may not be added to 42861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 27 42881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 42891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypt 42911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncrypted 42931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommand 42951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCode 42961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 42981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 42991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPhysical Presence 43001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 43021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Write 43041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 43061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 43081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis value. 43091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6 43111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC (Response Codes) 43131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6.1 43151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 43171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEach return from the TPM has a 32-bit response code. The TPM will always set the upper 20 bits (31:12) 43191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof the response code to 0 00 0016 and the low-order 12 bits (11:00) will contain the response code. 43201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a command succeeds, the TPM shall return TPM_RC_SUCCESS (0 0016) and will update any 43211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization-session nonce associated with the command. 43221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a command fails to complete for any reason, the TPM shall return 43231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna TPM_ST (UINT16) with a value of TPM_TAG_RSP_COMMAND or TPM_ST_NO_SESSIONS, 43261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfollowed by 43271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna UINT32 (responseSize) with a value of 10, followed by 43311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna UINT32 containing a response code with a value other than TPM_RC_SUCCESS. 43351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommands defined in this specification will use a tag of either TPM_ST_NO_SESSIONS or 43371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_SESSIONS. Error responses will use a tag value of TPM_ST_NO_SESSIONS and the 43381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code will be as defined in this specification. Commands that use tags defined in the TPM 1.2 43391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification will use TPM_TAG_RSP_COMMAND in an error and a response code defined in TPM 1.2. 43401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the tag of the command is not a recognized command tag, the TPM error response will differ depending 43411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon TPM 1.2 compatibility. If the TPM supports 1.2 compatibility, the TPM shall return a tag of 43421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_TAG_RSP_COMMAND and an appropriate TPM 1.2 response code (TPM_BADTAG = 43431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn00 00 00 1E16). If the TPM does not have compatibility with TPM 1.2, the TPM shall return 43441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_NO_SESSION and a response code of TPM_RC_TAG. 43451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a command fails, the TPM shall not update the authorization-session nonces associated with the 43461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand and will not close the authorization sessions used by the command. Audit digests will not be 43471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnupdated on an error. Unless noted in the command actions, a command that returns an error shall leave 43481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe state of the TPM as if the command had not been attempted. The exception to this principle is that a 43491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfailure due to an authorization failure may update the dictionary-attack protection values. 43501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 28 43521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 43531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 43551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 43561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 43581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 43591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 43611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6.2 43621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 43641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnResponse Code Formats 43661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe response codes for this specification are defined such that there is no overlap between the response 43681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncodes used for this specification and those assigned in previous TPM specifications. 43691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe formats defined in this clause only apply when the tag for the response is TPM_ST_NO_SESSIONS. 43701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe response codes use two different format groups. One group contains the TPM 1.2 compatible 43711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse codes and the response codes for this specification that are not related to command 43721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters. The second group contains the errors that may be associated with a command parameter, 43731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle, or session. 43741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 2 shows the format for the response codes when bit 7 is zero. 43751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 43761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 43771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 43791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 43801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 43821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9 43831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 43851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 43861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 43881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 43891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnS 43911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbit 43931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnT 43951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnr 43971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 43981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnV 43991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 44021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 44051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnF 44071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 44101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 44131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 44161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 44191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 44221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnE 44241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 2 — Format-Zero Response Codes 44261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 44281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 44291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 44311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 44321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 29 44341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 44351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 44371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 44391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe field definitions are: 44411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 12 — Format-Zero Response Codes 44421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 44431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 44451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 44471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn06:00 44491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnE 44511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe error number 44531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe interpretation of this field is dependent on the setting of the G and S fields. 44541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn07 44561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnF 44581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnformat selector 44601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR when the format is as defined in this Table 12 or when the response code is 44611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_BAD_TAG. 44621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn08 44641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnV 44661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnversion 44681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The error number is defined in this specification and is returned when the response tag 44691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis TPM_ST_NO_SESSIONS. 44701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The error number is defined by a previous TPM specification. The error number is 44711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned when the response tag is TPM_TAG_RSP_COMMAND. 44721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 44731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn09 44751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn any error number returned by a TPM, the F (bit 7) and V (bit 8) attributes shall be CLEAR 44771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen the response tag is TPM_TAG_RSP_COMMAND value used in TPM 1.2. 44781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved shall be zero. 44801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10 44821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnT 44841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTCG/Vendor indicator 44861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The response code is defined by the TPM vendor. 44871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The response code is defined by the TCG (a value in this specification). 44881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 44891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11 44911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnS 44931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute does not indicate a vendor-specific code unless the F attribute (bit[07]) is CLEAR. 44951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 44961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnseverity 44971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The response code is a warning and the command was not necessarily in error. This 44981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand indicates that the TPM is busy or that the resources of the TPM have to be adjusted in 44991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnorder to allow the command to execute. 45001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The response code indicates that the command had an error that would prevent it 45011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfrom running. 45021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the format bit (bit 7) is SET, then the error occurred during the unmarshaling or validation of an 45041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninput parameter to the TPM. Figure 3 shows the format for the response codes when bit 7 is one. 45051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbit 45061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 45081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 45091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 45111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9 45151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnN 45171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 45201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 45231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 45261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 45281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 45311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnP 45331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 45361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 45391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 45421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 45451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 45481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnE 45501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 3 — Format-One Response Codes 45521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThere are 64 errors with this format. The errors can be associated with a parameter, handle, or session. 45531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe error number for this format is in bits[05:00]. When an error is associated with a parameter, 0 40 16 is 45541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadded and N is set to the parameter number. 45551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor an error associated with a handle, a parameter number (1 to 7) is added to the N field. For an error 45561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociated with a session, a value of 8 plus the session number (1 to 7) is added to the N field. In other 45571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwords, if P is clear, then a value of 0 to 7 in the N field will indicate a handle error, and a value of 8 – 15 45581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwill indicate a session error. 45591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 45601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf an implementation is not able to designate the handle, session, or parameter in error, then P and N will 45621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe zero. 45631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 30 45651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 45661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 45681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 45691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 45711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 45721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 45741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 45761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe field definitions are: 45781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 13 — Format-One Response Codes 45791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 45801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName Definition 45821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn05:00 45841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnE 45861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe error number 45881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe error number is independent of the other settings. 45891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn06 45911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnP 45931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The error is associated with a parameter. 45951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The error is associated with a handle or a session. 45961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn07 45981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 45991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnF 46001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe response code format selector 46021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis field shall be SET for the format in this table. 46031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11:08 46051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnN 46071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of the handle, session, or parameter in error 46091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf P is SET, then this field is the parameter in error. If P is CLEAR, then this field indicates the 46101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle or session in error. Handles use values of N between 0000 2 and 01112. Sessions use 46111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues between 10002 and 11112. 46121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe groupings of response codes are determined by bits 08, 07, and 06 of the response code as 46141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsummarized in Table 14. 46151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 14 — Response Code Groupings 46161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 46171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 46181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 46191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 46211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 46221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 46241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 46251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 46271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 46291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 46311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnx 46331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna response code defined by TPM 1.2 46351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 46361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn “x” in a column indicates that this may be either 0 or 1 and not affect the grouping of the response 46381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode. 46391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 46411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 46431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnx 46451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna response code defined by this specification with no handle, session, or parameter number modifier 46471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnx 46491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 46511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 46531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna response code defined by this specification with either a handle or session number modifier 46551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnx 46571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 46591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 46611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna response code defined by this specification with a parameter number modifier 46631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 46651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 46661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 46681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 46691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 31 46711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 46721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 46741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.6.3 46751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 46771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC Values 46791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn general, response codes defined in Part 2 will be unmarshaling errors and will have the F (format) bit 46811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET. Codes that are unique to Part 3 will have the F bit CLEAR but the V (version) attribute will be SET to 46821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicate that it is a TPM 2.0 response code. 46831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 46841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe constant RC_VER1 is used to indicate that the V attribute is SET and the constant RC_ FMT1 is used 46861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto indicate that the F attribute is SET and that the return code is variable based on handle, session, and 46871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter modifiers. 46881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 15 — Definition of (UINT32) TPM_RC Constants (Actions) <OUT> 46901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 46911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 46931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 46951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SUCCESS 46971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 46981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000 46991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_BAD_TAG 47011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x01E 47031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined for compatibility with TPM 1.2 47051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 47071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x100 47091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset for all format 0 response codes 47111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_INITIALIZE 47131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x000 47151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM not initialized 47171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommands not being accepted because of a TPM 47181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfailure 47191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_FAILURE 47211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x001 47231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 47251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SEQUENCE 47271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x003 47291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimproper use of a sequence handle 47311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_PRIVATE 47331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x00B 47351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_HMAC 47371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x019 47391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_DISABLED 47411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x020 47431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_EXCLUSIVE 47451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x021 47471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand failed because audit sequence required 47491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexclusivity 47501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_AUTH_TYPE 47521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x024 47541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization handle is not correct for command 47561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_AUTH_MISSING 47581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x025 47601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand requires an authorization session for 47621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle and it is not present. 47631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_POLICY 47651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x026 47671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpolicy Failure In Math Operation or an invalid 47691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthPolicy value 47701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_PCR 47721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x027 47741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR check fail 47761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_PCR_CHANGED 47781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x028 47801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR have changed since checked. 47821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_UPGRADE 47841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x02D 47861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor 47881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnall 47891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommands 47901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnother 47911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan 47921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_FieldUpgradeData(), this code indicates 47931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat the TPM is in field upgrade mode; for 47941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_FieldUpgradeData(), this code indicates 47951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat the TPM is not in field upgrade mode 47961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_TOO_MANY_CONTEXTS 47981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 47991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x02E 48001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext ID counter is at maximum. 48021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_AUTH_UNAVAILABLE 48041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x02F 48061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthValue or authPolicy is not available for 48081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselected entity. 48091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REBOOT 48111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x030 48131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna _TPM_Init and Startup(CLEAR) is required 48151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbefore the TPM can resume operation. 48161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x031 48181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe protection algorithms (hash and symmetric) are 48201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot reasonably balanced. The digest size of the 48211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash must be larger than the key size of the 48221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric algorithm. 48231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_UNBALANCED 48251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 32 48271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 48281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis 48301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay 48311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe 48321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned 48331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnby 48341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetTestResult() as the testResult 48351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter. 48361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 48381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 48391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 48411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 48421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 48441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 48451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 48471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 48481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 48501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_COMMAND_SIZE 48521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x042 48541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand commandSize value is inconsistent with 48561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontents of the command buffer; either the size is 48571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot the same as the octets loaded by the hardware 48581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninterface layer or the value is not large enough to 48591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhold a command header 48601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_COMMAND_CODE 48621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x043 48641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand code not supported 48661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_AUTHSIZE 48681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x044 48701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe value of authorizationSize is out of range or the 48721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of octets in the Authorization Area is 48731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngreater than required 48741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_AUTH_CONTEXT 48761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x045 48781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuse of an authorization session with a context 48801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand 48811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_RANGE 48831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x046 48851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV offset+size is out of range. 48871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_SIZE 48891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x047 48911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRequested allocation size is larger than allowed. 48931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_LOCKED 48951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x048 48971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 48981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV access locked. 48991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_AUTHORIZATION 49011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x049 49031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV access authorization fails in command actions 49051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(this failure does not affect lockout.action) 49061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_UNINITIALIZED 49081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x04A 49101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan NV Index is used before being initialized or the 49121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstate saved by TPM2_Shutdown(STATE) could not 49131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe restored 49141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_SPACE 49161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x04B 49181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninsufficient space for NV allocation 49201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_DEFINED 49221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x04C 49241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Index or persistend object already defined 49261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_BAD_CONTEXT 49281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x050 49301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext in TPM2_ContextLoad() is not valid 49321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_CPHASH 49341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x051 49361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncpHash value already set or not correct for use 49381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_PARENT 49401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x052 49421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle for parent is not a valid parent 49441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NEEDS_TEST 49461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x053 49481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsome function needs testing. 49501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x054 49521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned when an internal function cannot process 49541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna request due to an unspecified problem. This 49551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode is usually related to invalid parameters that 49561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnare not properly filtered by the input unmarshaling 49571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode. 49581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SENSITIVE 49601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x055 49621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe sensitive area did not unmarshal correctly after 49641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecryption – this code is used in lieu of the other 49651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaling errors so that an attacker cannot 49661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndetermine where the unmarshaling error occurred 49671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_MAX_FM0 49691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_VER1 + 0x07F 49711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlargest version 1 code that is not a warning 49731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NO_RESULT 49751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNew Subsection 49771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 49791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x080 49811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis bit is SET in all format 1 response codes 49831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe codes in this group may have a value added to 49841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthem to indicate the handle, session, or parameter 49851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto which they apply. 49861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_ASYMMETRIC 49881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x001 49901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnasymmetric algorithm not supported or not correct 49921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_ATTRIBUTES 49941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x002 49961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninconsistent attributes 49981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 49991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_HASH 50001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x003 50021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash algrithm not supported or not appropriate 50041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_VALUE 50061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x004 50081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue is out of range or is not correct for the 50101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext 50111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_HIERARCHY 50131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x005 50151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy is not enabled or is not correct for the 50171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuse 50181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 50201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 50211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 50231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 50241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 33 50261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 50271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 50291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 50311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 50331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 50351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 50371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_KEY_SIZE 50391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x007 50411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey size is not supported 50431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_MGF 50451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x008 50471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmask generation function not supported 50491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_MODE 50511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x009 50531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmode of operation not supported 50551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_TYPE 50571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x00A 50591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe type of the value is not appropriate for the use 50611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_HANDLE 50631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x00B 50651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe handle is not correct for the use 50671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_KDF 50691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x00C 50711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsupported key derivation function or function not 50731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnappropriate for use 50741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_RANGE 50761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x00D 50781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue was out of allowed range. 50801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_AUTH_FAIL 50821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x00E 50841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe authorization HMAC check failed and DA 50861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncounter incremented 50871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NONCE 50891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x00F 50911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninvalid nonce size 50931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_PP 50951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x010 50971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 50981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization requires assertion of PP 50991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SCHEME 51011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x012 51031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsupported or incompatible scheme 51051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SIZE 51071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x015 51091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure is the wrong size 51111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SYMMETRIC 51131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x016 51151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunsupported symmetric algorithm or key size, or 51171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot appropriate for instance 51181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_TAG 51201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x017 51221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnincorrect structure tag 51241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SELECTOR 51261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x018 51281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunion selector is incorrect 51301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_INSUFFICIENT 51321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x01A 51341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM was unable to unmarshal a value 51361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbecause there were not enough octets in the input 51371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer 51381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SIGNATURE 51401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x01B 51421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe signature is not valid 51441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_KEY 51461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x01C 51481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey fields are not compatible with the selected use 51501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_POLICY_FAIL 51521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x01D 51541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna policy check failed 51561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_INTEGRITY 51581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x01F 51601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnintegrity check failed 51621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_TICKET 51641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x020 51661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninvalid ticket 51681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_RESERVED_BITS 51701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x021 51721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved bits not set to zero as required 51741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_BAD_AUTH 51761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x022 51781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthroization failure without DA implications 51801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_EXPIRED 51821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x023 51841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe policy has expired 51861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_POLICY_CC 51881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x024 51901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe commandCode in the policy is not the 51921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncommandCode of the command or the command 51931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode in a policy command references a command 51941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat is not implemented 51951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_BINDING 51971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 51981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x025 51991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpublic and sensitive portions of an object are not 52011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncryptographically bound 52021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_CURVE 52041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x026 52061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncurve not supported 52081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_ECC_POINT 52101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_FMT1 + 0x027 52121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpoint is not on the required curve. 52141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNew Subsection 52161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN 52171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x900 52191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset for warning response codes 52211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_CONTEXT_GAP 52231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x001 52251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngap for context ID is too large 52271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_OBJECT_MEMORY 52291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x002 52311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnout of memory for object contexts 52331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 34 52351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 52361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 52381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 52391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 52411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 52421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 52441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 52461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 52481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 52501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 52521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SESSION_MEMORY 52541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x003 52561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnout of memory for session contexts 52581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_MEMORY 52601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x004 52621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnout of shared object/session memory or need 52641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspace for internal operations 52651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SESSION_HANDLES 52671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x005 52691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnout of session handles – a session must be flushed 52711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbefore a new session may be created 52721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnout of object handles – the handle space for 52731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects is depleted and a reboot is required 52741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 52751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_LOCALITY 52771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_YIELDED 52791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis cannot occur 52811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation. 52821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 52841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_OBJECT_HANDLES 52861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThere is no reason why an implementation 52881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould implement a design that would deplete 52891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle space. Platform specifications are 52901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencouraged to forbid it. 52911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x006 52931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x007 52951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x008 52971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 52981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon 52991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 53011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreference 53031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbad locality 53051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM has suspended operation on the 53061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand; forward progress was made and the 53071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand may be retried. 53081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee Part 1, “Multi-tasking.” 53091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 53101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis cannot occur 53121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation. 53131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon 53151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 53171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreference 53191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_CANCELED 53211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x009 53231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe command was canceled 53251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_TESTING 53271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x00A 53291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM is performing self-tests 53311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_H0 53331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x010 53351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 1 handle in the handle area references a 53371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object or session that is not loaded 53381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_H1 53401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x011 53421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 2 handle in the handle area references a 53441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object or session that is not loaded 53451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_H2 53471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x012 53491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 3 handle in the handle area references a 53511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object or session that is not loaded 53521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_H3 53541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x013 53561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 4 handle in the handle area references a 53581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object or session that is not loaded 53591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_H4 53611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x014 53631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 5 handle in the handle area references a 53651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object or session that is not loaded 53661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_H5 53681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x015 53701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 6 handle in the handle area references a 53721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object or session that is not loaded 53731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_H6 53751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x016 53771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 7 handle in the handle area references a 53791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object or session that is not loaded 53801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_S0 53821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x018 53841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 1 authorization session handle references a 53861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession that is not loaded 53871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_S1 53891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x019 53911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 2 authorization session handle references a 53931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession that is not loaded 53941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_S2 53961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x01A 53981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 53991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 3 authorization session handle references a 54001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession that is not loaded 54011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_S3 54031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x01B 54051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 4th authorization session handle references a 54071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession that is not loaded 54081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_S4 54101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x01C 54121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 5 session handle references a session that is 54141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot loaded 54151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_S5 54171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x01D 54191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 6 session handle references a session that is 54211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot loaded 54221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnst 54241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnd 54261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrd 54281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 54301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 54321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 54341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 54361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnst 54381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnd 54401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrd 54421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 54441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 54461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 54481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 54491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 54511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 54521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 35 54541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 54551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 54571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 54591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 54611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 54631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 54651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_REFERENCE_S6 54671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x01E 54691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 7 authorization session handle references a 54711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession that is not loaded 54721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_RATE 54741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x020 54761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM is rate-limiting accesses to prevent 54781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwearout of NV 54791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_LOCKOUT 54811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x021 54831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorizations for objects subject to DA protection 54851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnare not allowed at this time because the TPM is in 54861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDA lockout mode 54871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_RETRY 54891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x022 54911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM was not able to start the command 54931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NV_UNAVAILABLE 54951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x023 54971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 54981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe command may require writing of NV and NV is 54991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot current accessible 55001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_NOT_USED 55021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRC_WARN + 0x7F 55041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis value is reserved and shall not be returned by 55061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM 55071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 55091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAdditional Defines 55111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_H 55121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000 55141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a handle-related error 55161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_P 55181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x040 55201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 55221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_S 55241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x800 55261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a session-related error 55281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_1 55301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x100 55321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-, handle-, or session-related 55341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror 55351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_2 55371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x200 55391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-, handle-, or session-related 55411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror 55421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_3 55441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x300 55461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-, handle-, or session-related 55481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror 55491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_4 55511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x400 55531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-, handle-, or session-related 55551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror 55561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_5 55581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x500 55601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-, handle-, or session-related 55621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror 55631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_6 55651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x600 55671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-, handle-, or session-related 55691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror 55701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_7 55721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x700 55741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-, handle-, or session-related 55761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror 55771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_8 55791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x800 55811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 55831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_9 55851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x900 55871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 55891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_A 55911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xA00 55931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 55951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_B 55971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 55981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xB00 55991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 56011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_C 56031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xC00 56051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 56071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_D 56091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xD00 56111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 56131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_E 56151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xE00 56171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 56191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_F 56211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xF00 56231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadd to a parameter-related error 56251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_N_MASK 56271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xF00 56291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber mask 56311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 36 56331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 56341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 56361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 56371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 56391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 56401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 56421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.7 56431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 56451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_ADJUST 56471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPM_CLOCK_ADJUST value is used to change the rate at which the TPM internal oscillator is divided. 56491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA change to the divider will change the rate at which Clock and Time change. 56501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 56511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe recommended adjustments are approximately 1% for a course adjustment, 0.1% for a medium 56531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadjustment, and the minimum possible on the implementation for the fine adjustment (e.g., one count of 56541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe pre-scalar if possible). 56551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 16 — Definition of (INT8) TPM_CLOCK_ADJUST Constants <IN> 56571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 56581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 56601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 56621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_COARSE_SLOWER 56641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn-3 56661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSlow the Clock update rate by one coarse adjustment step. 56681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_MEDIUM_SLOWER 56701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn-2 56721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSlow the Clock update rate by one medium adjustment step. 56741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_FINE_SLOWER 56761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn-1 56781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSlow the Clock update rate by one fine adjustment step. 56801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_NO_CHANGE 56821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 56841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNo change to the Clock update rate. 56861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_FINE_FASTER 56881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 56901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSpeed the Clock update rate by one fine adjustment step. 56921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_MEDIUM_FASTER 56941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 56961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSpeed the Clock update rate by one medium adjustment step. 56981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 56991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CLOCK_COARSE_FASTER 57001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 57021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSpeed the Clock update rate by one coarse adjustment step. 57041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 57061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.8 57081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO (EA Arithmetic Operands) 57101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 17 — Definition of (UINT16) TPM_EO Constants <IN/OUT> 57111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOperation Name 57131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 57151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 57171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_EQ 57191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000 57211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA=B 57231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_NEQ 57251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0001 57271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA≠B 57291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_SIGNED_GT 57311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0002 57331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA > B signed 57351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_UNSIGNED_GT 57371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0003 57391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA > B unsigned 57411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_SIGNED_LT 57431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0004 57451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA < B signed 57471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_UNSIGNED_LT 57491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0005 57511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA < B unsigned 57531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_SIGNED_GE 57551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0006 57571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA ≥ B signed 57591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_UNSIGNED_GE 57611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0007 57631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA ≥ B unsigned 57651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_SIGNED_LE 57671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0008 57691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA ≤ B signed 57711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_UNSIGNED_LE 57731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0009 57751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA ≤ B unsigned 57771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_BITSET 57791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000A 57811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAll bits SET in B are SET in A. ((A&B)=B) 57831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_EO_BITCLEAR 57851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x000B 57871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAll bits SET in B are CLEAR in A. ((A&B)=0) 57891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 57911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 57931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 57941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnResponse code returned when unmarshaling of this type fails 57961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 57971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 57981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 57991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 37 58011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 58021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 58041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.9 58061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 58081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST (Structure Tags) 58101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure tags are used to disambiguate structures. They are 16-bit values with the most significant bit 58121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET so that they do not overlap TPM_ALG_ID values. A single exception is made for the value 58131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociated with TPM_ST_RSP_COMMAND (0x00C4), which has the same value as the 58141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_TAG_RSP_COMMAND tag from earlier versions of this specification. This value is used when the 58151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM is compatible with a previous TPM specification and the TPM cannot determine which family of 58161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code to return because the command tag is not valid. 58171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMany of the structures defined in this document have parameters that are unions of other structures. That 58181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis, a parameter may be one of several structures. The parameter will have a selector value that indicates 58191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhich of the options is actually present. 58201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn order to allow the marshaling and unmarshaling code to determine which of the possible structures is 58211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed, each selector will have a unique interface type and will constrain the number of possible tag 58221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues. 58231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 18 defines the structure tags values. The definition of many structures is context-sensitive using an 58241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm ID. In cases where an algorithm ID is not a meaningful way to designate the structure, the 58251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues in this table are used. 58261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 18 — Definition of (UINT16) TPM_ST Constants <IN/OUT, S> 58271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 58281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_RSP_COMMAND 58291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 58311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 58331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00C4 58351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag value for a response; used when there is an error 58371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin the tag. This is also the value returned from a TPM 58381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1.2 when an error occurs. This value is used in this 58391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification because an error in the command tag 58401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay prevent determination of the family. When this tag 58411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis used in the response, the response code will be 58421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_BAD_TAG (0 1E16), which has the same 58431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumeric value as the TPM 1.2 response code for 58441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_BADTAG. 58451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 58461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn a previously published version of this 58481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification, 58491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_BAD_TAG 58501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwas 58511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnincorrectly assigned a value of 0x030 instead of 58521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn30 (0x01e). Some implementations my return the 58531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnold value instead of the new value. 58541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_NULL 58561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0X8000 58581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno structure type specified 58601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_NO_SESSIONS 58621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8001 58641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag value for a command/response for a command 58661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined in this specification; indicating that the 58671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand/response has no attached sessions and no 58681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthorizationSize/parameterSize value is present 58691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the responseCode from the TPM is not 58701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SUCCESS, then the response tag shall 58711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhave this value. 58721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_SESSIONS 58741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8002 58761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag value for a command/response for a command 58781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined in this specification; indicating that the 58791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand/response has one or more attached 58801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsessions and the authorizationSize/parameterSize 58811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfield is present 58821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 38 58841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 58851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 58871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 58881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 58901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 58911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 58931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 58941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 58951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 58971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 58981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 58991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 59001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8003 59021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen used between application software and the TPM 59041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresource manager, this tag indicates that the 59051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand has no sessions and the handles are using 59061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe Name format rather than the 32-bit handle format. 59071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 59081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe response to application software will have a 59101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag of TPM_ST_NO_SESSIONS. 59111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBetween the TRM and TPM, this tag would occur in a 59131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse from a TPM that overlaps the tag parameter 59141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof a request with the tag parameter of a response, 59151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen the response has no associated sessions. 59161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 59171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 59191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8004 59211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis tag is not used by all TPM or TRM 59231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementations. 59241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen used between application software and the TPM 59261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresource manager, this tag indicates that the 59271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand has sessions and the handles are using the 59281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName format rather than the 32-bit handle format. 59291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 59301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the command completes successfully, the 59321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse to application software will have a tag 59331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof TPM_ST_SESSIONS. 59341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBetween the TRM and TPM, would occur in a 59361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse from a TPM that overlaps the tag parameter 59371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof a request with the tag parameter of a response, 59381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen the response has authorization sessions. 59391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 59401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis tag is not used by all TPM or TRM 59421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementations. 59431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_NV 59451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8014 59471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for an attestation structure 59491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_COMMAND_AUDIT 59511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8015 59531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for an attestation structure 59551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_SESSION_AUDIT 59571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8016 59591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for an attestation structure 59611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_CERTIFY 59631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8017 59651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for an attestation structure 59671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_QUOTE 59691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8018 59711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for an attestation structure 59731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_TIME 59751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8019 59771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for an attestation structure 59791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_CREATION 59811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x801A 59831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for an attestation structure 59851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 59871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x801B 59891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndo not use 59911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 59921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 59931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis 59941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwas 59951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpreviously 59961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassigned 59971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto 59981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_NV. The tag is changed 59991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbecause the structure has changed 60001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_CREATION 60021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8021 60041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for a ticket type 60061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_VERIFIED 60081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8022 60101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for a ticket type 60121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_AUTH_SECRET 60141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8023 60161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for a ticket type 60181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_HASHCHECK 60201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8024 60221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for a ticket type 60241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_AUTH_SIGNED 60261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8025 60281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for a ticket type 60301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_FU_MANIFEST 60321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x8029 60341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag for a structure describing a Field Upgrade Policy 60361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 60381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 60391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 60411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 60421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 39 60441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 60451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 60471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 60491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.10 TPM_SU (Startup Type) 60511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese values are used in TPM2_Startup() to indicate the shutdown and startup mode. The defined 60521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstartup sequences are: 60531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna) TPM Reset – Two cases: 60541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1) Shutdown(CLEAR) followed by Startup(CLEAR) 60551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2) Startup(CLEAR) with no Shutdown() 60561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnb) TPM Restart – Shutdown(STATE) followed by Startup(CLEAR) 60571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnc) TPM Resume – Shutdown(STATE) followed by Startup(STATE) 60581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SU values of 80 0016 and above are reserved for internal use of the TPM and may not be assigned 60591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues. 60601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 60611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn the reference code, a value of FF FF 16 indicates that the startup state has not been set. If this was 60631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined in this table to be, say, TPM_SU_NONE, then TPM_SU_NONE would be a valid input value but 60641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe caller is not allowed to indicate the that the startup type is TPM_SU_NONE so the reserved value is 60651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined in the implementation as required for internal TPM uses. 60661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 19 — Definition of (UINT16) TPM_SU Constants <IN> 60681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 60691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 60711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 60731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SU_CLEAR 60751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000 60771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon TPM2_Shutdown(), indicates that the TPM should prepare 60791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor loss of power and save state required for an orderly startup 60801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM Reset). 60811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon TPM2_Startup(), indicates that the TPM should start from 60821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnperform TPM Reset or TPM Restart 60831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SU_STATE 60851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0001 60871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon TPM2_Shutdown(), indicates that the TPM should prepare 60891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor loss of power and save state required for an orderly startup 60901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM Restart or TPM Resume) 60911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon TPM2_Startup(), indicates that the TPM should restore the 60921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstate saved by TPM2_Shutdown(TPM_SU_STATE) 60931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 60951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when incorrect value is used 60971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 60981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.11 TPM_SE (Session Type) 60991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type is used in TPM2_StartAuthSession() to indicate the type of the session to be created. 61001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 20 — Definition of (UINT8) TPM_SE Constants <IN> 61011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 61021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 61041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SE_HMAC 61061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00 61081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SE_POLICY 61101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x01 61121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_SE_TRIAL 61141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x03 61161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 61181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 40 61201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 61211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 61231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe policy session is being used to compute the policyHash and 61251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot for command authorization. 61261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis setting modifies some policy commands and prevents 61271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession from being used to authorize a command. 61281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when incorrect value is used 61291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 61311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 61321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 61341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 61351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 61371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 61391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.12 TPM_CAP (Capabilities) 61411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM_CAP values are used in TPM2_GetCapability() to select the type of the value to be returned. 61421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe format of the response varies according to the type of the value. 61431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 21 — Definition of (UINT32) TPM_CAP Constants 61441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 61451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 61471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnProperty Type 61491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReturn Type 61511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_FIRST 61531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000000 61551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_ALGS 61571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000000 TPM_ALG_ID 61591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_HANDLES 61611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000001 TPM_HANDLE 61631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_HANDLE 61651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_COMMANDS 61671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000002 TPM_CC 61691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CCA 61711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_PP_COMMANDS 61731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000003 TPM_CC 61751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CC 61771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_AUDIT_COMMANDS 61791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000004 TPM_CC 61811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CC 61831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_PCRS 61851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000005 reserved 61871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_PCR_SELECTION 61891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_TPM_PROPERTIES 61911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000006 TPM_PT 61931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_TAGGED_TPM_PROPERTY 61951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_PCR_PROPERTIES 61971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 61981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000007 TPM_PT_PCR 61991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(1) 62011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_ECC_CURVES 62031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000008 TPM_ECC_CURVE 62051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_LAST 62071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_ALG_PROPERTY 62091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_TAGGED_PCR_PROPERTY 62111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(1) 62121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000008 62141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_VENDOR_PROPERTY 0x00000100 manufacturer specific 62161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_ECC_CURVE 62181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmanufacturer-specific values 62201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 62221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTES: 62231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(1) The TPM_ALG_ID or TPM_ECC_CURVE is cast to a UINT32 62241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.13 TPM_PT (Property Tag) 62261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM_PT constants are used in TPM2_GetCapability(capability = TPM_CAP_TPM_PROPERTIES) to 62271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicate the property being selected or returned. 62281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe values in the fixed group (PT_FIXED) are not changeable through programmatic means other than a 62291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirmware update. The values in the variable group (PT_VAR) may be changed with TPM commands but 62301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshould be persistent over power cycles and only changed when indicated by the detailed actions code. 62311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 22 — Definition of (UINT32) TPM_PT Constants <IN/OUT, S> 62321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 62331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 62351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 62371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_NONE 62391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000000 62411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates no property type 62431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_GROUP 62451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000100 62471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe number of properties in each group. 62491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE The first group with any properties is group 1 62501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(PT_GROUP * 1). Group 0 is reserved. 62511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED 62531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_GROUP * 1 the 62551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngroup 62561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof 62571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfixed 62581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproperties 62591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned 62601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnas 62611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_TAGGED_PROPERTY 62621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe values in this group are only changed due to a 62631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirmware change in the TPM. 62641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_FAMILY_INDICATOR 62661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 0 a 4-octet character string containing the TPM Family value 62681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_SPEC_FAMILY) 62691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 62711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 62721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 62741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 62751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 41 62771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 62781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 62801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 62821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_LEVEL 62831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 62851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 62871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 62891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 1 the level of the specification 62911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 62921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_REVISION 62941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor this specification, the level is zero. 62961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 62981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 62991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe level is on the title page of the specification. 63001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 2 the specification Revision times 100 63021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE Revision 01.01 would have a value of 101. 63031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 63041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_DAY_OF_YEAR 63061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe Revision value is on the title page of the 63081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification. 63091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 3 the specification day of year using TCG calendar 63111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE November 15, 2010, has a day of year value of 319 63121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(00 00 01 3F16). 63131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 63141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_YEAR 63161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe specification date is on the title page of the 63181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification. 63191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 4 the specification year using the CE 63211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE The year 2010 has a value of 00 00 07 DA16. 63221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 63231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe specification date is on the title page of the 63251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification. 63261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MANUFACTURER 63281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 5 the vendor ID unique to each TPM manufacturer 63301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_VENDOR_STRING_1 63321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 6 the first four characters of the vendor ID string 63341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 63351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the vendor string is fewer than 16 octets, the 63371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnadditional property values do not have to be present. 63381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA vendor string of 4 octets can be represented in one 63391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn32-bit value and no null terminating character is 63401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired. 63411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_VENDOR_STRING_2 63431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 7 the second four characters of the vendor ID string 63451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_VENDOR_STRING_3 63471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 8 the third four characters of the vendor ID string 63491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_VENDOR_STRING_4 63511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 9 the fourth four characters of the vendor ID sting 63531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_VENDOR_TPM_TYPE 63551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 10 vendor-defined value indicating the TPM model 63571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_FIRMWARE_VERSION_1 63591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 11 the most-significant 32 bits of a vendor-specific value 63611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicating the version of the firmware 63621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_FIRMWARE_VERSION_2 63641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 12 the least-significant 32 bits of a vendor-specific value 63661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicating the version of the firmware 63671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_INPUT_BUFFER 63691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 13 the maximum size of 63711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_MAX_BUFFER) 63721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_TRANSIENT_MIN 63741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 14 the minimum number of transient objects that can be held 63761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin TPM RAM 63771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 63781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_PERSISTENT_MIN 63801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter 63821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(typically, 63841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 63861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis minimum shall be no less than the minimum 63881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue required by the platform-specific specification 63891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto which the TPM is built. 63901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 15 the minimum number of persistent objects that can be 63921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnheld in TPM NV memory 63931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 63941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_LOADED_MIN 63961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 63981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 63991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis minimum shall be no less than the minimum 64001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue required by the platform-specific specification 64011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto which the TPM is built. 64021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 16 the minimum number of authorization sessions that can 64041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe held in TPM RAM 64051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 64061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 42 64081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 64091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis minimum shall be no less than the minimum 64111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue required by the platform-specific specification 64121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto which the TPM is built. 64131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 64151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 64171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 64191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 64211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 64231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 64241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_ACTIVE_SESSIONS_MAX 64251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 64271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 64281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 64301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 17 the number of authorization sessions that may be active at 64321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna time 64331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA session is active when it has a context associated with 64341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnits handle. The context may either be in TPM RAM or be 64351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext saved. 64361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 64371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value shall be no less than the minimum value 64391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired by the platform-specific specification to 64401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhich the TPM is built. 64411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_COUNT 64431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 18 the number of PCR implemented 64451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE This number is determined by the defined 64461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes, not the number of PCR that are populated. 64471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_SELECT_MIN 64491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 19 the 64511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnminimum 64521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber 64531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof 64541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_PCR_SELECT.sizeOfSelect 64551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 64561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_CONTEXT_GAP_MAX 64581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoctets 64601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin 64621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 64641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is not determined by the number of PCR 64661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented but by the number of PCR required by 64671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe platform-specific specification with which the TPM 64681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis compliant. 64691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 20 the maximum allowed difference (unsigned) between the 64711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncontextID values of two saved session contexts 64721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16 64731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value shall be at least 2 -1 (65535). 64751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 21 skipped 64761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_NV_COUNTERS_MAX 64771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 22 the maximum number of NV Indexes that are allowed to 64791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhave the TPMA_NV_COUNTER attribute SET 64801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 64811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIt is allowed for this value to be larger than the 64831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of NV Indexes that can be defined. This 64841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould be indicative of a TPM implementation that did 64851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot use different implementation technology for 64861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndifferent NV Index types. 64871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_NV_INDEX_MAX 64891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 23 the maximum size of an NV Index data area 64911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MEMORY 64931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 24 a TPMA_MEMORY indicating the memory management 64951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmethod for the TPM 64961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_CLOCK_UPDATE 64981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 64991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 25 interval, in milliseconds, between updates to the copy of 65001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CLOCK_INFO.clock in NV 65011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_CONTEXT_HASH 65031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 26 the algorithm used for the integrity HMAC on saved 65051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontexts 65061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 65071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor 65081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhashing 65091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 65101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnfuData 65111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof 65121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_FirmwareRead() 65131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_CONTEXT_SYM 65151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 27 the algorithm used for encryption of saved contexts 65171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_CONTEXT_SYM_SIZE 65191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 28 the size of the key used for encryption of saved contexts 65211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_ORDERLY_COUNT 65231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 29 the modulus - 1 of the count for NV update of an orderly 65251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncounter 65261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe returned value is MAX_ORDERLY_COUNT. 65271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnN 65281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis will have a value of 2 – 1 where 1 ≤ N ≤ 32 65291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 65301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn “orderly counter” is an NV Index with 65321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_COUNTER and TPMA_NV_ORDERLY 65331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnboth SET. 65341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MAX_COMMAND_SIZE 65361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 30 the maximum value for commandSize in a command 65381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MAX_RESPONSE_SIZE 65401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 31 the maximum value for responseSize in a response 65421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MAX_DIGEST 65441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 32 the maximum size of a digest that can be produced by the 65461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM 65471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MAX_OBJECT_CONTEXT 65491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 33 the maximum size of an object context that will be 65511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned by TPM2_ContextSave 65521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 65541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 65551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 65571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 65581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 43 65601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 65611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 65631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 65651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 65671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 65691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 65711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MAX_SESSION_CONTEXT PT_FIXED + 34 the maximum size of a session context that will be 65731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned by TPM2_ContextSave 65741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PS_FAMILY_INDICATOR 65751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 35 platform-specific family (a TPM_PS value)(see Table 24) 65771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 65781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe platform-specific values for the TPM_PT_PS 65801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters are in the relevant platform-specific 65811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification. In the reference implementation, all of 65821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthese values are 0. 65831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PS_LEVEL 65851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 36 the level of the platform-specific specification 65871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PS_REVISION 65891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 37 the specification Revision times 100 for the platformspecific specification 65911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PS_DAY_OF_YEAR 65931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 38 the platform-specific specification day of year using TCG 65951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncalendar 65961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PS_YEAR 65981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 65991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 39 the platform-specific specification year using the CE 66001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_SPLIT_MAX 66021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 40 the number of split signing operations supported by the 66041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM 66051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_TOTAL_COMMANDS 66071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 41 total number of commands implemented in the TPM 66091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_LIBRARY_COMMANDS 66111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 42 number of commands from the TPM library that are 66131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented 66141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_VENDOR_COMMANDS 66161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 43 number of vendor commands that are implemented 66181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_NV_BUFFER_MAX 66201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_FIXED + 44 the maximum data size in one NV write command 66221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR 66241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_GROUP * 2 the group of variable properties returned as 66261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_TAGGED_PROPERTY 66271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe properties in this group change because of a 66281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnProtected Capability other than a firmware update. The 66291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues are not necessarily persistent across all power 66301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransitions. 66311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PERMANENT 66331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 0 66351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_PERMANENT 66371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_STARTUP_CLEAR 66391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 1 66411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_STARTUP_CLEAR 66431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_NV_INDEX 66451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 2 66471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of NV Indexes currently defined 66491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_LOADED 66511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 3 66531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of authorization sessions currently loaded into 66551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM RAM 66561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_LOADED_AVAIL 66581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 4 66601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of additional authorization sessions, of any 66621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntype, that could be loaded into TPM RAM 66631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is an estimate. If this value is at least 1, then at 66641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnleast one authorization session of any type may be 66651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnloaded. Any command that changes the RAM memory 66661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallocation can make this estimate invalid. 66671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 66681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_ACTIVE 66701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 44 66721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 66731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 5 66751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA valid implementation may return 1 even if more 66771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan one authorization session would fit into RAM. 66781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of active authorization sessions currently 66801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbeing tracked by the TPM 66811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the sum of the loaded and saved sessions. 66821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 66841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 66851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 66871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 66881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 66901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 66911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_ACTIVE_AVAIL 66921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 66941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 66951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 66971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 66981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 6 66991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of additional authorization sessions, of any 67011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntype, that could be created 67021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is an estimate. If this value is at least 1, then at 67031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnleast one authorization session of any type may be 67041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncreated. Any command that changes the RAM memory 67051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallocation can make this estimate invalid. 67061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 67071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_TRANSIENT_AVAIL 67091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 7 67111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA valid implementation may return 1 even if more 67131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan one authorization session could be created. 67141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnestimate of the number of additional transient objects that 67161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncould be loaded into TPM RAM 67171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is an estimate. If this value is at least 1, then at 67181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnleast one object of any type may be loaded. Any 67191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand that changes the memory allocation can make 67201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis estimate invalid. 67211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 67221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA valid implementation may return 1 even if more 67241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan one transient object would fit into RAM. 67251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_PERSISTENT 67271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 8 67291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of persistent objects currently loaded into 67311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM NV memory 67321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_HR_PERSISTENT_AVAIL 67341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 9 67361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of additional persistent objects that could be 67381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnloaded into NV memory 67391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is an estimate. If this value is at least 1, then at 67401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnleast one object of any type may be made persistent. Any 67411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand that changes the NV memory allocation can 67421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmake this estimate invalid. 67431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 67441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA valid implementation may return 1 even if more 67461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan one persistent object would fit into NV memory. 67471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_NV_COUNTERS 67491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 10 67511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of defined NV Indexes that have NV 67531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_COUNTER attribute SET 67541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_NV_COUNTERS_AVAIL 67561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 11 67581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of additional NV Indexes that can be defined 67601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith 67611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntheir 67621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_COUNTER 67631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 67641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_ORDERLY attribute SET 67651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is an estimate. If this value is at least 1, then at 67661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnleast one NV Index may be created with the 67671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_COUNTER 67681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 67691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_ORDERLY 67701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes SET. Any command that changes the NV 67711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmemory allocation can make this estimate invalid. 67721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE A valid implementation may return 1 even if more 67731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan one NV counter could be defined. 67741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_ALGORITHM_SET 67761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 12 67781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode that limits the algorithms that may be used with the 67801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM 67811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_LOADED_CURVES 67831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 13 67851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of loaded ECC curves 67871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_LOCKOUT_COUNTER 67891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 14 67911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe current value of the lockout counter (failedTries) 67931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_MAX_AUTH_FAIL 67951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 15 67971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 67981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of authorization failures before DA lockout is 67991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninvoked 68001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_LOCKOUT_INTERVAL 68021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 16 68041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of seconds before the value reported by 68061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_LOCKOUT_COUNTER is decremented 68071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_LOCKOUT_RECOVERY 68091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 17 68111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of seconds after a lockoutAuth failure before 68131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuse of lockoutAuth may be attempted again 68141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_NV_WRITE_RECOVERY 68161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 18 68181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of milliseconds before the TPM will accept 68201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnanother command that will modify NV 68211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is an approximation and may go up or down 68221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnover time. 68231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 68251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 68261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 68281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 68291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 45 68311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 68321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 68341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 68361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 68381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 68401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 68421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_AUDIT_COUNTER_0 68441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 19 68461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe high-order 32 bits of the command audit counter 68481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_AUDIT_COUNTER_1 68501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPT_VAR + 20 68521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe low-order 32 bits of the command audit counter 68541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 46 68561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 68571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 68591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 68601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 68621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 68631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 68651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 68671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.14 TPM_PT_PCR (PCR Property Tag) 68691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM_PT_PCR constants are used in TPM2_GetCapability() to indicate the property being selected 68701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor returned. The PCR properties can be read when capability == TPM_CAP_PCR_PROPERTIES. 68711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 23 — Definition of (UINT32) TPM_PT_PCR Constants <IN/OUT, S> 68721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 68731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 68751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 68771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_FIRST 68791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000000 68811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbottom of the range of TPM_PT_PCR properties 68831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_SAVE 68851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000000 68871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR is 68891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsaved and restored by TPM_SU_STATE 68901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_EXTEND_L0 68921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000001 68941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 68951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 68961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be extended from locality 0 68971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if a locality other than 0 is 68981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented. 68991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_RESET_L0 69011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000002 69031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be reset by TPM2_PCR_Reset() from locality 0 69061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_EXTEND_L1 69081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000003 69101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be extended from locality 1 69131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if locality 1 is implemented. 69141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_RESET_L1 69161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000004 69181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be reset by TPM2_PCR_Reset() from locality 1 69211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if locality 1 is implemented. 69221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_EXTEND_L2 69241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000005 69261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be extended from locality 2 69291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if localities 1 and 2 are 69301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented. 69311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_RESET_L2 69331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000006 69351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be reset by TPM2_PCR_Reset() from locality 2 69381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if localities 1 and 2 are 69391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented. 69401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_EXTEND_L3 69421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000007 69441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be extended from locality 3 69471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if localities 1, 2, and 3 are 69481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented. 69491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_RESET_L3 69511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000008 69531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be reset by TPM2_PCR_Reset() from locality 3 69561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if localities 1, 2, and 3 are 69571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented. 69581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_EXTEND_L4 69601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000009 69621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be extended from locality 4 69651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if localities 1, 2, 3, and 4 are 69661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented. 69671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_RESET_L4 69691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000A 69711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR 69731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be reset by TPM2_PCR_Reset() from locality 4 69741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if localities 1, 2, 3, and 4 are 69751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplemented. 69761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 69781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 69791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 69811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 69821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 47 69841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 69851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 69871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 69891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 69901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 69921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 69941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 69961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 69971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000B – the values in this range are reserved 69981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000010 They correspond to values that may be used to describe 69991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes associated with the extended localities (32255).synthesize additional software localities. The meaning of 70001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthese properties need not be the same as the meaning for the 70011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExtend and Reset properties above. 70021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_NO_INCREMENT 70041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000011 70061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that 70081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmodifications to this PCR (reset or Extend) will not increment 70091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe pcrUpdateCounter 70101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_DRTM_RESET 70121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000012 70141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR is 70161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreset by a DRTM event 70171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese PCR are reset to -1 on TPM2_Startup() and reset to 0 on 70181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna _TPM_Hash_End event following a _TPM_Hash_Start event. 70191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_POLICY 70211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000013 70231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR is 70251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontrolled by policy 70261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if the TPM supports policy control 70271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof a PCR. 70281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_AUTH 70301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000014 70321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna SET bit in the TPMS_PCR_SELECT indicates that the PCR is 70341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontrolled by an authorization value 70351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis property is only present if the TPM supports authorization 70361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontrol of a PCR. 70371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000015 70411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved for the next (2 ) TPM_PT_PCR_POLICY set 70431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000016 70471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved for the next (2 ) TPM_PT_PCR_AUTH set 70491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnd 70531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnd 70541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnd 70561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 70581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000017 – reserved for the 2 through 255 TPM_PT_PCR_POLICY and 70601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000210 TPM_PT_PCR_AUTH values 70611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 70621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 70641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhighest 70661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed, 70681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnth 70701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 70721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhighest 70741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed, 70761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000211 70801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto 70831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 70841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn256 , 70851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_POLICY set 70861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000212 70901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto 70931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 70941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn256 , 70951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_AUTH set 70961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved 70981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 70991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000213 71001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnew PCR property values may be assigned starting with this 71021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue 71031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_LAST 71051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000014 71071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntop of the range of TPM_PT_PCR properties of the 71091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation 71101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the TPM receives a request for a PCR property with a value 71111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlarger than this, the TPM will return a zero length list and set the 71121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnmoreData parameter to NO. 71131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 71141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 48 71161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 71171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is an implementation-specific value. The value shown 71191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreflects the reference code implementation. 71201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 71221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 71231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 71251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 71261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 71281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 71301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6.15 TPM_PS (Platform Specific) 71321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe platform values in Table 24 are used for the TPM_PT_PS_FAMILY_INDICATOR. 71331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 71341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues below six (6) have the same values as the purview assignments in TPM 1.2. 71361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 24 — Definition of (UINT32) TPM_PS Constants <OUT> 71381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapability Name 71391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 71411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 71431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_MAIN 71451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000000 71471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot platform specific 71491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_PC 71511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000001 71531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPC Client 71551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_PDA 71571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000002 71591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPDA (includes all mobile devices that are not specifically cell 71611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnphones) 71621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_CELL_PHONE 71641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000003 71661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCell Phone 71681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_SERVER 71701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000004 71721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnServer WG 71741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_PERIPHERAL 71761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000005 71781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPeripheral WG 71801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_TSS 71821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000006 71841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTSS WG 71861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_STORAGE 71881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000007 71901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStorage WG 71921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_AUTHENTICATION 71941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000008 71961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAuthentication WG 71981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 71991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_EMBEDDED 72001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00000009 72021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEmbedded WG 72041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_HARDCOPY 72061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000A 72081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHardcopy WG 72101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_INFRASTRUCTURE 72121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000B 72141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnInfrastructure WG 72161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_VIRTUALIZATION 72181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000C Virtualization WG 72201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_TNC 72221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000D Trusted Network Connect WG 72241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_MULTI_TENANT 72261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000E 72281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMulti-tenant WG 72301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PS_TC 72321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x0000000F 72341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTechnical Committee 72361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 72381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 72391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 72411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 72421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 49 72441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 72451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 72471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 72491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 72511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHandles 72531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.1 72551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 72571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHandles are 32-bit values used to reference shielded locations of various types within the TPM. 72591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 25 — Definition of Types for Handles 72601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 72611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 72631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 72651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 72671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HANDLE 72691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHandles may refer to objects (keys or data blobs), authorization sessions (HMAC and policy), NV 72711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndexes, permanent TPM locations, and PCR. 72721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.2 72731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT (Handle Types) 72751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe 32-bit handle space is divided into 256 regions of equal size with 2 72771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnranges represents a handle type. 72781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn24 72801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues in each. Each of these 72821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe type of the entity is indicated by the MSO of its handle. The values for the MSO and the entity 72841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreferenced are shown in Table 26. 72851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 26 — Definition of (UINT8) TPM_HT Constants <S> 72861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 72871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 72891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 72911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_PCR 72931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00 72951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 72961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR – consecutive numbers, starting at 0, that reference the PCR 72971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnregisters 72981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA platform-specific specification will set the minimum number of PCR 72991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand an implementation may have more. 73001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_NV_INDEX 73021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x01 73041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV Index – assigned by the caller 73061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_HMAC_SESSION 73081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x02 73101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC Authorization Session – assigned by the TPM when the 73121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession is created 73131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_LOADED_SESSION 73151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x02 73171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoaded Authorization Session – used only in the context of 73191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability 73201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type references both loaded HMAC and loaded policy 73211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization sessions. 73221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_POLICY_SESSION 73241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x03 73261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy Authorization Session – assigned by the TPM when the 73281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession is created 73291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_ACTIVE_SESSION 73311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x03 73331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnActive Authorization Session – used only in the context of 73351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability 73361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type references saved authorization session contexts for which 73371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM is maintaining tracking information. 73381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_PERMANENT 73401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40 73421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPermanent Values – assigned by this specification in Table 27 73441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_TRANSIENT 73461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x80 73481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTransient Objects – assigned by the TPM when an object is loaded 73501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninto transient-object memory or when a persistent object is converted 73511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto a transient object 73521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_PERSISTENT 73541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x81 73561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPersistent Objects – assigned by the TPM when a loaded transient 73581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject is made persistent 73591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 50 73611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 73621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 73641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 73651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 73671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 73681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 73701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 73721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a transient object is loaded, the TPM shall assign a handle with an MSO of TPM_HT_TRANSIENT. 73741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe object may be assigned a different handle each time it is loaded. The TPM shall ensure that handles 73751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassigned to transient objects are unique and assigned to only one transient object at a time. 73761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 73771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf a TPM is only able to hold 4 transient objects in internal memory, it might choose to assign handles to 73791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthose objects with the values 80 00 00 0016 – 80 00 00 0316. 73801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a transient object is converted to a persistent object (TPM2_EvictControl()), the TPM shall validate 73821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat the handle provided by the caller has an MSO of TPM_HT_PERSISTENT and that the handle is not 73831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalready assigned to a persistent object. 73841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA handle is assigned to a session when the session is started. The handle shall have an MSO equal to 73851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_SESSION and remain associated with that session until the session is closed or flushed. The 73861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM shall ensure that a session handle is only associated with one session at a time. When the session 73871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis loaded into the TPM using TPM2_LoadContext(), it will have the same handle each time it is loaded. 73881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 73891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.3 73911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf a TPM is only able to track 64 active sessions at a time, it could number those sessions using the 73931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues xx 00 01 0016 – xx 00 01 3F 16 where xx is either 02 16 or 03 16 depending on the session type. 73941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPersistent Handle Sub-ranges 73961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 73971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPersistent handles are assigned by the caller of TPM2_EvictControl(). ownerAuth or platformAuth is 73981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired to authorize allocation of space for a persistent object. These entities are given separate ranges 73991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof persistent handles so that they do not have to allocate from a common range of handles. 74001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 74011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhile this “namespace” allocation of the handle ranges could have been handled by convention, TPM 74031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnenforcement is used to prevent errors by the OS or malicious software from affecting the platform’s use of 74041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe NV memory. 74051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe Owner is allocated persistent handles in the range of 81 00 00 0016 to 81 7F FF FF16 inclusive and 74071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM will return an error if ownerAuth is used to attempt to assign a persistent handle outside of this 74081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange. 74091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 74111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 74121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 74141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 74151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 51 74171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 74181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 74201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.4 74211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 74231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH (Permanent Handles) 74251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 27 lists the architecturally defined handles that cannot be changed. The handles include 74271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization handles, and special handles. 74281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 27 — Definition of (UINT32) TPM_RH Constants <IN, S> 74291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 74301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 74321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 74341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_FIRST 74361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000000 74381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 74401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_SRK 74421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000000 74441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 74461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 74481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000001 74501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnK, A, P 74521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_REVOKE 74541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000002 74561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 74581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot used 74601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 74621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_TRANSPORT 74641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000003 74661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 74681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot used 74701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 74721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OPERATOR 74741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000004 74761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 74781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot used 74801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 74821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ADMIN 74841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000005 74861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 74881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot used 74901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 74921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_EK 74941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000006 74961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 74981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 74991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot used 75001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 75021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_NULL 75041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000007 75061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnK, A, P 75081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna handle associated with the null hierarchy, an EmptyAuth 75101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthValue, and an Empty Policy authPolicy. 75111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_UNASSIGNED 75131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000008 75151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 75171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue reserved to the TPM to indicate a handle location that 75191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhas not been initialized or assigned 75201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RS_PW 75221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x40000009 75241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnS 75261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization value 75281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization session 75291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_LOCKOUT 75311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x4000000A 75331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA 75351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreferences the authorization associated with the dictionary 75371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattack lockout reset 75381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT 75401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x4000000B 75421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnK, A, P 75441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreferences the Endorsement Primary 75461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnendorsementAuth, and endorsementPolicy 75471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 75491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x4000000C 75511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnK, A, P 75531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreferences the Platform Primary Seed (PPS), platformAuth, 75551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand platformPolicy 75561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM_NV 75581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x4000000D 75601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnC 75621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor phEnableNV 75641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR 75661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe top of the reserved handle area 75681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is set to allow TPM2_GetCapability() to know where to 75691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstop. It may vary as implementations add to the permanent 75701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle area. 75711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_LAST 75731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x4000000D 75751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 75771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot used 75791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 75811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle references the Storage Primary Seed (SPS), the 75831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnownerAuth, and the ownerPolicy 75841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused 75861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto 75881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicate 75901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 75921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpassword 75941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSeed 75961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(EPS), 75981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 75991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType definitions: 76001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnR – a reserved value 76011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnK – a Primary Seed 76021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA – an authorization value 76031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnP – a policy value 76041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnS – a session handle 76051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnC - a controlNote 1 The handle is only used in a TPM that is compatible with a previous version of this specification. It is not used 76061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin any command defined in this version of the specification. 76071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 52 76091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 76101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 76121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 76131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 76151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 76161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 76181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7.5 76191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 76211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HC (Handle Value Constants) 76231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe definitions in Table 28 are used to define many of the interface data types. However, the values of 76251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthese constants, other than PCR_FIRST, are informative and may be changed by an implementation as 76261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlong as the values stay within the prescribed ranges for the handle type. 76271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 76281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR0 is architecturally defined to have a handle value of 0. 76301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor the reference implementation, the handle range for sessions starts at the lowest allowed value for a 76321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession handle. The highest value for a session handle is determined by how many active sessions are 76331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed by the implementation. The MSO of the session handle will be set according to the session type. 76341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA similar approach is used for transient objects with the first assigned handle at the bottom of the range 76351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined by TPM_HT_TRANSIENT and the top of the range determined by the implementation-dependent 76361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue of MAX_LOADED_OBJECTS. 76371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe first assigned handle for evict objects is also at the bottom of the allowed range defined by 76381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_PERSISTENT and the top of the range determined by the implementation-dependent value of 76391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_EVICT_OBJECTS. 76401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 76411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe values in Table 28 are intended to facilitate the process of making the handle larger than 32 bits in 76431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe future. It is intended that HR_MASK and HR_SHIFT are the only values that need change to resize 76441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe handle space. 76451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 76471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 76481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 76501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 76511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 53 76531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 76541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 76561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 76581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 28 — Definition of (TPM_HANDLE) TPM_HC Constants <IN, S> 76601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 76611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 76631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 76651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_HANDLE_MASK 76671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00FFFFFF 76691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto mask off the HR 76711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_RANGE_MASK 76731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0xFF000000 76751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto mask off the variable 76771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpart 76781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_SHIFT 76801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn24 76821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_PCR 76841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_HT_PCR << HR_SHIFT) 76861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_HMAC_SESSION 76881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_HT_HMAC_SESSION << HR_SHIFT) 76901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_POLICY_SESSION 76921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_HT_POLICY_SESSION << HR_SHIFT) 76941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_TRANSIENT 76961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_HT_TRANSIENT << HR_SHIFT) 76981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 76991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_PERSISTENT 77001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_HT_PERSISTENT << HR_SHIFT) 77021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_NV_INDEX 77041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_HT_NV_INDEX << HR_SHIFT) 77061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHR_PERMANENT 77081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_HT_PERMANENT << HR_SHIFT) 77101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_FIRST 77121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HR_PCR + 0) 77141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst PCR 77161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_LAST 77181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(PCR_FIRST + IMPLEMENTATION_PCR-1) 77201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlast PCR 77221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC_SESSION_FIRST 77241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HR_HMAC_SESSION + 0) 77261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst HMAC session 77281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC_SESSION_LAST 77301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HMAC_SESSION_FIRST+MAX_ACTIVE_SESSIONS-1) 77321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlast HMAC session 77341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLOADED_SESSION_FIRST HMAC_SESSION_FIRST 77361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused in GetCapability 77381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLOADED_SESSION_LAST 77401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC_SESSION_LAST 77421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused in GetCapability 77441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPOLICY_SESSION_FIRST 77461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HR_POLICY_SESSION + 0) 77481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst policy session 77501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPOLICY_SESSION_LAST 77521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(POLICY_SESSION_FIRST + MAX_ACTIVE_SESSIONS-1) last policy session 77541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTRANSIENT_FIRST 77561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HR_TRANSIENT + 0) 77581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst transient object 77601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnACTIVE_SESSION_FIRST 77621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPOLICY_SESSION_FIRST 77641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused in GetCapability 77661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnACTIVE_SESSION_LAST 77681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPOLICY_SESSION_LAST 77701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused in GetCapability 77721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTRANSIENT_LAST 77741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TRANSIENT_FIRST+MAX_LOADED_OBJECTS-1) 77761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlast transient object 77781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPERSISTENT_FIRST 77801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HR_PERSISTENT + 0) 77821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst persistent object 77841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPERSISTENT_LAST 77861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(PERSISTENT_FIRST + 0x00FFFFFF) 77881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlast persistent object 77901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPLATFORM_PERSISTENT 77921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(PERSISTENT_FIRST + 0x00800000) 77941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst platform persistent 77961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject 77971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 77981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_INDEX_FIRST 77991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(HR_NV_INDEX + 0) 78011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst allowed NV Index 78031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_INDEX_LAST 78051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(NV_INDEX_FIRST + 0x00FFFFFF) 78071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlast allowed NV Index 78091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPERMANENT_FIRST 78111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_FIRST 78131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPERMANENT_LAST 78151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_LAST 78171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 54 78191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 78201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 78221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 78231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 78251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 78261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 78281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 78301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAttribute Structures 78321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 78341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.1 78351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 78371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAttributes are expressed as bit fields of varying size. An attribute field structure may be 1, 2, or 4 octets in 78391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlength. 78401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe bit numbers for an attribute structure are assigned with the number 0 assigned to the least-significant 78411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbit of the structure and the highest number assigned to the most-significant bit of the structure. 78421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe least significant bit is determined by treating the attribute structure as an integer. The least-significant 78431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbit would be the bit that is set when the value of the integer is 1. 78441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen any reserved bit in an attribute is SET, the TPM shall return TPM_RC_RESERVED_BITS. This 78451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code is not shown in the tables for attributes. 78461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.2 78471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_ALGORITHM 78491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure defines the attributes of an algorithm. 78511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEach algorithm has a fundamental attribute: asymmetric, symmetric, or hash. In some cases (e.g., 78521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA or TPM_ALG_AES), this is the only attribute. 78531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA mode, method, or scheme may have an associated asymmetric, symmetric, or hash algorithm. 78541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 29 — Definition of (UINT32) TPMA_ALGORITHM Bits 78551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 78561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 78581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 78601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 78621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnasymmetric 78641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): an asymmetric algorithm with public and private portions 78661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): not an asymmetric algorithm 78671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 78691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric 78711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): a symmetric block cipher 78731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): not a symmetric block cipher 78741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 78761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash 78781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): a hash algorithm 78801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): not a hash algorithm 78811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 78831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject 78851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): an algorithm that may be used as an object type 78871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): an algorithm that is not used as an object type 78881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7:4 78901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 78921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 78941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigning 78961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 78971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): a signing algorithm. The setting of asymmetric, symmetric, and hash 78981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwill indicate the type of signing algorithm. 78991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): not a signing algorithm 79001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9 79021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencrypting 79041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): an encryption/decryption algorithm. The setting of asymmetric, 79061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric, and hash will indicate the type of encryption/decryption algorithm. 79071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): not an encryption/decryption algorithm 79081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10 79101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmethod 79121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): a method such as a key derivative function (KDF) 79141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): not a method 79151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:11 Reserved 79171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3 79191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.1 79201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_OBJECT (Object Attributes) 79221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 79231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 79251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 79261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 79281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 79291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 55 79311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 79321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 79341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 79361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute structure indicates an object’s use, its authorization types, and it relationship to other 79381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects. 79391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe state of the attributes is determined when the object is created and they are never changed by the 79401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM. Additionally, the setting of these structures is reflected in the integrity value of the private area of an 79411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject in order to allow the TPM to detect modifications of the Protected Object when stored off the TPM. 79421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.2 79431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure Definition 79451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 30 — Definition of (UINT32) TPMA_OBJECT Bits 79461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 79481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 79501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 79521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 79541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 79561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 79581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 79601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnfixedTPM 79621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The hierarchy of the object, as indicated by its Qualified Name, may 79641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot change. 79651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The hierarchy of the object may change as a result of this object or 79661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan ancestor key being duplicated for use in another hierarchy. 79671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 79691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnstClear 79711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Previously saved contexts of this object may not be loaded after 79731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStartup(CLEAR). 79741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Saved contexts of this object may be used after a 79751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnShutdown(STATE) and subsequent Startup(). 79761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 79781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 79801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 79821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 79841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnfixedParent 79861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The parent of the object may not change. 79881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The parent of the object may change as the result of a 79891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Duplicate() of the object. 79901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 79921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsensitiveDataOrigin 79941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 79951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Indicates that, when the object was created with TPM2_Create() or 79961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_CreatePrimary(), the TPM generated all of the sensitive data other than 79971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe authValue. 79981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): A portion of the sensitive data, other than the authValue, was 79991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovided by the caller. 80001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 80021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnuserWithAuth 80041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Approval of USER role actions with this object may be with an HMAC 80061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession or with a password using the authValue of the object or a policy 80071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession. 80081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Approval of USER role actions with this object may only be done 80091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith a policy session. 80101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 80121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnadminWithPolicy 80141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Approval of ADMIN role actions with this object may only be done with 80161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna policy session. 80171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Approval of ADMIN role actions with this object may be with an 80181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC session or with a password using the authValue of the object or a policy 80191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession. 80201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9:8 80221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 80241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 80261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10 80281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnnoDA 80301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The object is not subject to dictionary attack protections. 80321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The object is subject to dictionary attack protections. 80331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11 80351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnencryptedDuplication 80371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): If the object is duplicated, then symmetricAlg shall not be 80391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL and newParentHandle shall not be TPM_RH_NULL. 80401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The object may be duplicated without an inner wrapper on the 80411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprivate portion of the object and the new parent may be TPM_RH_NULL. 80421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15:12 Reserved 80441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16 80451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrestricted 80471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 56 80491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 80501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 80521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Key usage is restricted to manipulate structures of known format; the 80531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparent of this key shall have restricted SET. 80541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Key usage is not restricted to use on special formats. 80551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 80571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 80581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 80601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 80611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 80631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 80651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 80671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 80691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 80711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn17 80731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecrypt 80751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The private portion of the key may be used to decrypt. 80771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The private portion of the key may not be used to decrypt. 80781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn18 80801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsign 80821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The private portion of the key may be used to sign. 80841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The private portion of the key may not be used to sign. 80851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:19 Reserved 80871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3 80891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.1 80901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 80921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAttribute Descriptions 80941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 80951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 80961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe following remaining paragraphs in this clause describe the use and settings for each of the 80971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_OBJECT attributes. The description includes checks that are performed on the objectAttributes 80981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen an object is created, when it is loaded, and when it is imported. In these descriptions: 80991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 81001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates 81021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsettings 81031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor 81041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_CreatePrimary() 81051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 81071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntemplate 81091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter 81111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin 81131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Create() 81151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor 81171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 81191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 81211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates settings for the inPublic parameter in TPM2_Load() 81231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 81251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 81271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates settings for the objectPublic parameter in TPM2_Import() 81291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 81311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 81331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates settings that apply to the inPublic parameter in TPM2_LoadExternal() if both the 81351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpublic and sensitive portions of the object are loaded 81361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 81381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor TPM2_LoadExternal() when only the public portion of the object is loaded, the only attribute checks 81401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnare the checks in the validation code following Table 30 and the reserved attributes check. 81411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor any consistency error of attributes in TPMA_OBJECT, the TPM shall return TPM_RC_ATTRIBUTES. 81431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.2 81441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[1] – fixedTPM 81461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen SET, the object cannot be duplicated for use on a different TPM, either directly or indirectly and the 81481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnQualified Name of the object cannot change. When CLEAR, the object’s Qualified Name may change if 81491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe object or an ancestor is duplicated. 81501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 81511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute is the logical inverse of the migratable attribute in 1.2. That is, when this attribute is C LEAR, 81531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnit is the equivalent to a 1.2 object with migratable SET. 81541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 81561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf fixedTPM is SET in the object's parent, then fixedTPM and fixedParent shall both be 81581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset to the same value in template. If fixedTPM is CLEAR in the parent, this attribute shall 81591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalso be CLEAR in template. 81601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 81611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a Primary Object, the parent is considered to have fixedTPM SET. 81631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 81651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 81671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf fixedTPM is SET in the object's parent, then fixedTPM and fixedParent shall both be 81691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset to the same value. If fixedTPM is CLEAR in the parent, this attribute shall also be 81701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR. 81711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 81731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 81751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR 81771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 81791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 81811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR if both the public and sensitive portions are loaded or if fixedParent is 81831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR, otherwise may be SET or CLEAR 81841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 81861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 81871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 81891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 81901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 57 81921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 81931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 81951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.3 81961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 81981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 81991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[2] – stClear 82001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET, then saved contexts of this object will be invalidated on 82021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Startup(TPM_SU_CLEAR). If the attribute is CLEAR, then the TPM shall not invalidate the saved 82031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext if the TPM received TPM2_Shutdown(TPM_SU_STATE). If the saved state is valid when checked 82041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnat the next TPM2_Startup(), then the TPM shall continue to be able to use the saved contexts. 82051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 82061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR in template 82081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 82101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 82141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 82161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 82201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 82221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 82261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.4 82281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[4] – fixedParent 82301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET, the object’s parent may not be changed. That is, this object may not be the object 82321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof a TPM2_Duplicate(). If this attribute is CLEAR, then this object may be the object of a 82331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Duplicate(). 82341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 82351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR in template 82371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 82391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 82431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 82451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR 82491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 82511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR if both the public and sensitive portions are loaded; otherwise it may be 82551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET or CLEAR 82561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.5 82581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[5] – sensitiveDataOrigin 82601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute is SET for any key that was generated by TPM in TPM2_Create() or 82621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_CreatePrimary(). If CLEAR, it indicates that the sensitive part of the object (other than the 82631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobfuscation value) was provided by the caller. 82641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 82651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the fixedTPM attribute is SET, then this attribute is authoritative and accurately reflects the source of 82671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe sensitive area data. If the fixedTPM attribute is CLEAR, then validation of this attribute requires 82681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnevaluation of the properties of the ancestor keys. 82691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 82711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf inSensitive.sensitive.data.size is zero, then this attribute shall be SET in the template; 82731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnotherwise, it shall be CLEAR in the template. 82741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 82761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe inSensitive.sensitive.data.size parameter is required to be zero for an asymmetric key so 82781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsensitiveDataOrigin is required to be SET. 82791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 3 82811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe inSensitive.sensitive.data.size parameter may not be zero for a data object so sensitiveDataOrigin is 82831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired to be CLEAR. A data object has type = TPM_ALG_KEYEDHASH and its sign and decrypt 82841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes are CLEAR. 82851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 82871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 82911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 82931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 82951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 82971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 82981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 82991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 83011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 83031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 58 83051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 83061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 83081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 83091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 83111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 83121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 83141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.6 83151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 83171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[6] – userWithAuth 83191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf SET, authorization for operations that require USER role authorization may be given if the caller 83211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovides proof of knowledge of the authValue of the object with an HMAC authorization session or a 83221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpassword. 83231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is CLEAR, then then HMAC or password authorizations may not be used for USER role 83241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorizations. 83251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 83261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRegardless of the setting of this attribute, authorizations for operations th at require USER role 83281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorizations may be provided with a policy session that satisfies the object's authPolicy. 83291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 83311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRegardless of the setting of this attribute, the authValue may be referenced in a policy session or used to 83331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovide the bind value in TPM2_StartAuthSession(). However, if userWithAuth is CLEAR, then the object 83341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be used as the bind object in TPM2_StartAuthSession() but the session cannot be used to authorize 83351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnactions on the object. If this were allowed, then the userWithAuth control could be circumvented simply by 83361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnusing the object as the bind object. 83371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 83391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR in template 83411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 83431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 83451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 83471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 83491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 83511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 83531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 83551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 83571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 83591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.7 83611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[7] – adminWithPolicy 83631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf CLEAR, authorization for operations that require ADMIN role may be given if the caller provides proof of 83651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnknowledge of the authValue of the object with an HMAC authorization session or a password. 83661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET, then then HMAC or password authorizations may not be used for ADMIN role 83671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorizations. 83681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 83691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRegardless of the setting of this attribute, operations that require ADMIN role authorization may be 83711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovided by a policy session that satisfies the object's authPolicy. 83721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 83741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute is similar to userWithAuth but the logic is a bit different. When userWithAuth is CLEAR, the 83761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthValue may not be used for USER mode authorizations. When adminWithPolicy is CLEAR, it means 83771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat the authValue may be used for ADMIN role. Policy may always be used regardless of t he setting of 83781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnuserWithAuth or adminWithPolicy. 83791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnActions that always require policy (TPM2_Duplicate()) are not affected by the setting of this attribute. 83811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 83821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR in template 83841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 83861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 83881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 83901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 83921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 83941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 83961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 83981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 83991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 84001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 84021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.8 84041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[10] – noDA 84061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf SET, then authorization failures for the object do not affect the dictionary attack protection logic and 84081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization of the object is not blocked if the TPM is in lockout. 84091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 84101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR in template 84121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 84141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 84161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 84181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 84201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 84221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 84241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 84261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 84281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 84301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 84321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 84331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 84351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 84361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 59 84381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 84391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 84411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.9 84421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 84441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[11] – encryptedDuplication 84461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf SET, then when the object is duplicated, the sensitive portion of the object is required to be encrypted 84481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith an inner wrapper and the new parent shall be an asymmetric key and not TPM_RH_NULL 84491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 84501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEnforcement of these requirements in TPM2_Duplicate() is by not allowing symmetricAlg to be 84521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL and newParentHandle may not be TPM_RH_NULL. 84531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute shall not be SET in any object that has fixedTPM SET. 84551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 84561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis requirement means that encryptedDuplication may not be SET if the object cannot be directly or 84581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindirectly duplicated. 84591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf an object's parent has fixedTPM SET, and the object is duplicable (fixedParent == CLEAR), then 84611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnencryptedDuplication may be SET or CLEAR in the object. 84621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 3 84631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis allows the object at the boundary between duplicable and non -duplicable objects to have either 84651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsetting. 84661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf an object's parent has fixedTPM CLEAR, then the object is required to have the same setting of 84681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnencryptedDuplication as its parent. 84691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 4 84701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis requirement forces all 84721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnencryptedDuplication setting. 84731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnduplicable 84751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects 84771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin 84791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 84811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnduplication 84831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngroup 84851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto 84871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhave 84891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 84911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsame 84931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 84951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 84961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR if fixedTPM is SET. If fixedTPM is CLEAR, then this attribute shall have 84971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe same value as its parent unless fixedTPM is SET in the object's parent, in which 84981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncase, it may be SET or CLEAR. 84991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 85011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 85031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR if fixedTPM is SET. If fixedTPM is CLEAR, then this attribute shall have 85051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe same value as its parent, unless fixedTPM is SET the parent, in which case, it may 85061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe SET or CLEAR. 85071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 85091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 85111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif fixedTPM is SET in the object's new parent, then this attribute may be SET or CLEAR, 85131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnotherwise, it shall have the same setting as the new parent. 85141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 85161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 85181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR. 85201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.10 85221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[16] – restricted 85241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis this attribute modifies the decrypt and sign attributes of an object. 85261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 85271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA key with this object CLEAR may not be a parent for another object. 85291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 85311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR in template if neither sign nor decrypt is SET in template. 85331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 85351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 85371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR if neither sign nor decrypt is SET in the object 85391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 85411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 85431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 85451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 85471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 85491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR 85511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 60 85531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 85541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 85561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 85571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 85591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 85601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 85621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.11 85631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 85651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[17] – decrypt 85671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen SET, the private portion of this key can be used to decrypt an external blob. If restricted is SET, 85691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthen the TPM will return an error if the external decrypted blob is not formatted as appropriate for the 85701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand. 85711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 85721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSince TPM-generated keys and sealed data will contain a hash and a structure tag, the TPM can ensure 85741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat it is not being used to improperly decrypt and return sensitive data that should not be returned. The 85751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnonly type of data that may be returned after decryption is a Sealed Data Object (a keyedHash object with 85761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecrypt and sign CLEAR). 85771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen restricted is CLEAR, there are no restrictions on the use of the private portion of the key for 85791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecryption and the key may be used to decrypt and return any structure encrypted by the public portion of 85801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe key. 85811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 85821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA key with this attribute SET may be a parent for another object if restricted is SET and sign is CLEAR. 85841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf decrypt is SET on an object with type set to TPM_ALG_KEYEDHASH, it indicates that the object is an 85861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnXOR encryption key. 85871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 85881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR in template 85901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 85921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 85941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 85961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 85981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 85991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 86001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 86021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 86041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 86061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR 86081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.3.3.12 86101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[18] – sign 86121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen this attribute is SET, the private portion of this key may be used to sign a digest. If restricted is 86141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET, then the key may only be used to sign a digest that was computed by the TPM. A restricted signing 86151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey may be used to sign a TPM-generated digest. If a structure is generated by the TPM, it will begin with 86161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_GENERATED_VALUE and the TPM may sign the digest of that structure. If the data is externally 86171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsupplied and has TPM_GENERATED_VALUE as its first octets, then the TPM will not sign a digest of 86181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat data with a restricted signing key. 86191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf restricted is CLEAR, then the key may be used to sign any digest, whether generated by the TPM or 86201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexternally provided. 86211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 86221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSome asymmetric algorithms may not support both sign and decrypt being SET in the same key. 86241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf sign is SET on an object with type set to TPM_ALG_KEYEDHASH, it indicates that the object is an 86261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC key. 86271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 86281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA key with this attribute SET may not be a parent for another object. 86301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreation – 86321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall not be SET if decrypt and restricted are both SET 86341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 86361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 86381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall not be SET if decrypt and restricted are both SET 86401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 86421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 86441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall not be SET if decrypt and restricted are both SET 86461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExternal 86481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn– 86501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall not be SET if decrypt and restricted are both SET 86521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 86541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 86551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 86571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 86581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 61 86601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 86611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 86631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.4 86641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 86661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_SESSION (Session Attributes) 86681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis octet in each session is used to identify the session type, indicate its relationship to any handles in 86701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe command, and indicate its use in parameter encryption. 86711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 31 — Definition of (UINT8) TPMA_SESSION Bits <IN/OUT> 86721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 86731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 86751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMeaning 86771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 86791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncontinueSession 86811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): In a command, this setting indicates that the session is to remain active 86831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnafter successful completion of the command. In a response, it indicates that the 86841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession is still active. If SET in the command, this attribute shall be SET in the 86851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse. 86861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): In a command, this setting indicates that the TPM should close the 86871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession and flush any related context when the command completes successfully. In 86881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna response, it indicates that the session is closed and the context is no longer active. 86891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute has no meaning for a password authorization and the TPM will allow 86901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnany setting of the attribute in the command and SET the attribute in the response. 86911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute will only be CLEAR in one response for a logical session. If the attribute 86921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis CLEAR, the context associated with the session is no longer in use and the space 86931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis available. A session created after another session is ended may have the same 86941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle but logically is not the same session. 86951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute has no effect if the command does not complete successfully. 86961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 86981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 86991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauditExclusive 87001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): In a command, this setting indicates that the command should only be 87021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexecuted if the session is exclusive at the start of the command. In a response, it 87031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates that the session is exclusive. This setting is only allowed if the audit 87041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattribute is SET. 87051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): If audit is CLEAR, then this field is reserved but the error is 87061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_ATTRIBUTES rather than TPM_RC_RESERVED_BITS. 87071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee "Exclusive Audit Session" clause in Part 1. 87081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 87101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauditReset 87121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): In a command, this setting indicates that the audit digest of the session 87141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshould be initialized and the exclusive status of the session SET. 87151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): If audit is CLEAR, then this field is reserved but the error is 87161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_ATTRIBUTES rather than TPM_RC_RESERVED_BITS. This setting is 87171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalways used for a response. 87181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4:3 87201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 87221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR 87241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecrypt 87261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): In a command, this setting indicates that the first parameter in the command 87281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis symmetrically encrypted using the parameter encryption scheme described in Part 87291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1. The TPM will decrypt the parameter after performing any HMAC computations and 87301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbefore unmarshaling the parameter. In a response, the attribute is copied from the 87311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequest but has no effect on the response. 87321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Session not used for encryption. 87331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 87351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a password authorization, this attribute will be CLEAR in both the command and 87371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse. 87381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may only be SET in one session per command. 87391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may be SET in a session that is not associated with a command 87401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle. Such a session is provided for purposes of encrypting a parameter and not 87411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor authorization. 87421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may be SET in combination with any other session attributes. 87431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may only be SET if the first parameter of the command is a sized buffer 87441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM2B_). 87451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 62 87471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 87481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 87501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 87511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 87531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 87541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 87561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 87581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 87601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 87621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMeaning 87641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 87661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencrypt 87681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): In a command, this setting indicates that the TPM should use this session to 87701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencrypt the first parameter in the response. In a response, it indicates that the 87711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattribute was set in the command and that the TPM used the session to encrypt the 87721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirst parameter in the response using the parameter encryption scheme described in 87731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 1 of this specification. 87741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Session not used for encryption. 87751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a password authorization, this attribute will be CLEAR in both the command and 87761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse. 87771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may only be SET in one session per command. 87781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may be SET in a session that is not associated with a command 87791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle. Such a session is provided for purposes of encrypting a parameter and not 87801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor authorization. 87811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may only be SET if the first parameter of a response is a sized buffer 87821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM2B_). 87831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7 87851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): In a command or response, this setting indicates that the session is for audit 87871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand that auditExclusive and auditReset have meaning. This session may also be 87881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused for authorization, encryption, or decryption. The encrypted and encrypt fields 87891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be SET or CLEAR. 87901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Session is not used for audit. 87911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaudit 87931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may only be SET in one session per command or response. If SET in 87951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe command, then this attribute will be SET in the response. 87961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.5 87981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 87991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_LOCALITY (Locality Attribute) 88001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn a TPMS_CREATION_DATA structure, this structure is used to indicate the locality of the command that 88021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncreated the object. No more than one of the locality attributes shall be set in the creation data. 88031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen used in TPM2_PolicyLocality(), this structure indicates which localities are approved by the policy. 88041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a policy is started, all localities are allowed. If TPM2_PolicyLocality() is executed, it indicates that 88051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe command may only be executed at specific localities. More than one locality may be selected. 88061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 88071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_TWO would indicate that only locality 2 is authorized. 88091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 88111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_ONE + TPM_LOC_TWO would indicate that locality 1 or 2 is authorized. 88131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 88151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_FOUR + TPM_LOC_THREE would indicate that localities 3 or 4 are authorized. 88171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 4 88191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value of 21 16 would represent a locality of 33. 88211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 88231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLocality values of 5 through 31 are not selectable. 88251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 88271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 88281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 88301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 88311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 63 88331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 88341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 88361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 88381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf Extended is non-zero, then an extended locality is indicated and the TPMA_LOCALITY contains an 88401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninteger value. 88411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 32 — Definition of (UINT8) TPMA_LOCALITY Bits <IN/OUT> 88421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 88431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 88451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 88471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 88491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_ZERO 88511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 88531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_ONE 88551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 88571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_TWO 88591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 88611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_THREE 88631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 88651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_LOC_FOUR 88671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7:5 88691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.6 88711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnExtended 88731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf any of these bits is set, an extended locality is indicated 88751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_PERMANENT 88771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe attributes in this structure are persistent and are not changed as a result of _TPM_Init or any 88791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Startup(). Some of the attributes in this structure may change as the result of specific Protected 88801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCapabilities. 88811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis 88821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure 88831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay 88841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe 88851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnread 88861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnusing 88871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability(capability 88881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn= 88891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_TPM_PROPERTIES, property = TPM_PT_PERMANENT). 88901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 33 — Definition of (UINT32) TPMA_PERMANENT Bits <OUT> 88911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 88921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 88941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 88961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 88981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 88991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnownerAuthSet 89001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPM2_HierarchyChangeAuth() with ownerAuth has been executed since 89021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe last TPM2_Clear(). 89031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): ownerAuth has not been changed since TPM2_Clear(). 89041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 89061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnendorsementAuthSet 89081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPM2_HierarchyChangeAuth() with endorsementAuth has been executed 89101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsince the last TPM2_Clear(). 89111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): endorsementAuth has not been changed since TPM2_Clear(). 89121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 89141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnlockoutAuthSet 89161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPM2_HierarchyChangeAuth() with lockoutAuth has been executed since 89181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe last TPM2_Clear(). 89191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): lockoutAuth has not been changed since TPM2_Clear(). 89201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn7:3 89221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 89231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 89251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahndisableClear 89261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPM2_Clear() is disabled. 89281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): TPM2_Clear() is enabled. 89291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 89301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee “TPM2_ClearControl” in Part 3 of this specification for details on changing 89321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis attribute. 89331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9 89351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahninLockout 89371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The TPM is in lockout and commands that require authorization with other 89391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan platformAuth will not succeed. 89401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10 89421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahntpmGeneratedEPS 89441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The EPS was created by the TPM. 89461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The EPS was created outside of the TPM using a manufacturerspecific process. 89471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:11 Reserved 89491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 64 89511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 89521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 89541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 89551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 89571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 89581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 89601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.7 89611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 89631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_STARTUP_CLEAR 89651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese attributes are set to their default state on reset on each TPM Reset or TPM Restart. The attributes 89671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnare preserved on TPM Resume. 89681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOn each TPM2_Startup(TPM_SU_CLEAR), the TPM will set these attributes to their indicated defaults. 89691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure may be read using TPM2_GetCapability(capability = TPM_CAP_TPM_PROPERTIES, 89701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproperty = TPM_PT_STARTUP_CLEAR). 89711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSome of attributes may be changed as the result of specific Protected Capabilities. 89721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 34 — Definition of (UINT32) TPMA_STARTUP_CLEAR Bits <OUT> 89731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 89741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 89751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 89771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 89791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnphEnable 89811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): (default) The platform hierarchy is enabled and platformAuth or 89831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnplatformPolicy may be used for authorization. 89841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): platformAuth and platformPolicy may not be used for authorizations, 89851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand objects in the platform hierarchy, including NV Indexes and persistent objects, 89861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncannot be used. 89871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 89881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 89901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnshEnable 89921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 89931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): (default) The Storage hierarchy is enabled and ownerAuth or ownerPolicy 89941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be used for authorization. 89951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): ownerAuth and ownerPolicy may not be used for authorizations, and 89961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects in the Storage hierarchy, including NV Indexes and persistent objects, 89971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncannot be used. 89981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 89991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 90011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnehEnable 90031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnphEnableNV 90051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee “TPM2_HierarchyControl” in Part 3 of this specification for details on 90071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanging this attribute. 90081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): (default) The EPS hierarchy is enabled and endorsementAuth may be 90101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused to authorize commands. 90111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): endorsementAuth and endorsementPolicy may not be used for 90121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorizations, and objects in the endorsement hierarchy, including persistent 90131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects, cannot be used. 90141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 90151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 90171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee “TPM2_HierarchyControl” in Part 3 of this specification for details on 90191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanging this attribute. 90201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee “TPM2_HierarchyControl” in Part 3 of this specification for details on 90221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanging this attribute. 90231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): (default) NV indices that have TPMA_PLATFORM_CREATE SET may be 90251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnread or written. The platform can create define and undefine indices. 90261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): NV indices that have TPMA_PLATFORM_CREATE SET may not be 90271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnread or written (TPM_RC_HANDLE). The platform cannot 90281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefine 90291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_RC_HIERARCHY) or undefined (TPM_RC_HANDLE) indices. 90301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 90311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee “TPM2_HierarchyControl” in Part 3 of this specification for details on changing 90321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis attribute. 90331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 90341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnread refers to these commands: TPM2_NV_Read, TPM2_NV_ReadPublic, TPM_NV_Certify, 90351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_PolicyNV 90361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwrite refers to thse commands: TPM2_NV_Write, TPM2_NV_Increment, TPM2_NV_Extend, 90371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_NV_SetBits 90381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE The TPM must query the index TPMA_PLATFORM_CREATE attribute to determine 90391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhether phEnableNV is applicable. Since the TPM will return TPM_RC_HANDLE if the index 90401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndoes not exist, it also returns this error code if the index is disabled. Otherwise, the TPM 90411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould leak the existence of an index even when disabled. 90421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn30:4 Reserved 90441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 90461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 90471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 90491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 90511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 90521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 65 90541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 90551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 90571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 90591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 90611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 90631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 90651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31 90671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnorderly 90691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The TPM received a TPM2_Shutdown() and a matching TPM2_Startup(). 90711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): TPM2_Startup(TPM_SU_CLEAR) was not preceded by a 90721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Shutdown() of any type. 90731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 90741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.8 90761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA shutdown is orderly if the TPM receives a TPM2_Shutdown() of any type 90781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfollowed by a TPM2_Startup() of any type. However, the TPM will return an error if 90791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Startup(TPM_SU_STATE) 90801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwas 90811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot 90821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpreceded 90831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnby 90841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_State_Save(TPM_SU_STATE). 90851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_MEMORY 90871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 90881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure of this attribute is used to report the memory management method used by the TPM for 90891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient 90901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects 90911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 90921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization 90931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsessions. 90941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis 90951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure 90961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be 90971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnread 90981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnusing 90991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability(capability = TPM_CAP_TPM_PROPERTIES, property = TPM_PT_MEMORY). 91001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the RAM memory is shared, then context save of a session may make it possible to load an additional 91011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient object. 91021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 35 — Definition of (UINT32) TPMA_MEMORY Bits <Out> 91031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 91041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 91061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 91081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 91101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsharedRAM 91121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): indicates that the RAM memory used for authorization session 91141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontexts is shared with the memory used for transient objects 91151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): indicates that the memory used for authorization sessions is not 91161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshared with memory used for transient objects 91171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 91191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsharedNV 91211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): indicates that the NV memory used for persistent objects is shared 91231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith the NV memory used for NV Index values 91241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): indicates that the persistent objects and NV Index values are 91251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallocated from separate sections of NV 91261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 91281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnobjectCopiedToRam 91301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): indicates that the TPM copies persistent objects to a transient-object 91321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnslot in RAM when the persistent object is referenced in a command. The TRM 91331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis required to make sure that an object slot is available. 91341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): indicates that the TPM does not use transient-object slots when 91351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpersistent objects are referenced 91361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:3 91381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 91401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 91421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 66 91441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 91451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 91471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 91481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 91501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 91511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 91531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9 91541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 91561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_CC (Command Code Attributes) 91581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.1 91601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 91621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure defines the attributes of a command from a context management perspective. The fields of 91641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe structure indicate to the TPM Resource Manager (TRM) the number of resources required by a 91651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand and how the command affects the TPM’s resources. 91661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is only used in a list returned by the TPM in response to TPM2_GetCapability(capability = 91671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_COMMANDS). 91681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a command to the TPM, only the commandIndex field and V attribute are allowed to be non-zero. 91691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.2 91701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStructure Definition 91721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 36 — Definition of (TPM_CC) TPMA_CC Bits <OUT> 91731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 91751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15:0 91761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 91781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 91801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncommandIndex 91821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates the command being selected 91841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn21:16 Reserved 91861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 91881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn22 91901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnv 91921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): indicates that the command may write to NV 91941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): indicates that the command does not write to NV 91951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn23 91971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 91981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnextensive 91991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): This command could flush any number of loaded contexts. 92011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): no additional changes other than indicated by the flushed attribute 92021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn24 92041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnflushed 92061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The context associated with any transient handle in the command will 92081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe flushed when this command completes. 92091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): No context is flushed as a side effect of this command. 92101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn27:25 cHandles 92121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates the number of the handles in the handle area for this command 92141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn28 92161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnrHandle 92181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): indicates the presence of the handle area in the input 92201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn29 92221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnV 92241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): indicates that the command is vendor-specific 92261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): indicates that the command is defined in a version of this 92271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification 92281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:30 Res 92301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3 92321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.1 92331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallocated for software; shall be zero 92351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnField Descriptions 92371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBits[15:0] – commandIndex 92381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the command index of the command in the set of commands. The two sets are defined by the V 92401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattribute. If V is zero, then the commandIndex shall be in the set of commands defined in a version of this 92411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification. If V is one, then the meaning of commandIndex is as determined by the TPM vendor. 92421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.2 92431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[22] – nv 92451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET, then the TPM may perform an NV write as part of the command actions. This write 92471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis independent of any write that may occur as a result of dictionary attack protection. If this attribute is 92481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR, then the TPM shall not perform an NV write as part of the command actions. 92491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.3 92501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[23] – extensive 92521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 92541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 92551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 92571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 92581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 67 92601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 92611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 92631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 92651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET, then the TPM may flush many transient objects as a side effect of this command. 92671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn Part 3, a command that has this attribute is indicated by using a “{E}” decoration in the “Description” 92681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncolumn of the commandCode parameter. 92691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 92701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee “TPM2_Clear” in Part 3. 92721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 92741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “{E}” decoration may be combined with other decorations such as “{NV}” in which case the decoration 92761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould be “{NV E}.” 92771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.4 92791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[24] – flushed 92811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET, then the TPM will flush transient objects as a side effect of this command. Any 92831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntransient objects listed in the handle area of the command will be flushed from TPM memory. Handles 92841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociated with persistent objects, sessions, PCR, or other fixed TPM resources are not flushed. 92851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 92861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TRM is expected to use this value to determine how many objects are loaded into transient TPM 92881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmemory. 92891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 92911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “{F}” decoration may be combined with other decorations such as “{NV}” in which case the decoration 92931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould be “{NV F}.” 92941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 92951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET for a command, and the handle of the command is associated with a hierarchy 92961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_RH_PLATFORM, TPM_RH_OWNER, or TPM_RH_ENDORSEMENT), all loaded objects in the 92971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicated hierarchy are flushed. 92981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TRM is expected to know the behaviour of TPM2_ContextSave(), and sessions are flushed when 92991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext saved, but objects are not. The flushed attribute for that command shall be CLEAR. 93001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn Part 3, a command that has this attribute is indicated by using a “{F}” decoration in the “Description” 93011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncolumn of the commandCode parameter. 93021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 93031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.5 93051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSee “TPM2_SequenceComplete” in Part 3.” 93071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBits[27:25] – cHandles 93091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis field indicates the number of handles in the handle area of the command. This number allows the 93111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTRM to enumerate the handles in the handle area and find the position of the authorizations (if any). 93121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.6 93131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[28] – rHandle 93151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf this attribute is SET, then the response to this command has a handle area. This area will contain no 93171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmore than one handle. This field is necessary to allow the TRM to locate the parameterSize field in the 93181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse, which is then used to locate the authorizations. 93191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 93201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TRM is expected to “virtualize” the handle value for any returned handle. 93221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 68 93241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 93251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 93271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 93281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 93301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 93311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 93331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 93351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPM command is only allowed to have one handle in the session area. 93371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.7 93381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit[29] – V 93401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen this attribute is SET, it indicates that the command operation is defined by the TPM vendor. When 93421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR, it indicates that the command is defined by a version of this specification. 93431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8.9.3.8 93441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBits[31:30] – Res 93461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis field is reserved for system software. This field is required to be zero for a command to the TPM. 93481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 93501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 93511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 93531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 93541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 69 93561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 93571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 93591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9 93611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 93631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnInterface Types 93651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.1 93671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 93691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis clause contains definitions for interface types. An interface type is type checked when it is 93711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaled. These types are based on an underlying type that is indicated in the table title by the value 93721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin parentheses. When an interface type is used, the base type is unmarshaled and then checked to see if 93731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnit has one of the allowed values. 93741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.2 93751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_YES_NO 93771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used in place of a Boolean type in order to eliminate ambiguity in the handling of a 93791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoctet that conveys a single bit of information. This type only has two allowed values, YES (1) and NO (0). 93801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 93811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is not used as input to the TPM. 93831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 37 — Definition of (BYTE) TPMI_YES_NO Type 93851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 93861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 93881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 93901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value of 0 93921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 93941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value of 1 93961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 93981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 93991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.3 94001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_OBJECT 94021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_DH_OBJECT interface type is a handle that references a loaded object. The handles in this 94041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset are used to refer to either transient or persistent object. The range of these values would change 94051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaccording to the TPM implementation. 94061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 94071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese interface types should not be used by system software to qualify the keys produced by the TPM. 94091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe value returned by the TPM shall be used to reference the object. 94101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 38 — Definition of (TPM_HANDLE) TPMI_DH_OBJECT Type 94121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 94131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 94151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{TRANSIENT_FIRST:TRANSIENT_LAST} 94171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed range for transient objects 94191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{PERSISTENT_FIRST:PERSISTENT_LAST} 94211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed range for persistent objects 94231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RH_NULL 94251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe conditional value 94271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 94291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 70 94311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 94321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 94341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 94351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 94371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 94381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 94401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.4 94411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 94431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_PERSISTENT 94451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_DH_PERSISTENT interface type is a handle that references a location for a transient object. 94471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type is used in TPM2_EvictControl() to indicate the handle to be assigned to the persistent object. 94481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 39 — Definition of (TPM_HANDLE) TPMI_DH_PERSISTENT Type 94491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 94501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 94521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{PERSISTENT_FIRST:PERSISTENT_LAST} 94541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed range for persistent objects 94561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 94581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.5 94601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_ENTITY 94621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_DH_ENTITY interface type is TPM-defined values that are used to indicate that the handle 94641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrefers to an authValue. The range of these values would change according to the TPM implementation. 94651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 40 — Definition of (TPM_HANDLE) TPMI_DH_ENTITY Type <IN> 94661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 94671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 94691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 94711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT 94721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 94731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_LOCKOUT 94741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{TRANSIENT_FIRST : TRANSIENT_LAST} 94751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange of object handles 94771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{PERSISTENT_FIRST : PERSISTENT_LAST} 94791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{NV_INDEX_FIRST : NV_INDEX_LAST} 94801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{PCR_FIRST : PCR_LAST} 94811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RH_NULL 94821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnconditional value 94841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 94861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 94881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 94891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 94911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 94921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 71 94941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 94951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 94971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.6 94981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 94991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 95001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_PCR 95021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type consists of the handles that may be used as PCR references. The upper end of this 95041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange of values would change according to the TPM implementation. 95051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 95061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTypically, the 0 th PCR will have a handle value of zero. 95081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 95101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe handle range for PCR is defined to be the same as the handle range for PCR in previous versions of 95121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM specifications. 95131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 41 — Definition of (TPM_HANDLE) TPMI_DH_PCR Type <IN> 95151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 95161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 95181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{PCR_FIRST:PCR_LAST} 95201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RH_NULL 95211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnconditional value 95231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 95251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.7 95271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SH_AUTH_SESSION 95291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_SH_AUTH_SESSION interface type is TPM-defined values that are used to indicate that the 95311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle refers to an authorization session. 95321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 42 — Definition of (TPM_HANDLE) TPMI_SH_AUTH_SESSION Type <IN/OUT> 95331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 95341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 95361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{HMAC_SESSION_FIRST : HMAC_SESSION_LAST} 95381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange of HMAC authorization session handles 95401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{POLICY_SESSION_FIRST: POLICY_SESSION_LAST} 95421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange of policy authorization session handles 95441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RS_PW 95461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna password authorization 95481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 95501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned if the handle is out of range 95521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.8 95541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SH_HMAC 95561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used for an authorization handle when the authorization session uses an HMAC. 95581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 43 — Definition of (TPM_HANDLE) TPMI_SH_HMAC Type <IN/OUT> 95591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 95601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 95621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{HMAC_SESSION_FIRST: HMAC_SESSION_LAST} 95641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange of HMAC authorization session handles 95661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 95681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned if the handle is out of range 95701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.9 95721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SH_POLICY 95741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used for a policy handle when it appears in a policy command. 95761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 44 — Definition of (TPM_HANDLE) TPMI_SH_POLICY Type <IN/OUT> 95771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 95781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 95801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{POLICY_SESSION_FIRST: POLICY_SESSION_LAST} 95821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange of policy authorization session handles 95841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 95861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned if the handle is out of range 95881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 72 95901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 95911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 95931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 95941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 95961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 95971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 95981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 95991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 96011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.10 TPMI_DH_CONTEXT 96031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type defines the handle values that may be used in TPM2_ContextSave() or TPM2_Flush(). 96041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 45 — Definition of (TPM_HANDLE) TPMI_DH_CONTEXT Type 96051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 96061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 96081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{HMAC_SESSION_FIRST : HMAC_SESSION_LAST} 96101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{POLICY_SESSION_FIRST:POLICY_SESSION_LAST} 96111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{TRANSIENT_FIRST:TRANSIENT_LAST} 96121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 96131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.11 TPMI_RH_HIERARCHY 96151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_RH_HIERARCHY interface type is used as the type of a handle in a command when the 96161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle is required to be one of the hierarchy selectors. 96171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 46 — Definition of (TPM_HANDLE) TPMI_RH_HIERARCHY Type 96181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 96191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 96211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 96231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStorage hierarchy 96251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 96271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPlatform hierarchy 96291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT 96311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEndorsement hierarchy 96331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RH_NULL 96351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno hierarchy 96371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 96391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 96411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.12 TPMI_RH_ENABLES 96431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_RH_ENABLES interface type is used as the type of a handle in a command when the handle 96441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis required to be one of the hierarchy or NV enables. 96451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 47 — Definition of (TPM_HANDLE) TPMI_RH_ENABLES Type 96461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 96471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 96491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 96511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStorage hierarchy 96531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 96551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPlatform hierarchy 96571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT 96591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEndorsement hierarchy 96611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM_NV 96631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPlatform NV 96651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RH_NULL 96671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno hierarchy 96691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 96711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 96731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 96751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 96761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 96781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 96791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 73 96811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 96821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 96841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 96861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.13 TPMI_RH_HIERARCHY_AUTH 96881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used as the type of a handle in a command when the handle is required to be one of 96891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hierarchy selectors or the Lockout Authorization. 96901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 48 — Definition of (TPM_HANDLE) TPMI_RH_HIERARCHY_AUTH Type <IN> 96911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 96921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 96941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 96961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStorage hierarchy 96981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 96991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 97001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPlatform hierarchy 97021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT 97041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEndorsement hierarchy 97061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_LOCKOUT 97081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLockout Authorization 97101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 97121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 97141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.14 TPMI_RH_PLATFORM 97161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_RH_PLATFORM interface type is used as the type of a handle in a command when the only 97171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed handle is TPM_RH_PLATFORM indicating that platformAuth is required. 97181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 49 — Definition of (TPM_HANDLE) TPMI_RH_PLATFORM Type <IN> 97191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 97201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 97221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 97241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPlatform hierarchy 97261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 97281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 97301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.15 TPMI_RH_OWNER 97321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used as the type of a handle in a command when the only allowed handle is 97331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER indicating that ownerAuth is required. 97341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 50 — Definition of (TPM_HANDLE) TPMI_RH_OWNER Type <IN> 97351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 97361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 97381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 97401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOwner hierarchy 97421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RH_NULL 97441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay allow the null handle 97461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 97481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 97501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 74 97521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 97531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 97551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 97561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 97581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 97591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 97611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 97631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.16 TPMI_RH_ENDORSEMENT 97651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used as the type of a handle in a command when the only allowed handle is 97661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT indicating that endorsementAuth is required. 97671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 51 — Definition of (TPM_HANDLE) TPMI_RH_ENDORSEMENT Type <IN> 97681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 97691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 97711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT 97731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEndorsement hierarchy 97751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_RH_NULL 97771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay allow the null handle 97791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 97811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 97831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.17 TPMI_RH_PROVISION 97851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_RH_PROVISION interface type is used as the type of the handle in a command when the only 97861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed handles are either TPM_RH_OWNER or TPM_RH_PLATFORM indicating that either 97871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnplatformAuth or ownerAuth are allowed. 97881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn most cases, either platformAuth or ownerAuth may be used to authorize the commands used for 97891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmanagement of the resources of the TPM and this interface type will be used. 97901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 52 — Definition of (TPM_HANDLE) TPMI_RH_PROVISION Type <IN> 97911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 97921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 97941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 97961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle for ownerAuth 97981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 97991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 98001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle for platformAuth 98021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 98041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 98061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.18 TPMI_RH_CLEAR 98081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_RH_CLEAR interface type is used as the type of the handle in a command when the only 98091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed handles are either TPM_RH_LOCKOUT or TPM_RH_PLATFORM indicating that either 98101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnplatformAuth or lockoutAuth are allowed. 98111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is normally used for performing or controlling TPM2_Clear(). 98121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 53 — Definition of (TPM_HANDLE) TPMI_RH_CLEAR Type <IN> 98131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 98141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 98161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_LOCKOUT 98181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle for lockoutAuth 98201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 98221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle for platformAuth 98241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 98261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 98281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 98301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 98311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 98331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 98341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 75 98361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 98371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 98391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 98411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.19 TPMI_RH_NV_AUTH 98431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used to identify the source of the authorization for access to an NV location. The 98441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle value of a TPMI_RH_NV_AUTH shall indicate that the authorization value is either platformAuth, 98451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnownerAuth, or the authValue. This type is used in the commands that access an NV Index (commands of 98461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe form TPM2_NV_xxx) other than TPM2_NV_DefineSpace() and TPM2_NV_UndefineSpace(). 98471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 54 — Definition of (TPM_HANDLE) TPMI_RH_NV_AUTH Type <IN> 98481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 98491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 98511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM 98531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnplatformAuth is allowed 98551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_OWNER 98571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnownerAuth is allowed 98591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{NV_INDEX_FIRST:NV_INDEX_LAST} 98611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrange for NV locations 98631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 98651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when unmarshaling of this type fails 98671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.20 TPMI_RH_LOCKOUT 98691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMI_RH_LOCKOUT interface type is used as the type of a handle in a command when the only 98701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed handle is TPM_RH_LOCKOUT indicating that lockoutAuth is required. 98711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 55 — Definition of (TPM_HANDLE) TPMI_RH_LOCKOUT Type <IN> 98721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 98731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 98751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_LOCKOUT 98771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 98781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the unmarshaling of this type fails 98801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.21 TPMI_RH_NV_INDEX 98821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used to identify an NV location. This type is used in the NV commands. 98831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 56 — Definition of (TPM_HANDLE) TPMI_RH_NV_INDEX Type <IN/OUT> 98841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 98851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 98871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{NV_INDEX_FIRST:NV_INDEX_LAST} 98891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRange of NV Indexes 98911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 98931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned if the handle is out of range 98951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 76 98971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 98981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 98991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 99001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 99011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 99031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 99041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 99061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 99081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.22 TPMI_ALG_HASH 99101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMI_ALG_HASH is an interface type of all the hash algorithms implemented on a specific TPM. Table 99111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn57 is a list of the hash algorithms that have an algorithm ID assigned by the TCG and does not indicate 99121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe algorithms that will be accepted by a TPM. 99131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 99141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn implementation would modify this table according to the implemented algorithms, changing the values 99161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthat are accepted as hash algorithms. 99171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 57 — Definition of (TPM_ALG_ID) TPMI_ALG_HASH Type 99191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 99201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 99221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA1 99241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 99261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA256 99281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 99301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM3_256 99321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 99341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA384 99361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 99381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA512 99401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 99421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 99441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_HASH 99451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.23 TPMI_ALG_ASYM (Asymmetric Algorithms) 99471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMI_ALG_ASYM is an interface type of all the asymmetric algorithms implemented on a specific TPM. 99481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 58 lists each of the asymmetric algorithms that have an algorithm ID assigned by the TCG. 99491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 58 — Definition of (TPM_ALG_ID) TPMI_ALG_ASYM Type 99501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 99511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 99531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA 99551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 99561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 99571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_ASYMMETRIC 99581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 99601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 99611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 99631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 99641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 77 99661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 99671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 99691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 99711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.24 TPMI_ALG_SYM (Symmetric Algorithms) 99731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMI_ALG_SYM is an interface type of all the symmetric algorithms that have an algorithm ID assigned 99741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnby the TCG and are implemented on the TPM. 99751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe list in the table below is illustrative and will change according to the implementation. The validation 99761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode will only accept the subset of algorithms implemented on a TPM. 99771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 99781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe validation code produced by an example script will produce a CASE statement with a case for each of 99801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe values in the “Values” column. The case for a value is delimited by a #ifdef/#endif pair so that if the 99811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm is not implemented on the TPM, then the case for the algorithm is not generated, and use of the 99821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm will cause a TPM error (TPM_RC_SYMMETRIC). 99831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 59 — Definition of (TPM_ALG_ID) TPMI_ALG_SYM Type 99851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 99861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 99881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_AES 99901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 99921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM4 99941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 99961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR 99981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 99991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 100001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 100021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired to be present in all versions of this table 100041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SYMMETRIC 100061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.25 TPMI_ALG_SYM_OBJECT 100081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMI_ALG_SYM_OBJECT is an interface type of all the TCG-defined symmetric algorithms that may 100091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe used as companion symmetric encryption algorithm for an asymmetric object. All algorithms in this list 100101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be block ciphers usable in Cipher Feedback (CFB). 100111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 60 is illustrative. It would be modified to indicate the algorithms of the TPM. 100121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 100131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR is not allowed in this list. 100151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 60 — Definition of (TPM_ALG_ID) TPMI_ALG_SYM_OBJECT Type 100171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 100181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 100201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_AES 100221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 100241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM4 100261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexample 100281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 100301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired to be present in all versions of this table 100321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SYMMETRIC 100341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 78 100361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 100371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 100391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 100401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 100421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 100431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 100451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 100471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.26 TPMI_ALG_SYM_MODE 100491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMI_ALG_SYM_MODE is an interface type of all the TCG-defined block-cipher modes of operation. 100501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis version of the table is not expected to be the table checked by the validation code. Rather, the table 100511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould be replaced by one containing the algorithms implemented on the TPM and that the values in that 100521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntable would be checked by the input validation code. 100531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 61 — Definition of (TPM_ALG_ID) TPMI_ALG_SYM_MODE Type 100541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 100551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 100571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_CTR 100591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIV will be determined by use. 100611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the outside provides the nonce and initial counter, then the caller can 100621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnknow what IV to provide for chaining. 100631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OFB 100651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnXOR last cipher text block with last plaintext to create IV for next block 100671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_CBC 100691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIV will be determined by use. 100711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindefinite chaining using previous output block as IV for next block 100721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_CFB 100741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be implemented in all TPM compliant with this specification 100761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIV will be determined by use. 100771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindefinite chaining using previous cipher text as IV 100781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECB 100801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno IV or chaining value required 100821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 100841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_MODE 100851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.27 TPMI_ALG_KDF (Key and Mask Generation Functions) 100871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMI_ALG_KDF is an interface type of all the key derivation functions implemented on a specific TPM. 100881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 62 is exemplary and would change based on the algorithms implemented in a TPM. 100891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 62 — Definition of (TPM_ALG_ID) TPMI_ALG_KDF Type 100901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 100911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 100931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 100941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_MGF1 100951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF1_SP800_108 100961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF1_SP800_56a 100971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF2 100981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 100991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_KDF 101001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 101021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 101031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 101051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 101061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 79 101081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 101091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 101111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 101131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.28 TPMI_ALG_SIG_SCHEME 101151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the definition of the interface type for a signature scheme. This table would change according to 101161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe algorithms implemented on the TPM. 101171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 63 — Definition of (TPM_ALG_ID) TPMI_ALG_SIG_SCHEME Type 101181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 101191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 101211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA 101231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires that RSA be implemented 101251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAPSS 101271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires that RSA be implemented 101291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDSA 101311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires that ECC be implemented 101331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDAA 101351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires that ECC and ECDAA be implemented 101371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECSCHNORR 101391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 101401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires that ECC be implemented 101421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_HMAC 101441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpresent on all TPM 101461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 101481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SCHEME 101491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when a signature scheme is not correct 101511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.29 TPMI_ECC_KEY_EXCHANGE 101531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the definition of the interface type for an ECC key exchange scheme. This table would change 101541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaccording to the algorithms implemented on the TPM. 101551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 64 — Definition of (TPM_ALG_ID) TPMI_ECC_KEY_EXCHANGE Type 101561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 101571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 101591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDH 101611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused for single and two phase key exchange 101631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECMQV 101651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 101661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires that ECC be implemented 101681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 101701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SCHEME 101711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when a key exchange scheme is not correct 101731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9.30 TPMI_ST_COMMAND_TAG 101751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type is used for the command tags. 101761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe response code for a bad command tag has the same value as the TPM 1.2 response code 101771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_BAD_TAG). This value is used in case the software is not compatible with this specification and an 101781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunexpected response code might have unexpected side effects. 101791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 65 — Definition of (TPM_ST) TPMI_ST_COMMAND_TAG Type 101801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 101811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 101831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_NO_SESSIONS 101851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_SESSIONS 101861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_BAD_TAG 101871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 80 101891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 101901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 101921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 101931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 101951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 101961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 101981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 101991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 102001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10 Structure Definitions 102021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.1 TPMS_ALGORITHM_DESCRIPTION 102031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is a return value for a TPM2_GetCapability() that reads the installed algorithms. 102041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 66 — Definition of TPMS_ALGORITHM_DESCRIPTION Structure <OUT> 102051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 102061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 102081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 102101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalg 102121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID 102141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan algorithm 102161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes 102181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_ALGORITHM 102201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe attributes of the algorithm 102221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.2 Hash/Digest Structures 102241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.2.1 TPMU_HA (Hash) 102251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMU_HA is a union of all the hash algorithms implemented on a TPM. Table 67 is exemplary and 102261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould change based on the algorithms implemented in a TPM. 102271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 102281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf processed by an automated tool, each entry of the table should be qualified (with #ifdef/#endif) so that if 102301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm is not implemented on the TPM, the parameter associated with that hash is not 102311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpresent. This will keep the union from being larger than the largest digest of a hash implemented on that 102321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM. 102331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 67 — Definition of TPMU_HA Union <IN/OUT, S> 102351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 102361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 102381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 102401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsha1 [SHA1_DIGEST_SIZE] 102421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 102441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA1 102461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsha256 [SHA256_DIGEST_SIZE] 102481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 102501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA256 102521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsm3_256 [SM3_256_DIGEST_SIZE] 102541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 102561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM3_256 102581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsha384 [SHA384_DIGEST_SIZE] 102601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 102621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA384 102641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsha512 [SHA512_DIGEST_SIZE] 102661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 102681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA512 102701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 102721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 102741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 102751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 102771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 102791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 102811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 102821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 81 102841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 102851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 102871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 102891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.2.2 TPMT_HA 102911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 68 shows the basic hash-agile structure used in this specification. To handle hash agility, this 102921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure uses the hashAlg parameter to indicate the algorithm used to compute the digest and, by 102931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplication, the size of the digest. 102941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen transmitted, only the number of octets indicated by hashAlg is sent. 102951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 102961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 102971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn the exemplary code, when a TPMT_HA is allocated, the digest field is large enough to support the 102981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlargest hash algorithm in the TPMU_HA union. 102991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 68 — Definition of TPMT_HA Structure <IN/OUT> 103011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 103021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 103041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 103061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 103081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_HASH 103101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselector of the hash contained in the digest that implies the 103121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the digest 103131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 103141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[hashAlg] digest 103161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_HA 103181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe leading “+” on the type indicates that this structure 103201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshould pass an indication to the unmarshaling function for 103211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH so that TPM_ALG_NULL will be 103221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed if a use of a TPMT_HA allows TPM_ALG_NULL. 103231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe digest data 103251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3 Sized Buffers 103271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.1 Introduction 103281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “TPM2B_” prefix is used for a structure that has a size field followed by a data buffer with the 103291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicated number of octets. The size field is 16 bits. 103301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the type of the second parameter in a TPM2B_ structure is BYTE, the TPM shall unmarshal the 103311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicated number of octets, which may be zero. 103321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the type of the second parameter in the TPM2B_ structure is not BYTE, the value of the size field 103331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall either be zero indicating that no structure is to be unmarshaled; or it shall be identical to the number 103341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof octets unmarshaled for the second parameter. 103351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 103361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the TPM2B_ defines a structure and not an array of octets, then the structure is self-describing and the 103381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM will be able to determine how many octets are in the structure when it is unmarshaled. If that number 103391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof octets is not equal to the size parameter, then it is an error. 103401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 103421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe reason that a structure may be put into a TPM2B_ is that the parts of the structure may be handled 103441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnas separate opaque blocks by the application/system software. Rather than require that all of the 103451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructures in a command or response be marshaled or unmarshaled sequentially, the size field allows the 103461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure to be manipulated as an opaque block. Placing a structure in a TPM2B_ also makes it possible 103471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto use parameter encryption on the structure. 103481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf a TPM2B_ is encrypted, the TPM will encrypt/decrypt the data field of the TPM2B_ but not the size 103501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter. The TPM will encrypt/decrypt the number of octets indicated by the size field. 103511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 3 103521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIn the reference implementation, a TPM2B type is defined that is a 16-bit size field followed by a single 103541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbyte of data. The TPM2B_ is then defined as a union that contains a TPM2B (union member ‘b’) and the 103551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure in the definition table (union member ‘t’). This union is used for internally generated structures 103561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnso that there is a way to define a structure of the correct size (forced by the ‘t’ member) while giving a way 103571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto pass the structure generically as a ‘b’. Most function calls use the 't' member so that the compiler will 103581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerate a warning if there is a type error (a TPM2B_ of the wrong type). Having the type checked helps 103591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnavoid many issues with buffer overflow caused by a too small buffer being passed to a function. 103601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 82 103621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 103631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 103651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 103661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 103681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 103691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 103711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 103731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.2 TPM2B_DIGEST 103751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used for a sized buffer that cannot be larger than the largest digest produced by any 103761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash algorithm implemented on the TPM. 103771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAs with all sized buffers, the size is checked to see if it is within the prescribed range. If not, the response 103781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncode is TPM_RC_SIZE. 103791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 103801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor any structure, like the one below, that contains an implied size check, it is implied that TPM_RC_SIZE 103821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis a possible response code and the response code will not be listed in the table. 103831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 69 — Definition of TPM2B_DIGEST Structure 103851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 103861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 103881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 103901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 103921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 103941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize in octets of the buffer field; may be 0 103961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size]{:sizeof(TPMU_HA)} 103981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 103991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 104001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe buffer area that can be no larger than a digest 104021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.3 TPM2B_DATA 104041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used for a data buffer that is required to be no larger than the size of the Name of an 104051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject. This size limit includes the algorithm ID of the hash and the hash data. 104061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 70 — Definition of TPM2B_DATA Structure 104071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 104081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 104101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 104121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 104141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 104161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize in octets of the buffer field; may be 0 104181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size]{:sizeof(TPMT_HA)} 104201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 104221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe buffer area that contains the algorithm ID and the 104241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 104251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.4 TPM2B_NONCE 104271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 71 — Definition of Types for TPM2B_NONCE 104281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 104291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 104311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 104331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 104351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NONCE 104371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize limited to the same as the digest structure 104391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.5 TPM2B_AUTH 104411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used for an authorization value and limits an authValue to being no larger than the 104421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlargest digest produced by a TPM. In order to ensure consistency within an object, the authValue may be 104431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno larger than the size of the digest produced by the object’s nameAlg. This ensures that any TPM that 104441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncan load the object will be able to handle the authValue of the object. 104451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 72 — Definition of Types for TPM2B_AUTH 104461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 104471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 104491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 104511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 104531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_AUTH 104551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize limited to the same as the digest structure 104571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 104591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 104601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 104621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 104631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 83 104651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 104661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 104681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 104701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.6 TPM2B_OPERAND 104721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type is a sized buffer that can hold an operand for a comparison with an NV Index location. The 104731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum size of the operand is implementation dependent but a TPM is required to support an operand 104741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize that is at least as big as the digest produced by any of the hash algorithms implemented on the TPM. 104751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 73 — Definition of Types for TPM2B_OPERAND 104761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 104771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 104791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 104811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 104831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_OPERAND 104851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize limited to the same as the digest structure 104871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.7 TPM2B_EVENT 104891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type is a sized buffer that can hold event data. 104901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 74 — Definition of TPM2B_EVENT Structure 104911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 104921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 104941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 104961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 104981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 104991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 105001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the operand buffer 105021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer [size] {:1024} 105041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 105061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe operand 105081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.8 TPM2B_MAX_BUFFER 105101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type is a sized buffer that can hold a maximally sized buffer for commands that use a large data 105111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer 105121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsuch 105131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnas 105141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_PCR_Event(), 105151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Hash(), 105161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_SequenceUpdate(), 105171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor 105181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_FieldUpgradeData(). 105191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 105201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe above list is not comprehensive and other commands may use this buffer type. 105221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 75 — Definition of TPM2B_MAX_BUFFER Structure 105241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 105251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 105271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 105291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 105311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 105331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the buffer 105351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer [size] {:MAX_DIGEST_BUFFER} 105371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 105391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe operand 105411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 105421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_DIGEST_BUFFER 105431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis 105441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMdependent but is required to be at least 1,024. 105451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.9 TPM2B_MAX_NV_BUFFER 105471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis type is a sized buffer that can hold a maximally sized buffer for NV data commands such as 105481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_NV_Read(), TPM2_NV_Write(), and TPM2_NV_Certify(). 105491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 76 — Definition of TPM2B_MAX_NV_BUFFER Structure 105501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 105511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 105531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 105551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 105571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 105591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the buffer 105611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer [size] {:MAX_NV_BUFFER_SIZE} 105631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 105651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe operand 105671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 105681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_NV_BUFFER_SIZE 105691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndependent 105701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 84 105721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 105731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 105751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 105761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis 105781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM- 105801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 105821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 105831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 105851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 105871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.10 TPM2B_TIMEOUT 105891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis TPM-dependent structure is used to provide the timeout value for an authorization. 105901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 77 — Definition of TPM2B_TIMEOUT Structure <IN/OUT> 105911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 105921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 105941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 105961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 105981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 105991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 106001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the timeout value 106021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is fixed for a TPM implementation. 106031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer [size] {:sizeof(UINT64)} 106051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 106071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe timeout value 106091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.3.11 TPM2B_IV 106111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used for passing an initial value for a symmetric block cipher to or from the TPM. The 106121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize is set to be the largest block size of any implemented symmetric cipher implemented on the TPM. 106131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 78 — Definition of TPM2B_IV Structure <IN/OUT> 106141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 106151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 106171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 106191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 106211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 106231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the timeout value 106251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is fixed for a TPM implementation. 106261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer [size] {:MAX_SYM_BLOCK_SIZE} 106281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 106301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe timeout value 106321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4 Names 106341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4.1 Introduction 106351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe Name of an entity is used in place of the handle in authorization computations. The substitution 106361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoccurs in cpHash and policyHash computations. 106371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor an entity that is defined by a public area (objects and NV Indexes), the Name is the hash of the public 106381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure that defines the entity. The hash is done using the nameAlg of the entity. 106391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 106401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor an object, a TPMT_PUBLIC defines the entity. For an NV Index, a TPMS_NV_PUBLIC defines the 106421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnentity. 106431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor entities not defined by a public area, the Name is the handle that is used to refer to the entity. 106451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4.2 TPMU_NAME 106461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 79 — Definition of TPMU_NAME Union <> 106471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 106481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 106501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 106521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_HA 106541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen the Name is a digest 106561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle 106581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HANDLE 106601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen the Name is a handle 106621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 106641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 106651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 106671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 106691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 106711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 106721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 85 106741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 106751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 106771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 106791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.4.3 TPM2B_NAME 106811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis buffer holds a Name for any entity type. 106821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe type of Name in the structure is determined by context and the size parameter. If size is four, then 106831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe Name is a handle. If size is zero, then no Name is present. Otherwise, the size shall be the size of a 106841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID plus the size of the digest produced by the indicated hash algorithm. 106851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 80 — Definition of TPM2B_NAME Structure 106861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 106871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 106891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 106911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 106931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 106951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the Name structure 106971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 106981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnname[size]{:sizeof(TPMU_NAME)} 106991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 107011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe Name structure 107031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.5 PCR Structures 107051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.5.1 TPMS_PCR_SELECT 107061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure provides a standard method of specifying a list of PCR. 107071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR numbering starts at zero. 107081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPcrSelect is an array of octets. The octet containing the bit corresponding to a specific PCR is found by 107091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndividing the PCR number by 8. 107101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 1 107111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe bit in pcrSelect corresponding to PCR 19 is in pcrSelect [2] (19/8 = 2). 107131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe least significant bit in a octet is bit number 0. The bit in the octet associated with a PCR is the 107151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnremainder after division by 8. 107161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 2 107171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe bit in pcrSelect [2] corresponding to PCR 19 is bit 3 (19 mod 8). If sizeofSelect is 3, then the 107191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrSelect array that would specify PCR 19 and no other PCR is 00 00 08 16. 107201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEach bit in pcrSelect indicates whether the corresponding PCR is selected (1) or not (0). If the pcrSelect 107221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis all zero bits, then no PCR is selected. 107231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSizeofSelect indicates the number of octets in pcrSelect. The allowable values for sizeofSelect is 107241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndetermined by the number of PCR required by the applicable platform-specific specification and the 107251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of PCR implemented in the TPM. The minimum value for sizeofSelect is: 107261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_SELECT_MIN ≔ (PLATFORM_PCR + 7) / 8 107271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(1) 107291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 107311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPLATFORM_PCR 107321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of PCR required by the platform-specific specification 107341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe maximum value for sizeofSelect is: 107361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_SELECT_MAX ≔ (IMPLEMENTATION_PCR + 7) / 8 107371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(2) 107391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 107411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIMPLEMENTATION_PCR 107421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 86 107441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 107451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of PCR implemented on the TPM 107471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 107491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 107501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 107521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 107531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 107551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 107571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the TPM implements more PCR than there are bits in pcrSelect, the additional PCR are not selected. 107591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 3 107601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the applicable platform-specific specification requires that the TPM have a minimum of 24 PCR but the 107621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM implements 32, then a PCR select of 3 octets would imply that PCR 24-31 are not selected. 107631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 81 — Definition of TPMS_PCR_SELECT Structure 107651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 107661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 107681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 107701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsizeofSelect {PCR_SELECT_MIN:} 107721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT8 107741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe size in octets of the pcrSelect array 107761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrSelect [sizeofSelect] {:PCR_SELECT_MAX} 107781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 107801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe bit map of selected PCR 107821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 107841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.5.2 TPMS_PCR_SELECTION 107861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 82 — Definition of TPMS_PCR_SELECTION Structure 107871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 107881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 107901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 107921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash 107941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 107961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 107971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm associated with the 107981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselection 107991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsizeofSelect {PCR_SELECT_MIN:} 108011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT8 108031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe size in octets of the pcrSelect array 108051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrSelect [sizeofSelect] {:PCR_SELECT_MAX} 108071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 108091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe bit map of selected PCR 108111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 108131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6 Tickets 108151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.1 Introduction 108161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTickets are evidence that the TPM has previously processed some information. A ticket is an HMAC over 108171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe data using a secret key known only to the TPM. A ticket is a way to expand the state memory of the 108181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM. A ticket is only usable by the TPM that produced it. 108191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe formulations for tickets shown in this clause are to be used by a TPM that is compliant with this 108201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification. 108211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe method of creating the ticket data is: 108221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontexAlg(proof, (ticketType || param { || param {…})) 108241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(3) 108261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 108281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontexAlg() 108301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan HMAC using the hash used for context integrity 108321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproof 108341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna TPM secret value (depends on hierarchy) 108361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnticketType 108381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value to differentiate the tickets 108401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparam 108421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnone or more values that were checked by the TPM 108441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 108461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 108471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 108491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 108501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 87 108521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 108531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 108551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 108571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe proof value used for each hierarchy is shown in Table 83. 108591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 83 — Values for proof Used in Tickets 108601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHierarchy 108611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproof 108631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 108651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNone 108671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEmpty Buffer 108691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPlatform 108711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnphProof 108731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value that changes with each change of the PPS 108751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOwner 108771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnshProof 108791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value that changes with each change of the SPS 108811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEndorsement 108831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnehProof 108851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value that changes with each change of either the EPS or SPS 108871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe format for a ticket is shown in Table 84. This is a template for the tickets shown in the remainder of 108891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis clause. 108901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 84 — General Format of a Ticket 108911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 108921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 108941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 108961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag 108981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 108991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST 109001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure tag indicating the type of the ticket 109021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy 109041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_HIERARCHY+ 109061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hierarchy of the proof value 109081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 109101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 109121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe HMAC over the ticket-specific data 109141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.2 A NULL Ticket 109161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a command requires a ticket and no ticket is available, the caller is required to provide a structure 109171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith a ticket tag that is correct for the context. The hierarchy shall be set to TPM_RH_NULL, and digest 109181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be the Empty Buffer (a buffer with a size field of zero). This construct is the NULL Ticket. When a 109191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse indicates that a ticket is returned, the TPM may return a NULL Ticket. 109201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 109211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBecause each use of a ticket requires that the structure tag for the ticket be appropriate for the use, t here 109231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis no single representation of a NULL Ticket that will work in all circumstances. Minimally, a NULL ticket 109241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwill have a structure type that is appropriate for the context. 109251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 88 109271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 109281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 109301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 109311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 109331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 109341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 109361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 109381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.3 TPMT_TK_CREATION 109401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis ticket is produced by TPM2_Create() or TPM2_CreatePrimary(). It is used to bind the creation data 109411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto the object to which it applies. The ticket is computed by 109421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontextAlg(proof, (TPM_ST_CREATION || name || HnameAlg(TPMS_CREATION_DATA))) 109441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(4) 109461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 109481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontextAlg() 109501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan HMAC using the context integrity hash algorithm 109521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproof 109541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna TPM secret value associated with the hierarchy associated with name 109561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_CREATION 109581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value used to ensure that the ticket is properly used 109601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnname 109621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe Name of the object to which the creation data is to be associated 109641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHnameAlg() 109661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash using the nameAlg of the created object 109681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CREATION_DATA the creation data structure associated with name 109701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 85 — Definition of TPMT_TK_CREATION Structure 109711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 109721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 109741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 109761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag {TPM_ST_CREATION} 109781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST 109801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnticket structure tag 109821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned when tag is not TPM_ST_CREATION 109831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_TAG 109851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy 109861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_HIERARCHY+ 109881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hierarchy containing name 109901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 109921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 109941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis shall be the HMAC produced using a proof value 109961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof hierarchy. 109971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 109981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 109991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA NULL Creation Ticket is the tuple <TPM_ST_CREATION, TPM_RH_NULL, 0x0000>. 110011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 110031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 110041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 110061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 110071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 89 110091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 110101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 110121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 110141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.4 TPMT_TK_VERIFIED 110161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis ticket is produced by TPM2_VerifySignature(). This formulation is used for multiple ticket uses. The 110171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnticket provides evidence that the TPM has validated that a digest was signed by a key with the Name of 110181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyName. The ticket is computed by 110191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontextAlg(proof, (TPM_ST_VERIFIED || digest || keyName)) 110211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(5) 110231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 110251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontextAlg() 110271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan HMAC using the context integrity hash 110291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproof 110311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna TPM secret value associated with the hierarchy associated with 110331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_VERIFIED 110351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value used to ensure that the ticket is properly used 110371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 110391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe signed digest 110411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyName 110431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName of the key that signed digest 110451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyName 110471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 86 — Definition of TPMT_TK_VERIFIED Structure 110491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 110501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 110521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 110541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag {TPM_ST_VERIFIED} 110561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST 110581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnticket structure tag 110601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned when tag is not TPM_ST_VERIFIED 110611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_TAG 110631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy 110641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_HIERARCHY+ 110661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hierarchy containing keyName 110681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 110701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 110721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis shall be the HMAC produced using a proof value 110741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof hierarchy. 110751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 110771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA NULL Verified Ticket is the tuple <TPM_ST_VERIFIED, TPM_RH_NULL, 0x0000>. 110791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 90 110811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 110821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 110841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 110851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 110871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 110881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 110901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 110921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.5 TPMT_TK_AUTH 110941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis ticket is produced by TPM2_PolicySigned() and TPM2_PolicySecret() when the authorization has an 110951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexpiration time. The ticket is computed by 110961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontextAlg(proof, (TPM_ST_AUTH_xxx || timeout || cpHash || policyRef || keyName)) 110981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 110991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(6) 111001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 111021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontextAlg() 111041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan HMAC using the context integrity hash 111061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproof 111081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna TPM secret value associated with the hierarchy of the key associated 111101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith keyName 111111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_AUTH_xxx 111131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahneither TPM_ST_AUTH_SIGNED or TPM_ST_AUTH_SECRET; used to 111151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnensure that the ticket is properly used 111161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntimeout 111181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation-specific value indicating when the authorization expires 111201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncpHash 111221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoptional hash of the authorized command 111241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpolicyRef 111261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoptional reference to a policy value 111281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyName 111301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName of the key that signed the authorization 111321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 87 — Definition of TPMT_TK_AUTH Structure 111331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 111351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 111371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 111391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag {TPM_ST_AUTH_SIGNED, TPM_ST_AUTH_SECRET} TPM_ST 111411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnticket structure tag 111431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_TAG 111451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned when tag is 111471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot TPM_ST_AUTH 111481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy 111501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_HIERARCHY+ 111521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hierarchy of the object 111541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused to produce the ticket 111551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 111571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 111591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis shall be the HMAC 111611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproduced using a proof 111621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue of hierarchy. 111631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 111651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA NULL Auth Ticket is the tuple <TPM_ST_AUTH_SIGNED, TPM_RH_NULL, 0x0000> or the tuple 111671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn<TPM_ST_AUTH_SIGNED, TPM_RH_NULL, 0x0000> 111681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 111701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 111711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 111731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 111741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 91 111761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 111771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 111791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 111811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.6.6 TPMT_TK_HASHCHECK 111831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis ticket is produced by TPM2_SequenceComplete() when the message that was digested did not start 111841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith TPM_GENERATED_VALUE. The ticket is computed by 111851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontexAlg(proof, (TPM_ST_HASHCHECK || digest)) 111871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(7) 111891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 111911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMACcontexAlg () 111931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan HMAC using the context integrity hash 111951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproof 111971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 111981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna TPM secret value associated with the hierarchy indicated by the 111991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand 112001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_HASHCHECK 112021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna value used to ensure that the ticket is properly used 112041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 112061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe digest of the data 112081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 88 — Definition of TPMT_TK_HASHCHECK Structure 112091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 112111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 112131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 112151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag {TPM_ST_HASHCHECK} 112171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST 112191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnticket structure tag 112211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_TAG 112231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned when is not TPM_ST_HASHCHECK 112251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy 112271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_HIERARCHY+ 112291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hierarchy 112311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest 112331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 112351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis shall be the HMAC produced using a proof value 112371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof hierarchy. 112381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7 Property Structures 112401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7.1 TPMS_ALG_PROPERTY 112411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used to report the properties of an algorithm identifier. It is returned in response to a 112421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability() with capability = TPM_CAP_ALG. 112431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 89 — Definition of TPMS_ALG_PROPERTY Structure <OUT> 112441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 112451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 112471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 112491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalg 112511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID 112531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan algorithm identifier 112551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnalgProperties 112571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_ALGORITHM 112591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe attributes of the algorithm 112611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7.2 TPMS_TAGGED_PROPERTY 112631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used to report the properties that are UINT32 values. It is returned in response to a 112641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability(). 112651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 90 — Definition of TPMS_TAGGED_PROPERTY Structure <OUT> 112661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 112671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 112691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 112711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnproperty 112731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT 112751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna property identifier 112771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue 112791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 112811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe value of the property 112831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 92 112851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 112861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 112881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 112891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 112911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 112921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 112941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 112961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 112971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.7.3 TPMS_TAGGED_PCR_SELECT 112981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used in TPM2_GetCapability() to return the attributes of the PCR. 112991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 91 — Definition of TPMS_TAGGED_PCR_SELECT Structure <OUT> 113001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 113011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 113031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 113051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntag 113071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT 113091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe property identifier 113111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsizeofSelect {PCR_SELECT_MIN:} 113131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT8 113151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe size in octets of the pcrSelect array 113171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrSelect [sizeofSelect] {:PCR_SELECT_MAX} 113191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 113211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe bit map of PCR with the identified property 113231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8 Lists 113251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.1 TPML_CC 113261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA list of command codes may be input to the TPM or returned by the TPM depending on the command. 113271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 92 — Definition of TPML_CC Structure 113281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 113291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 113311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 113331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 113351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 113371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of commands in the commandCode list; 113391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be 0 113401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncommandCodes[count]{:MAX_CAP_CC} 113421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CC 113441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna list of command codes 113461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe maximum only applies to a command code 113471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist in a command. The response size is limited 113481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnonly by the size of the parameter buffer. 113491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 113511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 113531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 113541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when count is greater than the 113561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum allowed list size 113571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 113591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 113601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 93 113621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 113631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 113651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 113671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.2 TPML_CCA 113691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is only used in TPM2_GetCapability(capability = TPM_CAP_COMMANDS). 113701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe values in the list are returned in commandIndex order with vendor-specific commands returned after 113711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnother commands. Because of the other attributes, the commands may not be returned in strict numerical 113721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnorder. They will be in commandIndex order. 113731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 93 — Definition of TPML_CCA Structure <OUT> 113741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 113751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 113771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 113791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 113811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 113831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of values in the commandAttributes list; 113851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay be 0 113861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncommandAttributes[count]{:MAX_CAP_CC} 113881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_CC 113901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna list of command codes attributes 113921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.3 TPML_ALG 113941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is returned by TPM2_IncrementalSelfTest(). 113951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 94 — Definition of TPML_ALG Structure 113961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 113971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 113981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 113991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 114011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 114031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 114051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of algorithms in the algorithms list; may be 0 114071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithms[count]{:MAX_ALG_LIST_SIZE} 114091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID a list of algorithm IDs 114111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe maximum only applies to an algorithm list in a 114121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand. The response size is limited only by the 114131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the parameter buffer. 114141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when count is greater than the 114151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum allowed list size 114161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 114181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.4 TPML_HANDLE 114201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used when the TPM returns a list of loaded handles when the capability in 114211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability() is TPM_CAP_HANDLE. 114221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 114231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is not used as input to the TPM. 114251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 95 — Definition of TPML_HANDLE Structure <OUT> 114271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 114281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 114301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 114321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 114341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 114361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of handles in the list 114381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay have a value of 0 114391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle[count]{: MAX_CAP_HANDLES} 114411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HANDLE 114431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan array of handles 114451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 114471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 94 114491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 114501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when count is greater than the 114521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum allowed list size 114531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 114551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 114561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 114581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 114591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 114611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 114631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.5 TPML_DIGEST 114651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is used to convey a list of digest values. This type is used in TPM2_PolicyOR() and in 114661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_PCR_Read(). 114671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 96 — Definition of TPML_DIGEST Structure 114681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 114691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 114711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 114731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount {2:} 114751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 114771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of digests in the list, minimum is two for 114791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_PolicyOR(). 114801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigests[count]{:8} 114821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST a list of digests 114841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor TPM2_PolicyOR(), all digests will have been 114851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncomputed using the digest of the policy session. For 114861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_PCR_Read(), each digest will be the size of the 114871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest for the bank containing the PCR. 114881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 114901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when count is not at least two or is 114921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngreater than eight 114931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.6 TPML_DIGEST_VALUES 114951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is used to convey a list of digest values. This type is returned by TPM2_Event() and 114961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_SequenceComplete() and is an input for TPM2_PCR_Extend(). 114971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 114981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 114991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis construct limits the number of hashes in the list to the number of digests implemented in the TPM 115001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrather than the number of PCR banks. This allows extra values to appear in a call t o 115011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_PCR_Extend(). 115021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 115041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe digest for an unimplemented hash algorithm may not be in a list because the TPM may not recognize 115061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe algorithm as being a hash and it may not know the digest size. 115071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 97 — Definition of TPML_DIGEST_VALUES Structure 115091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 115101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 115121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 115141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 115161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 115181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of digests in the list 115201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigests[count]{:HASH_COUNT} 115221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_HA 115241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna list of tagged digests 115261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when count is greater than the possible 115271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of banks 115281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 115301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.7 TPM2B_DIGEST_VALUES 115321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDigest list in a sized buffer. This list is returned by TPM2_PCR_SequenceComplete(). 115331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 98 — Definition of TPM2B_DIGEST_VALUES Structure 115341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 115351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 115371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 115391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 115411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 115431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the operand buffer 115451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer [size] {:sizeof(TPML_DIGEST_VALUES)} 115471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 115491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe operand 115511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 115531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 115541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 115561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 115571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 95 115591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 115601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 115621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 115641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.8 TPML_PCR_SELECTION 115661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is used to indicate the PCR that are included in a selection when more than one PCR value may 115671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe selected. 115681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is an input parameter to TPM2_PolicyPCR() to indicate the PCR that will be included in the 115691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest of PCR for the authorization. The structure is used in TPM2_PCR_Read() command to indicate the 115701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR values to be returned and in the response to indicate which PCR are included in the list of returned 115711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigests. The structure is an output parameter from TPM2_Create() and indicates the PCR used in the 115721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest of the PCR state when the object was created. The structure is also contained in the attestation 115731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure of TPM2_Quote(). 115741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen this structure is used to select PCR to be included in a digest, the selected PCR are concatenated 115751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto create a “message” containing all of the PCR, and then the message is hashed using the contextspecific hash algorithm. 115761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 99 — Definition of TPML_PCR_SELECTION Structure 115771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 115781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 115801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 115821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 115841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 115861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of selection structures 115881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value of zero is allowed. 115891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrSelections[count]{:HASH_COUNT} 115911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_PCR_SELECTION 115931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist of selections 115951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when count is greater 115961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan the possible number of banks 115971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 115981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 115991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.9 TPML_ALG_PROPERTY 116011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is used to report on a list of algorithm attributes. It is returned in a TPM2_GetCapability(). 116021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 100 — Definition of TPML_ALG_PROPERTY Structure <OUT> 116031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 116041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 116061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 116081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 116101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 116121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of algorithm properties structures 116141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value of zero is allowed. 116151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnalgProperties[count]{:MAX_CAP_ALGS} 116171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ALG_PROPERTY 116191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist of properties 116211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.10 TPML_TAGGED_TPM_PROPERTY 116231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is used to report on a list of properties that are TPMS_TAGGED_PROPERTY values. It is 116241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreturned by a TPM2_GetCapability(). 116251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 101 — Definition of TPML_TAGGED_TPM_PROPERTY Structure <OUT> 116261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 116271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 116291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 116311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 116331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 116351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of properties 116371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value of zero is allowed. 116381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahntpmProperty[count]{:MAX_TPM_PROPERTIES} TPMS_TAGGED_PROPERTY 116401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 96 116421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 116431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 116451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 116461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan array of tagged properties 116481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 116501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 116511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 116531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 116551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.11 TPML_TAGGED_PCR_PROPERTY 116571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is used to report on a list of properties that are TPMS_PCR_SELECT values. It is returned by a 116581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability(). 116591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 102 — Definition of TPML_TAGGED_PCR_PROPERTY Structure <OUT> 116601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 116611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 116631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 116651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 116671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 116691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of properties 116711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value of zero is allowed. 116721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrProperty[count]{:MAX_PCR_PROPERTIES} 116741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_TAGGED_PCR_SELECT a tagged PCR selection 116761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.8.12 TPML_ECC_CURVE 116781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis list is used to report the ECC curve ID values supported by the TPM. It is returned by a 116791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_GetCapability(). 116801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 103 — Definition of {ECC} TPML_ECC_CURVE Structure <OUT> 116811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 116821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 116841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 116861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 116881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 116901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of curves 116921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value of zero is allowed. 116931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahneccCurves[count]{:MAX_ECC_CURVES} 116951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_CURVE 116971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 116981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnarray of ECC curve identifiers 116991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.9 Capabilities Structures 117011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.9.1 TPMU_CAPABILITIES 117021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 104 — Definition of TPMU_CAPABILITIES Union <OUT> 117031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 117041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 117061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 117081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithms 117101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_ALG_PROPERTY 117121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_ALGS 117141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandles 117161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_HANDLE 117181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_HANDLES 117201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand 117221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CCA 117241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_COMMANDS 117261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnppCommands 117281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CC 117301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_PP_COMMANDS 117321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauditCommands 117341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_CC 117361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_AUDIT_COMMANDS 117381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnassignedPCR 117401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_PCR_SELECTION 117421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_PCRS 117441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahntpmProperties 117461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_TAGGED_TPM_PROPERTY 117481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_TPM_PROPERTIES 117501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrProperties 117521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_TAGGED_PCR_PROPERTY 117541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_PCR_PROPERTIES 117561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahneccCurves 117581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_ECC_CURVE 117601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP_ECC_CURVES 117621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 117641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 117651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 117671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 117681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 117701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 117721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 97 117741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 117751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 117771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 117791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.9.2 TPMS_CAPABILITY_DATA 117811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis data area is returned in response to a TPM2_GetCapability(). 117821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 105 — Definition of TPMS_CAPABILITY_DATA Structure <OUT> 117831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 117841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 117861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 117881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncapability 117901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_CAP 117921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe capability 117941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[capability]data 117961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_CAPABILITIES 117981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 117991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe capability data 118001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10 Clock/Counter Structures 118021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.1 TPMS_CLOCK_INFO 118031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used in each of the attestation commands. 118041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 106 — Definition of TPMS_CLOCK_INFO Structure 118051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 118061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 118081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 118101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnclock 118121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 118141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntime in milliseconds during which the TPM has been powered 118161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure element is used to report on the TPM's Clock value. 118171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe value of Clock shall be recorded in non-volatile memory no 118181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn22 118191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnless often than once per 2 milliseconds (~69.9 minutes) of TPM 118201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoperation. The reference for the millisecond timer is the TPM 118211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoscillator. 118221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value is reset to zero when the Storage Primary Seed is 118231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanged (TPM2_Clear()). 118241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value may be advanced by TPM2_AdvanceClock(). 118251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnresetCount 118271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 118291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of occurrences of TPM Reset since the last TPM2_Clear() 118311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnrestartCount 118331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 118351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of times that TPM2_Shutdown() or _TPM_Hash_Start have 118371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoccurred since the last TPM Reset or TPM2_Clear(). 118381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsafe 118401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_YES_NO 118421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno value of Clock greater than the current value of Clock has been 118441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpreviously reported by the TPM. Set to YES on TPM2_Clear(). 118451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.2 Clock 118471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClock is a monotonically increasing counter that advances whenever power is applied to the TPM. The 118481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue of Clock may be set forward with TPM2_ClockSet() if ownerAuth or platformAuth is provided. The 118491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue of Clock is incremented each millisecond. 118501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Clear() will set Clock to zero. 118511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClock will be non-volatile but may have a volatile component that is updated every millisecond with the 118521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnon-volatile component updated at a lower rate. If the implementation uses a volatile component, the non22 118531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvolatile component shall be updated no less frequently than every 2 milliseconds (~69.9 minutes). The 118541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnupdate rate of the non-volatile portion of Clock shall be reported by a TPM2_GetCapability() with 118551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncapability = TPM_CAP_TPM_PROPERTIES and property = TPM_PT_CLOCK_UPDATE. 118561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.3 ResetCount 118571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis counter shall increment on each TPM Reset. This counter shall be reset to zero by TPM2_Clear(). 118581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 98 118601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 118611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 118631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 118641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 118661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 118671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 118691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 118711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.4 RestartCount 118731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis counter shall increment by one for each TPM Restart or TPM Resume. The restartCount shall be 118741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreset to zero on a TPM Reset or TPM2_Clear(). 118751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.5 Safe 118761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis parameter is set to YES when the value reported in Clock is guaranteed to be unique for the current 118771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOwner. It is set to NO when the value of Clock may have been reported in a previous attestation or 118781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaccess. 118791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis parameter will be YES if a TPM2_Startup() was preceded by TPM2_Shutdown() with no intervening 118801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommands. It will also be YES after an update of the non-volatile bits of Clock have been updated at the 118811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnend of an update interval. 118821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf a TPM implementation does not implement 118831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CLOCK_INFO.clock shall always be zero. 118841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClock, 118861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSafe 118881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall 118901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalways 118921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe 118941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 118961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 118981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 118991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis parameter will be set to YES by TPM2_Clear(). 119001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.10.6 TPMS_TIME_INFO 119011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used in the TPM2_TICK attestation. 119021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe Time value reported in this structure is reset whenever the TPM is reset. An implementation may 119031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreset the value of Time any time after _TPM_Init and before the TPM returns after TPM2_Start(). The 119041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue of Time shall increment continuously while power is applied to the TPM. 119051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 107 — Definition of TPMS_TIME_INFO Structure 119061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 119071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 119091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 119111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntime 119131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 119151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntime in milliseconds since the last _TPM_Init() or TPM2_Startup() 119171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure element is used to report on the TPM's Time value. 119181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnclockInfo 119201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CLOCK_INFO 119221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna structure containing the clock information 119241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 119261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 119271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 119291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 119301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 99 119321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 119331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 119351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 119371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11 TPM Attestation Structures 119391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.1 Introduction 119401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis clause describes the structures that are used when a TPM creates a structure to be signed. The 119411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigning structures follow a standard format TPM2B_ATTEST with case-specific information embedded. 119421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.2 TPMS_TIME_ATTEST_INFO 119431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used when the TPM performs TPM2_GetClock. 119441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 108 — Definition of TPMS_TIME_ATTEST_INFO Structure <OUT> 119451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 119461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 119481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 119501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntime 119521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_TIME_INFO 119541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe Time, clock, resetCount, restartCount, and Safe indicator 119561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnfirmwareVersion 119581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 119601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna vendor-specific value indicating the version number of the 119621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfirmware 119631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.3 TPMS_CERTIFY_INFO 119651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the attested data for TPM2_Certify(). 119661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 109 — Definition of TPMS_CERTIFY_INFO Structure <OUT> 119671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 119681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 119701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 119721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnname 119741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME 119761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName of the certified object 119781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnqualifiedName 119801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME 119821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnQualified Name of the certified object 119841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.1 TPMS_QUOTE_INFO 119861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the attested data for TPM2_Quote(). 119871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 110 — Definition of TPMS_QUOTE_INFO Structure <OUT> 119881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 119891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 119911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 119931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrSelect 119951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_PCR_SELECTION 119971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 119981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninformation on algID, PCR selected and digest 119991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrDigest 120011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 120031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest of the selected PCR using the hash of the signing key 120051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 100 120071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 120081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 120101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 120111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 120131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 120141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 120161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 120181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.2 TPMS_COMMAND_AUDIT_INFO 120201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the attested data for TPM2_GetCommandAuditDigest(). 120211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 111 — Definition of TPMS_COMMAND_AUDIT_INFO Structure <OUT> 120221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 120231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 120251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 120271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauditCounter 120291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 120311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe monotonic audit counter 120331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahndigestAlg 120351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID 120371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash algorithm used for the command audit 120391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauditDigest 120411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 120431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe current value of the audit digest 120451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncommandDigest 120471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 120491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest of the command codes being audited using digestAlg 120511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.3 TPMS_SESSION_AUDIT_INFO 120531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the attested data for TPM2_GetSessionAuditDigest(). 120541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 112 — Definition of TPMS_SESSION_AUDIT_INFO Structure <OUT> 120551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 120561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 120581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 120601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnexclusiveSession 120621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_YES_NO 120641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncurrent exclusive status of the session 120661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTRUE if all of the commands recorded in the sessionDigest were 120671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexecuted without any intervening TPM command that did not use 120681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis transport session 120691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsessionDigest 120711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 120731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe current value of the session audit digest 120751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.4 TPMS_CREATION_INFO 120771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the attested data for TPM2_CertifyCreation(). 120781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 113 — Definition of TPMS_CREATION_INFO Structure <OUT> 120791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 120801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 120821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 120841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnobjectName 120861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME 120881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName of the object 120901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncreationHash 120921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 120941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncreationHash 120961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 120971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.5 TPMS_NV_CERTIFY_INFO 120981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure contains the Name and contents of the selected NV Index that is certified by 120991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_NV_Certify(). 121001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 114 — Definition of TPMS_NV_CERTIFY_INFO Structure <OUT> 121011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 121021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 121041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 121061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnindexName 121081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME 121101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName of the NV Index 121121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoffset 121141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 121161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe offset parameter of TPM2_NV_Certify() 121181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnnvContents 121201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_MAX_NV_BUFFER 121221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontents of the NV Index 121241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 121261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 121271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 121291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 121301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 101 121321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 121331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 121351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 121371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.6 TPMI_ST_ATTEST 121391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 115 — Definition of (TPM_ST) TPMI_ST_ATTEST Type <OUT> 121401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 121411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 121431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_CERTIFY 121451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated by TPM2_Certify() 121471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_QUOTE 121491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated by TPM2_Quote() 121511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_SESSION_AUDIT 121531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated by TPM2_GetSessionAuditDigest() 121551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_COMMAND_AUDIT 121571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated by TPM2_GetCommandAuditDigest() 121591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_TIME 121611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated by TPM2_GetTime() 121631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_CREATION 121651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated by TPM2_CertifyCreation() 121671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_NV 121691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated by TPM2_NV_Certify() 121711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.7 TPMU_ATTEST 121731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 116 — Definition of TPMU_ATTEST Union <OUT> 121741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 121751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 121771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 121791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncertify 121811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CERTIFY_INFO 121831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_CERTIFY 121851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncreation 121871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CREATION_INFO 121891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_CREATION 121911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnquote 121931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_QUOTE_INFO 121951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_QUOTE 121971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 121981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncommandAudit 121991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_COMMAND_AUDIT_INFO TPM_ST_ATTEST_COMMAND_AUDIT 122011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsessionAudit 122031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SESSION_AUDIT_INFO 122051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_SESSION_AUDIT 122071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntime 122091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_TIME_ATTEST_INFO 122111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_TIME 122131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnv 122151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_NV_CERTIFY_INFO 122171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ST_ATTEST_NV 122191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 102 122211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 122221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 122241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 122251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 122271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 122281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 122301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 122321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.8 TPMS_ATTEST 122341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used on each TPM-generated signed structure. The signature is over this structure. 122351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the structure is signed by a key in the Storage hierarchy, the values of clockInfo.resetCount, 122361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnclockInfo.restartCount, and firmwareVersion are obfuscated with a per-key obfuscation value. 122371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 117 — Definition of TPMS_ATTEST Structure <OUT> 122381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 122391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 122411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 122431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmagic 122451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_GENERATED 122471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe indication that this structure was created by a TPM (always 122491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_GENERATED_VALUE) 122501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntype 122521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ST_ATTEST 122541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntype of the attestation structure 122561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnqualifiedSigner 122581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME 122601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnQualified Name of the signing key 122621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnextraData 122641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DATA 122661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexternal information supplied by caller 122681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 122691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPM2B_DATA structure provides room for a digest and a 122711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmethod indicator to indicate the components of the digest. 122721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe definition of this method indicator is outside the scope 122731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof this specification. 122741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnclockInfo 122761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CLOCK_INFO 122781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClock, resetCount, restartCount, and Safe 122801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnfirmwareVersion 122821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 122841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM-vendor-specific field identifying the firmware on the TPM 122861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[type]attested 122881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ATTEST 122901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe type-specific attestation information 122921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.11.9 TPM2B_ATTEST 122941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis sized buffer to contain the signed structure. The attestationData is the signed portion of the structure. 122951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe size parameter is not signed. 122961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 118 — Definition of TPM2B_ATTEST Structure <OUT> 122971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 122981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 122991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 123001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 123021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 123041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 123061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the attestationData structure 123081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnattestationData[size]{:sizeof(TPMS_ATTEST)} 123101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 123121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe signed structure 123141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 123161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 123171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 123191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 123201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 103 123221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 123231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 123251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 123271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.12 Authorization Structures 123291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe structures in this clause are used for all authorizations. One or more of these structures will be 123301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpresent in a command or response that has a tag of TPM_ST_SESSIONS. 123311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.12.1 TPMS_AUTH_COMMAND 123321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the format used for each of the authorizations in the session area of a command. 123331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 119 — Definition of TPMS_AUTH_COMMAND Structure <IN> 123341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 123351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 123371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 123391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsessionHandle 123411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SH_AUTH_SESSION+ 123431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe session handle 123451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnonce 123471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NONCE 123491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe session nonce, may be the Empty Buffer 123511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsessionAttributes 123531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_SESSION 123551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe session attributes 123571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhmac 123591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_AUTH 123611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahneither an HMAC, a password, or an EmptyAuth 123631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10.12.2 TPMS_AUTH_RESPONSE 123651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the format for each of the authorizations in the session area of the response. If the TPM returns 123661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RC_SUCCESS, then the session area of the response contains the same number of authorizations 123671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnas the command and the authorizations are in the same order. 123681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 120 — Definition of TPMS_AUTH_RESPONSE Structure <OUT> 123691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 123701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 123721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 123741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnonce 123761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NONCE 123781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe session nonce, may be the Empty Buffer 123801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsessionAttributes 123821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_SESSION 123841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe session attributes 123861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhmac 123881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_AUTH 123901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahneither an HMAC, a password, or an EmptyAuth 123921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 104 123941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 123951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 123971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 123981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 123991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 124001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 124011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 124031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 124051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11 Algorithm Parameters and Structures 124071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1 Symmetric 124081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.1 Introduction 124091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis clause defines the parameters and structures for describing symmetric algorithms. 124101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.2 TPMI_AES_KEY_BITS 124111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type defines the supported sizes for an AES key. This type is used to allow the 124121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaling routine to generate the proper validation code for the supported key sizes. An 124131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation that supports different key sizes would have a different set of selections. 124141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen used in TPM2_StartAuthSession(), the mode parameter shall be TPM_ALG_CFB. 124151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 124161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKey size is expressed in bits. 124181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 124201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe definition for AES_KEY_SIZES_BITS used in the reference implementation is found in Annex B 124221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 121 — Definition of {AES} (TPM_KEY_BITS) TPMI_AES_KEY_BITS Type 124241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 124251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 124271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn$AES_KEY_SIZES_BITS 124291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of bits in the key 124311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 124331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror when key size is not supported 124351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.3 TPMI_SM4_KEY_BITS 124371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis interface type defines the supported sizes for an SM4 key. This type is used to allow the 124381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaling routine to generate the proper validation code for the supported key sizes. An 124391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation that supports different key sizes would have a different set of selections. 124401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 124411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4 only supports a key size of 128 bits. 124431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 122 — Definition of {SM4} (TPM_KEY_BITS) TPMI_SM4_KEY_BITS Type 124451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 124461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 124481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn$SM4_KEY_SIZES_BITS 124501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of bits in the key 124521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 124541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 124561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 124571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 124591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 124601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 105 124621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 124631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 124651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 124671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.4 TPMU_SYM_KEY_BITS 124691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis union is used to collect the symmetric encryption key sizes. 124701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe xor entry is a hash algorithms selector and not a key size in bits. This overload is used in order to 124711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnavoid an additional level of indirection with another union and another set of selectors. 124721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe xor entry is only selected in a TPMT_SYM_DEF, which is used to select the parameter encryption 124731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue. 124741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 123 — Definition of TPMU_SYM_KEY_BITS Union 124751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 124761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 124781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 124801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaes 124821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_AES_KEY_BITS 124841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_AES 124861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4 124881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_SM4_KEY_BITS 124901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM4 124921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsym 124941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_KEY_BITS 124961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnxor 124981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 124991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 125001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 125021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen selector may be any of the 125041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric block ciphers 125051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR 125061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoverload for using xor 125081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 125091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 125111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 125131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed 125141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis 125161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot 125181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 125201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.5 TPMU_SYM_MODE 125221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis union allows the mode value in a TPMT_SYM_DEF or TPMT_SYM_DEF_OBJECT to be empty. 125231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 124 — Definition of TPMU_SYM_MODE Union 125241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 125251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 125271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 125291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 125311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaes 125331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_SYM_MODE 125351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_AES 125371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 125391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 125411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed 125421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis 125441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot 125461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4 125481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_SYM_MODE 125501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM4 125521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 125541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 125561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed 125571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis 125591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot 125611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsym 125631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_SYM_MODE 125651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen selector may be any of the 125671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric block ciphers 125681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnxor 125701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR 125721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno mode selector 125741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 125761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 125781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno mode selector 125801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 106 125821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 125831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 125851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 125861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 125881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 125891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 125911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 125931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.6 TPMU_SYM_DETAILS 125951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis union allows additional parameters to be added for a symmetric cipher. Currently, no additional 125961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters are required for any of the symmetric algorithms. 125971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 125981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 125991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “x” character in the table title will suppress generation of this type as the parser is not, at this time, 126001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnable to generate the proper values (a union of all empty data types). When an algorithm is added that 126011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires additional parameterization, the Type column will contain a value and the “x” may be removed. 126021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 125 — xDefinition of TPMU_SYM_DETAILS Union 126041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 126051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 126071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 126091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaes 126111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_AES 126131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4 126151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 126171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM4 126191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsym 126211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhen selector may be any of the 126231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric block ciphers 126241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnxor 126261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR 126281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 126301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 126321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.7 TPMT_SYM_DEF 126341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMT_SYM_DEF structure is used to select an algorithm to be used for parameter encryption in 126351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthose cases when different symmetric algorithms may be selected. 126361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 126 — Definition of TPMT_SYM_DEF Structure 126371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 126381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 126401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 126421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm 126441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_SYM 126461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates a symmetric algorithm 126481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[algorithm]keyBits 126501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_KEY_BITS 126521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna supported key size 126541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[algorithm]mode 126561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_MODE 126581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe mode for the key 126601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn//[algorithm]details 126621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_DETAILS 126641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontains additional algorithm details 126661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 126671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is commented out at this time as the parser 126691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay not produce the proper code for a union if 126701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnone of the selectors produces any data. 126711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.8 TPMT_SYM_DEF_OBJECT 126731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used when different symmetric block cipher (not XOR) algorithms may be selected. 126741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 127 — Definition of TPMT_SYM_DEF_OBJECT Structure 126751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 126761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 126781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 126801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm 126821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_SYM_OBJECT 126841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselects a symmetric block cipher 126861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[algorithm]keyBits 126881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_KEY_BITS 126901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe key size 126921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[algorithm]mode 126941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_MODE 126961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefault mode 126981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 126991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn//[algorithm]details 127001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SYM_DETAILS 127021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontains the additional algorithm details, if any 127041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 127051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 127071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 127081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is commented out at this time as the parser 127101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay not produce the proper code for a union if 127111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnone of the selectors produces any data. 127121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 127141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 127151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 107 127171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 127181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 127201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 127221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.9 TPM2B_SYM_KEY 127241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used to hold a symmetric key in the sensitive area of an asymmetric object. 127251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe number of bits in the key is in keyBits in the public area. When keyBits is not an even multiple of 8 127261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbits, the unused bits of buffer will be the most significant bits of buffer[0] and size will be rounded up to 127271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of octets required to hold all bits of the key. 127281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 128 — Definition of TPM2B_SYM_KEY Structure 127291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 127301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 127321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 127341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 127361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 127381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize, in octets, of the buffer containing the key; may be 127401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnzero 127411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer [size] {:MAX_SYM_KEY_BYTES} 127431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 127451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe key 127471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.10 TPMS_SYMCIPHER_PARMS 127491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure contains the parameters for a symmetric block cipher object. 127501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 129 — Definition of TPMS_SYMCIPHER_PARMS Structure 127511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 127521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 127541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 127561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsym 127581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SYM_DEF_OBJECT 127601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna symmetric block cipher 127621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.11 TPM2B_SENSITIVE_DATA 127641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis buffer holds the secret data of a data object. It can hold as much as 128 octets of data. 127651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SYM_DATA shall be 128. 127661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 127671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA named value rather than a numeric is used to make coding clearer. A numeric value does not indicate 127691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe reason that it has the specific value that is has. 127701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 130 — Definition of TPM2B_SENSITIVE_DATA Structure 127721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 127731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 127751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 127771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 127791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size]{: MAX_SYM_DATA} 127811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 127831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 108 127851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 127861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 127881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe keyed hash private data structure 127901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 127921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 127931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 127951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 127961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 127981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 127991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 128001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.12 TPMS_SENSITIVE_CREATE 128021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure defines the values to be placed in the sensitive area of a created object. This structure is 128031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnonly used within a TPM2B_SENSITIVE_CREATE structure. 128041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 128051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen sent to the TPM or unsealed, data is usually encrypted using parameter encryption. 128071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf data.size is not zero, and the object is not a keyedHash, data.size must match the size indicated in the 128091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeySize of public.parameters. If the object is a keyedHash, data.size may be any value up to the 128101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum allowed in a TPM2B_SENSITIVE_DATA. 128111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor an asymmetric object, data shall be an Empty Buffer and sensitiveDataOrigin shall be SET. 128121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 131 — Definition of TPMS_SENSITIVE_CREATE Structure <IN> 128131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 128141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 128161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 128181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnuserAuth 128201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_AUTH 128221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe USER auth secret value 128241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndata 128261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_SENSITIVE_DATA 128281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndata to be sealed 128301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 128321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 128331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 128351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 128361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 109 128381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 128391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 128411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 128431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.13 TPM2B_SENSITIVE_CREATE 128451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure contains the sensitive creation data in a sized buffer. This structure is defined so that both 128461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe userAuth and data values of the TPMS_SENSITIVE_CREATE may be passed as a single parameter 128471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor parameter encryption purposes. 128481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 132 — Definition of TPM2B_SENSITIVE_CREATE Structure <IN, S> 128491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 128501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 128521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 128541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize= 128561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 128581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of sensitive in octets (may not be zero) 128601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 128611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsensitive 128631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SENSITIVE_CREATE 128651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe userAuth and data parameters in this buffer 128671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmay both be zero length but the minimum size of 128681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis parameter will be the sum of the size fields of 128691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 128701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntwo 128711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters 128721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof 128731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 128741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SENSITIVE_CREATE. 128751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndata to be sealed or a symmetric key value. 128771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.14 TPMS_SCHEME_SIGHASH 128791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is the scheme data for schemes that only require a hash to complete the scheme definition. 128801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 133 — Definition of TPMS_SCHEME_SIGHASH Structure 128811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 128821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 128841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 128861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 128881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 128901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used to digest the message 128921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.15 TPMI_ALG_HASH_SCHEME 128941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the list of values that may appear in a keyedHash as the scheme parameter. 128951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 134 — Definition of (TPM_ALG_ID) TPMI_ALG_KEYEDHASH_SCHEME Type 128961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 128971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 128981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 128991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_HMAC 129011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe "signing" scheme 129031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR 129051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe "obfuscation" scheme 129071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 129091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 129101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.16 HMAC_SIG_SCHEME 129121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 135 — Definition of Types for HMAC_SIG_SCHEME 129131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 129141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 129161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH 129181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_HMAC 129201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 110 129221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 129231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 129251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 129271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 129281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 129301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 129311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 129331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 129351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.17 TPMS_SCHEME_XOR 129371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is for the XOR encryption scheme. 129381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 136 — Definition of TPMS_SCHEME_XOR Structure 129391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 129401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 129421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 129441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 129461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_HASH 129481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used to digest the message 129501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkdf 129521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_KDF 129541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe key derivation function 129561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.18 TPMU_SCHEME_HMAC 129581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 137 — Definition of TPMU_SCHEME_KEYEDHASH Union <IN/OUT, S> 129591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 129601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 129621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 129641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 129661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhmac 129681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_HMAC 129701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_HMAC 129721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe "signing" scheme 129741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnxor 129761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_XOR 129781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_XOR 129801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe "obfuscation" scheme 129821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 129841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 129861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.1.19 TPMT_KEYEDHASH_SCHEME 129881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used for a hash signing object. 129891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 138 — Definition of TPMT_KEYEDHASH_SCHEME Structure 129901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 129911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 129931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 129951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 129971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 129981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_KEYEDHASH_SCHEME 129991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselects the scheme 130011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[scheme]details 130031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SCHEME_KEYEDHASH 130051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe scheme parameters 130071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 130091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 130101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 130121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 130131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 111 130151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 130161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 130181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 130201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2 Asymmetric 130221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1 Signing Schemes 130231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.1 130241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 130261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese structures are used to define the method in which the signature is to be created. These schemes 130281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwould appear in an object’s public area and in commands where the signing scheme is variable. 130291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEvery scheme is required to indicate a hash that is used in digesting the message. 130301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.2 130311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA_SIG_SCHEMES 130331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese are the RSA schemes that only need a hash algorithm as a scheme parameter. 130351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor the TPM_ALG_RSAPSS signing scheme, the same hash algorithm is used for digesting TPMgenerated data (an attestation structure) and in the KDF used for the masking operation. The salt size is 130361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalways the largest salt value that will fit into the available space. 130371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 139 — Definition of {RSA} Types for RSA_SIG_SCHEMES 130381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 130391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 130411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 130431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH TPMS_SCHEME_RSASSA 130451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH TPMS_SCHEME_RSAPSS 130461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.3 130481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC_SIG_SCHEMES 130501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese are the ECC schemes that only need a hash algorithm as a controlling parameter. 130521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 140 — Definition of {ECC} Types for ECC_SIG_SCHEMES 130531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 130541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 130561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 130581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH TPMS_SCHEME_ECDSA 130601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH TPMS_SCHEME_SM2 130611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH TPMS_SCHEME_ECSCHNORR 130621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.4 TPMS_SCHEME_ECDAA 130641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 141 — Definition of {ECC} TPMS_SCHEME_ECDAA Structure 130651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 130661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 130681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 130701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 130721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 130741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used to digest the message 130761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncount 130781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 130801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe counter value that is used between TPM2_Commit() and the sign 130821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoperation 130831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 112 130851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 130861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 130881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 130891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 130911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 130921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 130941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.5 130951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 130971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 130981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SIG_SCHEME 130991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 142 — Definition of TPMU_SIG_SCHEME Union <IN/OUT, S> 131001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 131021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 131041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 131061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 131081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsassa 131101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_RSASSA 131121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA 131141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe PKCS#1v1.5 scheme 131161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsapss 131181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_RSAPSS 131201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAPSS 131221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe PKCS#1v2.1 PSS scheme 131241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecdsa 131261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECDSA 131281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDSA 131301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe ECDSA scheme 131321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsm2 131341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SM2 131361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 131381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECDSA from SM2 131401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecdaa 131421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECDAA 131441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDAA 131461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe ECDAA scheme 131481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnecSchnorr 131501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECSCHNORR 131521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECSCHNORR 131541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe EC Schnorr 131561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhmac 131581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_HMAC 131601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_HMAC 131621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe HMAC scheme 131641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnany 131661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH 131681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 131701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.1.6 131721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselector that allows access to 131741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest for any signing scheme 131751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 131761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno scheme or default 131781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SIG_SCHEME 131801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 143 — Definition of TPMT_SIG_SCHEME Structure 131811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 131831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 131851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 131871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 131891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_SIG_SCHEME 131911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme selector 131931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[scheme]details 131951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SIG_SCHEME 131971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 131981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme parameters 131991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 132011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 132021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 132041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 132051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 113 132071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 132081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 132101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 132121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2 Encryption Schemes 132141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2.1 132151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 132171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese structures are used to indicate the hash algorithm used for the encrypting process. These 132191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnschemes would appear in an object’s public area. 132201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2.2 132211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_OAEP 132231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 144 — Definition of {RSA} TPMS_SCHEME_OAEP Structure 132241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 132261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 132281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 132301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 132321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_HASH 132341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used to digest the message 132361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.2.3 132381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECDH 132401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor ECDH, KDFe is used for the key derivation function that only a hash algorithm is needed to complete 132421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe definition. 132431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 145 — Definition of {ECC} TPMS_SCHEME_ECDH Structure 132441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 132451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 132471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 132491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 132511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_HASH 132531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used in the KDF 132551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3 Key Derivation Schemes 132571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.1 132581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 132601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese structures are used to define the key derivation for symmetric secret sharing using asymmetric 132621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmethods. A secret shareing scheme is required in any asymmetric key with the decrypt attribute SET. 132631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese schemes would appear in an object’s public area and in commands where the secret sharing 132641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme is variable. 132651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEach scheme includes a symmetric algorithm and a KDF selection. 132661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.2 132671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_MGF1 132691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 146 — Definition of TPMS_SCHEME_MGF1 Structure 132701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 132721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 132741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 132761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 132781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 132801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used in the KDF 132821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.3 132841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF1_SP800_56a 132861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 147 — Definition of {ECC} TPMS_SCHEME_KDF1_SP800_56a Structure 132871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 132891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 132911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 132931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 132951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 132971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 132981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used in the KDF 132991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 114 133011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 133021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 133041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 133051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 133071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 133081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 133101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.4 133111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 133131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF2 133151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 148 — Definition of TPMS_SCHEME_KDF2 Structure 133161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 133181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 133201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 133221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 133241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 133261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used in the KDF 133281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.5 133301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF1_SP800_108 133321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 149 — Definition of TPMS_SCHEME_KDF1_SP800_108 Structure 133331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 133351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 133371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 133391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnhashAlg 133411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 133431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used in the KDF 133451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.6 133471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_KDF_SCHEME 133491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 150 — Definition of TPMU_KDF_SCHEME Union <IN/OUT, S> 133501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 133521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 133541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 133561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmgf1 133581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_MGF1 133601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_MGF1 133621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkdf1_SP800_56a TPMS_SCHEME_KDF1_SP800_56a 133641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF1_SP800_56a 133661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkdf2 133681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF2 133701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF2 133721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkdf1_sp800_108 133741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_KDF1_SP800_108 133761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 133781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KDF1_SP800_108 133801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 133821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.7 133841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 133861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_KDF_SCHEME 133881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 151 — Definition of TPMT_KDF_SCHEME Structure 133891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 133911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 133931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 133951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 133971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 133981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_KDF 133991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme selector 134011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[scheme]details 134031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_KDF_SCHEME 134051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme parameters 134071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 134091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 134101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 134121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 134131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 115 134151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 134161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 134181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.8 134191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 134211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_ASYM_SCHEME 134231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnList of all of the scheme types for any asymmetric algorithm. This is used to define the 134251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_ASYM_SCHEME. 134261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 152 — Definition of (TPM_ALG_ID) TPMI_ALG_ASYM_SCHEME Type <> 134271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 134281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 134301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA 134321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist of the allowed values 134341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAPSS 134361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAES 134371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OAEP 134381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDSA 134391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 134401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDAA 134411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDH 134421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 134431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 134441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.9 134461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ASYM_SCHEME 134481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis union of all asymmetric schemes is used in each of the asymmetric scheme structures. The actual 134501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme structure is defined by the interface type used for the selector. 134511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 134521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPMT_RSA_SCHEME structure uses the TPMU_ASYM_SCHEME union but the selector type is 134541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_RSA_SCHEME. This means that the only elements of the union that can be selected for th e 134551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_RSA_SCHEME are those that are in TPMI_RSA_SCHEME. 134561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 153 — Definition of TPMU_ASYM_SCHEME Union 134581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 134591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 134611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 134631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 134651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsassa 134671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_RSASSA 134691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA 134711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe PKCS#1v1.5 scheme 134731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsapss 134751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_RSAPSS 134771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAPSS 134791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe PKCS#1v2.1 PSS scheme 134811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAES 134831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe PKCS#1v2.1 RSAES scheme 134851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsaes 134871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoaep 134881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_OAEP 134901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OAEP 134921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe PKSC#1v2.1 OAEP scheme 134941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecdsa 134961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECDSA 134981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 134991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDSA 135001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan ECDSA scheme 135021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsm2 135041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SM2 135061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 135081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsign or key exchange from SM2 135101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecdaa 135121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECDAA 135141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDAA 135161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan ECDAA scheme 135181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnecSchnorr 135201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_ECSCHNORR 135221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECSCHNORR elliptic curve Schnorr signature 135241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecdh 135261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnanySig 135271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDH 135291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH 135301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 135321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 116 135341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 135351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 135371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 135391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 135401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno scheme or default 135421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis selects the NULL Signature. 135431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 135451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 135461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 135481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 135501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.3.10 TPMT_ASYM_SCHEME 135521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is defined to allow overlay of all of the schemes for any asymmetric object. This structure is 135531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot sent on the interface. 135541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 154 — Definition of TPMT_ASYM_SCHEME Structure <> 135551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 135561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 135581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 135601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 135621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_ASYM_SCHEME 135641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme selector 135661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[scheme]details 135681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ASYM_SCHEME 135701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme parameters 135721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4 RSA 135741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.1 135751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_RSA_SCHEME 135771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe list of values that may appear in the scheme parameter of a TPMS_RSA_PARMS structure. 135791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 155 — Definition of (TPM_ALG_ID) {RSA} TPMI_ALG_RSA_SCHEME Type 135801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 135811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 135831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA 135851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist of the allowed values 135871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAPSS 135891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAES 135901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OAEP 135911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 135921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 135931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.2 135951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_RSA_SCHEME 135971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 156 — Definition of {RSA} TPMT_RSA_SCHEME Structure 135981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 135991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 136001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 136021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 136041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 136061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_RSA_SCHEME 136081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme selector 136101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[scheme]details 136121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ASYM_SCHEME 136141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme parameters 136161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 136181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 136191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 136211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 136221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 117 136241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 136251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 136271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.3 136281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 136301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_RSA_DECRYPT 136321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe list of values that are allowed in a decryption scheme selection as used in TPM2_RSA_Encrypt() and 136341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_RSA_Decrypt(). 136351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 157 — Definition of (TPM_ALG_ID) {RSA} TPMI_ALG_RSA_DECRYPT Type 136361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 136371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 136391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAES 136411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OAEP 136421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 136431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 136441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.4 136461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_RSA_DECRYPT 136481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 158 — Definition of {RSA} TPMT_RSA_DECRYPT Structure 136491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 136511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 136531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 136551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 136571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_RSA_DECRYPT 136591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme selector 136611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[scheme]details 136631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_ASYM_SCHEME 136651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme parameters 136671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.5 136691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PUBLIC_KEY_RSA 136711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis sized buffer holds the largest RSA public key supported by the TPM. 136731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 136741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe reference implementation only supports key sizes of 1,024 and 2,048 bits. 136761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 159 — Definition of {RSA} TPM2B_PUBLIC_KEY_RSA Structure 136781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 136791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 136811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 136831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 136851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 136871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the buffer 136891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe value of zero is only valid for create. 136901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size] {: MAX_RSA_KEY_BYTES} 136921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 136941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 136961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.6 136981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 136991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RSA_KEY_BITS 137001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis holds the value that is the maximum size allowed for an RSA key. 137021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 137031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn implementation is allowed to provide limited support for smaller RSA key sizes. That is, a TPM may be 137051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnable to accept a smaller RSA key size in TPM2_LoadExternal() when only the public area is loaded but 137061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot accept that smaller key size in any command that loads both the public and private portions of an RSA 137071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey. This would allow the TPM to validate signatures using the smaller key but would prevent the TPM 137081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfrom using the smaller key size for any other purpose. 137091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 137111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe definition for RSA_KEY_SIZES_BITS used in the reference implementation is found in Annex B 137131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 118 137151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 137161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 137181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 137191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 137211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 137221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 137241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 137261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 160 — Definition of {RSA} (TPM_KEY_BITS) TPMI_RSA_KEY_BITS Type 137281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 137291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 137311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn$RSA_KEY_SIZES_BITS 137331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of bits in the supported key 137351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 137371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror when key size is not supported 137391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.4.7 137411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE_KEY_RSA 137431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis sized buffer holds the largest RSA prime number supported by the TPM. 137451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 137461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAll primes are required to have exactly half the number of significant bits as the public modulus , and the 137481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsquare of each prime is required to have the same number of significant bits as the public modulus. 137491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 161 — Definition of {RSA} TPM2B_PRIVATE_KEY_RSA Structure 137511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 137521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 137541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 137561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 137581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size]{:MAX_RSA_KEY_BYTES/2} 137601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 137621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 137641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 137651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 137671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 137691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 137701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 119 137721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 137731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 137751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 137771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5 ECC 137791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.1 137801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 137821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis sized buffer holds the largest ECC parameter (coordinate) supported by the TPM. 137841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 162 — Definition of {ECC} TPM2B_ECC_PARAMETER Structure 137851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 137861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 137881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 137901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 137921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 137941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of buffer 137961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size] {:MAX_ECC_KEY_BYTES} 137981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 137991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 138001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe parameter data 138021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.2 138041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ECC_POINT 138061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure holds two ECC coordinates that, together, make up an ECC point. 138081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 163 — Definition of {ECC} TPMS_ECC_POINT Structure 138091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 138101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 138121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 138141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnx 138161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 138181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnX coordinate 138201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahny 138221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 138241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY coordinate 138261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.3 138281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_POINT 138301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is defined to allow a point to be a single sized parameter so that it may be encrypted. 138321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 138331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the point is to be omitted, the X and Y coordinates need to be individual ly set to Empty Buffers. The 138351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnminimum value for size will be four. It is checked indirectly by unmarshaling of the TPMS_ECC_POINT. If 138361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe type of point were BYTE, then size could have been zero. However, this would complicate the process 138371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof marshaling the structure. 138381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 164 — Definition of {ECC} TPM2B_ECC_POINT Structure 138401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 138411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 138431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 138451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize= 138471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 138491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the remainder of this structure 138511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpoint 138531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ECC_POINT 138551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncoordinates 138571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror returned if the unmarshaled size of point is 138581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot exactly equal to size 138591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 138611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 120 138631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 138641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 138661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 138671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 138691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 138701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 138721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.4 138731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 138751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_ECC_SCHEME 138771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 165 — Definition of (TPM_ALG_ID) {ECC} TPMI_ALG_ECC_SCHEME Type 138781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 138801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 138821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDSA 138841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthese are the selections allowed for an ECC key 138861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 138881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDAA 138891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECSCHNORR 138901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDH 138911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPM_ALG_NULL 138921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SCHEME 138931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.5 138951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ECC_CURVE 138971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 138981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe ECC curves implemented by the TPM. 138991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 139001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe definition of ECC_CURVES used in the reference implementation is found in Annex B 139021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 166 — Definition of {ECC} (TPM_ECC_CURVE) TPMI_ECC_CURVE Type 139041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 139051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 139071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn$ECC_CURVES 139091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe list of implemented curves 139111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_CURVE 139131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror when curve is not supported 139151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.6 139171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_ECC_SCHEME 139191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 167 — Definition of (TPMT_SIG_SCHEME) {ECC} TPMT_ECC_SCHEME Structure 139211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 139221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 139241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 139261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 139281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_ECC_SCHEME 139301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme selector 139321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[scheme]details 139341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SIG_SCHEME 139361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme parameters 139381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 139401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 139411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 139431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 139441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 121 139461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 139471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 139491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.2.5.7 139501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 139521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ALGORITHM_DETAIL_ECC 139541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used to report on the curve parameters of an ECC curve. It is returned by 139561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_ECC_Parameters(). 139571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 168 — Definition of {ECC} TPMS_ALGORITHM_DETAIL_ECC Structure <OUT> 139581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 139591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 139611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 139631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncurveID 139651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_CURVE 139671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnidentifier for the curve 139691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeySize 139711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 139731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSize in bits of the key 139751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkdf 139771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_KDF_SCHEME 139791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe default KDF and hash algorithm used in secret sharing 139811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoperations 139821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsign 139841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_ECC_SCHEME+ 139861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf not TPM_ALG_NULL, this is the mandatory signature 139881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme that is required to be used with this curve. 139891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnp 139911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 139931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFp (the modulus) 139951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 139971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 139981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 139991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncoefficient of the linear term in the curve equation 140011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnb 140031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 140051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnconstant term for curve equation 140071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahngX 140091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 140111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnx coordinate of base point G 140131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahngY 140151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 140171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahny coordinate of base point G 140191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnn 140211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 140231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnorder of G 140251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnh 140271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 140291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncofactor (a size of zero indicates a cofactor of 1) 140311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3 Signatures 140331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.1 TPMS_SIGNATURE_RSASSA 140341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 169 — Definition of {RSA} TPMS_SIGNATURE_RSASSA Structure 140351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 140361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 140381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 140401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash 140421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 140441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used to digest the message 140461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL is not allowed. 140471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsig 140491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PUBLIC_KEY_RSA 140511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe signature is the size of a public key. 140531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.2 TPMS_SIGNATURE_RSAPSS 140551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the TPM generates a PSS signature, the salt size is the largest size allowed by the key and hash 140561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncombination. 140571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEXAMPLE 140581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a 2,048-bit public modulus key and SHA1 hash, the salt size is 256 – 20 – 2 = 234 octets. 140601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 140621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhile this is significantly larger than required from a securit y perspective, it avoids issues of whether a 140641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparticular size of salt value is sufficient. 140651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 122 140671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 140681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 140701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 140711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 140731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 140741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 140761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 140781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 170 — Definition of {RSA} TPMS_SIGNATURE_RSAPSS Structure 140801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 140811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 140831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 140851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash 140871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 140891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used in the signature process 140911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL is not allowed. 140921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsig 140941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PUBLIC_KEY_RSA 140961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe signature is the size of a public key. 140981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 140991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.3 TPMS_SIGNATURE_ECDSA 141001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 171 — Definition of {ECC} TPMS_SIGNATURE_ECDSA Structure 141011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 141021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 141041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 141061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash 141081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 141101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used in the signature process 141121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL is not allowed. 141131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsignatureR 141151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 141171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsignatureS 141191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 141211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.4 TPMU_SIGNATURE 141231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMU_SIGNATURE_COMPOSITE is a union of the various signatures that is supported by a particular 141241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM implementation. The union allows substitution of any signature algorithm wherever a signature is 141251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired in a structure. Table 172 is an illustration of a TPMU_SIGNATURE for a TPM that implements 141261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnboth RSA and ECC signing. 141271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 141281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAll TPM are required to support a hash algorithm and the HMAC algorithm. 141301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen a symmetric algorithm is used for signing, the signing algorithm is assumed to be an HMAC based 141321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnon the indicated hash algorithm. The HMAC key will either be referenced as part of the usage or will be 141331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplied by context. 141341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 141351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe table below is illustrative. It would be modified to reflect the signatures produced by the TPM. 141371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 172 — Definition of TPMU_SIGNATURE Union <IN/OUT, S> 141391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 141401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 141421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 141441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 141461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsassa 141481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_RSASSA 141501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA 141521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna PKCS#1v1.5 signature 141541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsapss 141561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_RSAPSS 141581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAPSS 141601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna PKCS#1v2.1PSS signature 141621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecdsa 141641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_ECDSA 141661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDSA 141681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan ECDSA signature 141701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsm2 141721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_ECDSA 141741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SM2 141761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsame format as ECDSA 141781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecdaa 141801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_ECDSA 141821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECDAA 141841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsame format as ECDSA 141861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecschnorr 141881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SIGNATURE_ECDSA 141901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECSCHNORR 141921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsame format as ECDSA 141941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhmac 141961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_HA 141981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 141991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_HMAC 142001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC signature (required to 142021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe supported) 142031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnany 142051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SCHEME_SIGHASH 142071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnull 142091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 142111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 142121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused to access the hash 142141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 142151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 142171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 142181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe NULL signature 142201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 123 142221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 142231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 142251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 142271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.3.5 TPMT_SIGNATURE 142291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 173 shows the basic algorithm-agile structure when a symmetric or asymmetric signature is 142301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicated. The sigAlg parameter indicates the algorithm used for the signature. This structure is output 142311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfrom the attestation commands and is an input to TPM2_VerifySignature(), TPM2_PolicySigned(), and 142321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_FieldUpgradeStart(). 142331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 173 — Definition of TPMT_SIGNATURE Structure 142341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 142351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 142371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 142391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsigAlg 142411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_SIG_SCHEME 142431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnselector of the algorithm used to construct the signature 142451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[sigAlg]signature 142471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SIGNATURE 142491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis shall be the actual signature information. 142511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4 Key/Secret Exchange 142531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4.1 Introduction 142541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe structures in this clause are used when a key or secret is being exchanged. The exchange may be in 142551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_StartAuthSession() where the secret is injected for salting the session, 142581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Duplicate(), TPM2_Import, or TPM2_Rewrap() where the secret is the symmetric encryption 142621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey for the outer wrapper of a duplication blob, or 142631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_ActivateIdentity() or TPM2_CreateIdentity() where the secret is the symmetric encryption key 142671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor the credential blob. 142681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParticulars are described in Part 1. 142701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4.2 TPMU_ENCRYPTED_SECRET 142711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used to hold either an ephemeral public point for ECDH, an OAEP-encrypted block for 142721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA, or a symmetrically encrypted value. This structure is defined for the limited purpose of determining 142731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe size of a TPM2B_ENCRYPTED_SECRET. 142741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe symmetrically encrypted value may use either CFB or XOR encryption. 142751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 142761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 174 is illustrative. It would be modified depending on the algorithms supported in the TPM. 142781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 174 — Definition of TPMU_ENCRYPTED_SECRET Union <S> 142801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 142811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 142831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 142851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecc[sizeof(TPMS_ECC_POINT)] 142871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 142891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 142911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsa[MAX_RSA_KEY_BYTES] 142931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 142951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA 142971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 142981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric[sizeof(TPM2B_DIGEST)] 142991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 143011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SYMCIPHER 143031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyedHash[sizeof(TPM2B_DIGEST)] 143051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 143071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KEYEDHASH 143091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 124 143111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 143121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 143141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 143151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 143171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAny symmetrically encrypted 143191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsecret value will be limited to 143201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe no larger than a digest. 143211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 143231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 143241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 143261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 143281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11.4.3 TPM2B_ENCRYPTED_SECRET 143301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 175 — Definition of TPM2B_ENCRYPTED_SECRET Structure 143311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 143321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 143341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 143361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 143381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 143401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the secret value 143421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsecret[size] {:sizeof(TPMU_ENCRYPTED_SECRET)} 143441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 143461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsecret 143481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 143501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 143511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 143531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 143541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 125 143561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 143571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 143591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 143611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12 Key/Object Complex 143631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.1 Introduction 143641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn object description requires a TPM2B_PUBLIC structure and may require a TPMT_SENSITIVE 143651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure. When the structure is stored off the TPM, the TPMT_SENSITIVE structure is encrypted within a 143661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE structure. 143671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the object requires two components for its description, those components are loaded as separate 143681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters in the TPM2_Load() command. When the TPM creates an object that requires both 143691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncomponents, the TPM will return them as separate parameters from the TPM2_Create() operation. 143701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM may produce multiple different TPM2B_PRIVATE structures for a single TPM2B_PUBLIC 143711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructure. Creation of a modified TPM2B_PRIVATE structure requires that the full structure be loaded with 143721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM2_Load() command, modification of the TPMT_SENSITIVE data, and output of a new 143731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE structure. 143741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2 Public Area Structures 143751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.1 Description 143761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis clause defines the TPM2B_PUBLIC structure and the higher-level substructure that may be 143771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontained in a TPM2B_PUBLIC. The higher-level structures that are currently defined for inclusion in a 143781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PUBLIC are the 143791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructures for asymmetric keys, 143821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructures for symmetric keys, and 143861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstructures for sealed data. 143901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.2 TPMI_ALG_PUBLIC 143921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 176 — Definition of (TPM_ALG_ID) TPMI_ALG_PUBLIC Type 143931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues 143941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 143961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KEYEDHASH 143981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 143991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired of all TPM 144001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SYMCIPHER 144021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequired of all TPM 144041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA 144061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAt least one asymmetric algorithm shall be implemented. 144081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 144101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAt least one asymmetric algorithm shall be implemented. 144121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_TYPE 144141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code when a public type is not supported 144161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3 Type-Specific Parameters 144181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.1 144191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 144211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe public area contains two fields (parameters and unique) that vary by object type. The parameters 144231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfield varies according to the type of the object but the contents may be the same across multiple 144241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninstances of a particular type. The unique field format also varies according to the type of the object and 144251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwill also be unique for each instance. 144261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 126 144281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 144291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 144311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 144321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 144341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 144351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 144371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 144391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a symmetric key (type == TPM_ALG_SYMCIPHER), HMAC key (type == TPM_ALG_KEYEDHASH) 144411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor data object (also, type == TPM_ALG_KEYEDHASH), the contents of unique shall be computed from 144421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncomponents of the sensitive area of the object as follows: 144431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunique ≔ HnameAlg(seedValue || sensitive) 144451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(8) 144471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 144491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHnameAlg() 144511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hash algorithm used to compute the Name of the object 144531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnseedValue 144551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe digest-sized obfuscation value in the sensitive area of a symmetric 144571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey 144581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor 144591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric 144601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndata 144611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject 144621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfound 144631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin 144641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 144651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SENSITIVE.seedValue.buffer 144661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsensitive 144681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 144701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsecret 144711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey/data 144721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof 144731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SENSITIVE.sensitive.any.buffer 144741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.2 144761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 144781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject 144801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin 144821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 144841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_PUBLIC_ID 144861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 177 — Definition of TPMU_PUBLIC_ID Union <IN/OUT, S> 144871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 144891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 144911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 144931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyedHash 144951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 144971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 144981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KEYEDHASH 144991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsym 145011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 145031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SYMCIPHER 145051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsa 145071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PUBLIC_KEY_RSA 145091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA 145111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecc 145131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ECC_POINT 145151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 145171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.3 145191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 145211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_KEYEDHASH_PARMS 145231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure describes the parameters that would appear in the public area of a KEYEDHASH object. 145251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNote 145261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlthough the names are the same, the types of the structures are not the same as for asymmetric 145281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter lists. 145291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 178 — Definition of TPMS_KEYEDHASH_PARMS Structure 145311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 145321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 145341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 145361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 145381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_KEYEDHASH_SCHEME+ 145401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndicates the signing method used for a keyedHash signing 145421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject. This field also determines the size of the data field for a 145431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndata object created with TPM2_Create(). This field shall not be set 145441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto TPM_ALG_NULL in a template if either sign or encrypt is SET. 145451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.4 145471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ASYM_PARMS 145491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure contains the common public area parameters for an asymmetric key. The first two 145511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters of the parameter definition structures of an asymmetric key shall have the same two first 145521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncomponents. 145531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 145541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe sign parameter may have a different type in order to allow different schemes to be selected for each 145561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnasymmetric type but the first parameter of each scheme definition shall be a TPM_ALG_ID for a valid 145571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigning scheme. 145581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 145601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 145611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 145631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 145641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 127 145661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 145671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 145691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 145711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 179 — Definition of TPMS_ASYM_PARMS Structure <> 145721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 145741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 145761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 145781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric 145801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SYM_DEF_OBJECT+ 145821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe companion symmetric algorithm for a restricted 145841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecryption key and shall be set to a supported symmetric 145851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm 145861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis field is optional for keys that are not decryption keys 145871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand shall be set to TPM_ALG_NULL if not used. 145881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 145901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_ASYM_SCHEME+ 145921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 145931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor a key with the sign attribute SET, a valid signing 145941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme for the key type 145951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor a key with the decrypt attribute SET, a valid key 145961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexchange protocol 145971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor a key with sign and decrypt attributes, shall be 145981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 145991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.5 146011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_RSA_PARMS 146031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPM compatible with this specification and supporting RSA shall support numPrimes of two and an 146051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexponent of zero. Support for other values is optional. Use of other exponents in duplicated keys is not 146061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrecommended because the resulting keys would not be interoperable with other TPMs. 146071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 146081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplementations are not required to check that exponent is the default exponent. They may fail to load the 146101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey if exponent is not zero. The reference implementation allows the values listed in the table. 146111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 180 — Definition of {RSA} TPMS_RSA_PARMS Structure 146131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 146141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 146161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 146181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric 146201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SYM_DEF_OBJECT+ for a restricted decryption key, shall be set to a 146221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsupported symmetric algorithm, key size, and mode. 146231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif the key is not a restricted decryption key, this field 146241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be set to TPM_ALG_NULL. 146251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 146271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_RSA_SCHEME+ 146291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor a signing key, shall be either TPM_ALG_RSAPSS 146311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSASSA or TPM_ALG_NULL 146321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor an unrestricted decryption key, shall be 146331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSAES, 146341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_OAEP, 146351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor 146361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL unless the object also has the sign 146371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattribute 146381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor a restricted decryption key, this field shall be 146391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL 146401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 146411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyBits 146431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen both sign and decrypt are SET, restricted 146451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be CLEAR and scheme shall be 146461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL. 146471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RSA_KEY_BITS 146491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of bits in the public modulus 146511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT32 146531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe public exponent 146551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA prime number greater than 2. 146561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen zero, indicates that the exponent is the default 146571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16 146581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof 2 + 1 146591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_KEY_SIZE 146611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexponent 146621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 146641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 128 146661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 146671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 146691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 146701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 146721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 146731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 146751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.6 146761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 146781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ECC_PARMS 146801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure contains the parameters for prime modulus ECC. 146821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 181 — Definition of {ECC} TPMS_ECC_PARMS Structure 146831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 146841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 146861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 146881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric 146901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SYM_DEF_OBJECT+ 146921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor a restricted decryption key, shall be set to a supported 146941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsymmetric algorithm, key size. and mode. 146951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnif the key is not a restricted decryption key, this field shall be 146961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset to TPM_ALG_NULL. 146971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 146981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme 146991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_ECC_SCHEME+ 147011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the sign attribute of the key is SET, then this shall be a valid 147031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsigning scheme. 147041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 147051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the sign parameter in curveID indicates a mandatory 147071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnscheme, then this field shall have the same value. 147081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the decrypt attribute of the key is SET, then this shall be a 147101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalid key exchange scheme or TPM_ALG_NULL. 147111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the key is a Storage Key, then this field shall be 147121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL. 147131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncurveID 147141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ECC_CURVE 147161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC curve ID 147181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkdf 147201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_KDF_SCHEME+ 147221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan optional key derivation scheme for generating a symmetric 147241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey from a Z value 147251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the kdf 147261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter associated with curveID is not 147271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_NULL then this is required to be NULL. 147281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 147291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.7 147311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThere are currently no commands where this parameter 147331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhas effect and, in the reference code, this field needs to 147341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe set to TPM_ALG_NULL. 147351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_PUBLIC_PARMS 147371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 182 defines the possible parameter definition structures that may be contained in the public portion 147391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof a key. 147401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 182 — Definition of TPMU_PUBLIC_PARMS Union <IN/OUT, S> 147411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 147421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 147441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(1) 147461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 147481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 147501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnkeyedHashDetail TPMS_KEYEDHASH_PARMS 147521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KEYEDHASH 147541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsign | encrypt | neither 147561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsymDetail 147581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_SYMCIPHER_PARMS 147601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SYMCIPHER 147621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna symmetric block cipher 147641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnrsaDetail 147661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_RSA_PARMS 147681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA 147701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecrypt + sign 147721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(2) 147741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahneccDetail 147761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ECC_PARMS 147781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 147801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndecrypt + sign 147821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(2) 147841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnasymDetail 147861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_ASYM_PARMS 147881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommon scheme structure 147901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor RSA and ECC keys 147911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTES 147931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1) 147941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription column indicates which of TPMA_OBJECT.decrypt or TPMA_OBJECT.sign may be set. 147961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2) 147981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 147991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“+” indicates that both may be set but one shall be set. “|” indicates the optional settings. 148001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 148021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 148031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 148051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 148061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 129 148081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 148091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 148111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.3.8 148121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 148141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_PUBLIC_PARMS 148161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used in TPM2_TestParms() to validate that a set of algorithm parameters is supported by 148181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM. 148191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 183 — Definition of TPMT_PUBLIC_PARMS Structure 148201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 148211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 148231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 148251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntype 148271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_PUBLIC 148291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe algorithm to be tested 148311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[type]parameters 148331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_PUBLIC_PARMS the algorithm details 148351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.4 TPMT_PUBLIC 148371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 184 defines the public area structure. The Name of the object is nameAlg concatenated with the 148381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest of this structure using nameAlg. 148391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 184 — Definition of TPMT_PUBLIC Structure 148401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 148411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 148431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 148451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntype 148471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_PUBLIC 148491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“algorithm” associated with this object 148511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnnameAlg 148531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMI_ALG_HASH 148551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm used for computing the Name of the object 148571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 148581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe "+" indicates that the instance of a TPMT_PUBLIC may have 148601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna "+" to indicate that the nameAlg may be TPM_ALG_NULL. 148611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnobjectAttributes 148631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_OBJECT 148651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes that, along with type, determine the manipulations of this 148671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject 148681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthPolicy 148701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 148721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoptional policy for using this key 148741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe policy is computed using the nameAlg of the object. 148751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 148761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnShall be the Empty Buffer if no authorization policy is present. 148781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[type]parameters 148801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_PUBLIC_PARMS the algorithm or structure details 148821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[type]unique 148841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_PUBLIC_ID 148861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 130 148881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 148891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe unique identifier of the structure 148911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor an asymmetric key, this would be the public key. 148921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 148941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 148951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 148971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 148981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 148991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 149001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 149021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.2.5 TPM2B_PUBLIC 149041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis sized buffer is used to embed a TPMT_PUBLIC in a command. 149051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 185 — Definition of TPM2B_PUBLIC Structure 149061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 149071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 149091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 149111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize= 149131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 149151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of publicArea 149171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 149181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpublicArea 149201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn+TPMT_PUBLIC 149221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “=” will force the TPM to try to unmarshal a 149241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_PUBLIC and check that the unmarshaled size 149251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmatches the value of size. If all the required fields of 149261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna TPMT_PUBLIC are not present, the TPM will return 149271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan error (generally TPM_RC_SIZE) when attempting 149281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto unmarshal the TPMT_PUBLIC. 149291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe public area 149311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 149321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe “+” indicates that the caller may specify that use 149341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof TPM_ALG_NULL is allowed for nameAlg. 149351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3 Private Area Structures 149371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.1 Introduction 149381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe structures in 12.3 define the contents and construction of the private portion of a TPM object. A 149391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE along with a TPM2B_PUBLIC are needed to describe a TPM object. 149401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPM2B_PRIVATE area may be encrypted by different symmetric algorithms or, in some cases, not 149411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencrypted at all. 149421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2 Sensitive Data Structures 149431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.1 149441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 149461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe structures in 12.3.2 define the presumptive internal representations of the sensitive areas of the 149481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvarious entities. A TPM may store the sensitive information in any desired format but when constructing a 149491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PRIVATE, the formats in this clause shall be used. 149501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.2 149511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE_VENDOR_SPECIFIC 149531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is defined for coding purposes. For IO to the TPM, the sensitive portion of the key will be in 149551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna canonical form. For an RSA key, this will be one of the prime factors of the public modulus. After 149561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnloading, it is typical that other values will be computed so that computations using the private key will not 149571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnneed to start with just one prime factor. This structure allows the vendor-specific structure to use the 149581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspace of the 149591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe value for RSA_VENDOR_SPECIFIC is determined by the vendor. 149601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 186 — Definition of {RSA} TPM2B_PRIVATE_VENDOR_SPECIFIC Structure<> 149611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 149621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 149641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 149661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 149681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size]{:PRIVATE_VENDOR_SPECIFIC_BYTES} 149701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 149721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 149741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 149751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 149771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 149781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 149801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 131 149821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 149831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 149851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.3 149861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 149881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SENSITIVE_COMPOSITE 149901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 187 — Definition of TPMU_SENSITIVE_COMPOSITE Union <IN/OUT, S> 149911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 149931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 149951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelector 149971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 149981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 149991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrsa 150011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE_KEY_RSA 150031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_RSA 150051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna prime factor of the public 150071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnkey 150081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnecc 150101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_ECC_PARAMETER 150121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ECC 150141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe integer private key 150161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbits 150181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_SENSITIVE_DATA 150201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_KEYEDHASH 150221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe private data 150241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsym 150261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_SYM_KEY 150281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SYMCIPHER 150301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe symmetric key 150321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnany 150341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_PRIVATE_VENDOR_SPECIFIC 150361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.2.4 150381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvendor-specific size for key 150401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnstorage 150411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SENSITIVE 150431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 188 — Definition of TPMT_SENSITIVE Structure 150441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 150461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 150481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 150501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsensitiveType 150521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_PUBLIC 150541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnidentifier for the sensitive area 150561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis shall be the same as the type parameter of the 150571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociated public area. 150581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthValue 150601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_AUTH 150621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuser authorization data 150641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe authValue may be a zero-length string. 150651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value shall not be larger than the size of the 150661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest produced by the nameAlg of the object. 150671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnseedValue 150691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 150711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor asymmetric key object, the optional protection 150731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnseed; for other objects, the obfuscation value 150741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value shall not be larger than the size of the 150751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest produced by nameAlg of the object. 150761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn[sensitiveType]sensitive 150781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMU_SENSITIVE_COMPOSITE 150801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe type-specific private data 150821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.3 TPM2B_SENSITIVE 150841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM2B_SENSITIVE structure is used as a parameter in TPM2_LoadExternal(). It is an unencrypted 150851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsensitive area but it may be encrypted using parameter encryption. 150861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 150871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen this structure is unmarshaled, the size of the sensitiveType determines what type of value is 150891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunmarshaled. Each value of sensitiveType is associated with a TPM2B. It is the maximum size for each of 150901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM2B values will determine if the unmarshal operation is successful . Since there is no selector for 150911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe any or vendor options for the union, the maximum input and output sizes for a TMP2B_SENSITIVE 150921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnare not affected by the sizes of those parameters. 150931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 189 — Definition of TPM2B_SENSITIVE Structure <IN/OUT> 150951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 150961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 150981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 150991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 151001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 151021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 151041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the private structure 151061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsensitiveArea 151081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SENSITIVE 151101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan unencrypted sensitive area 151121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 132 151141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 151151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 151171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 151181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 151201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 151211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 151231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 151251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.4 Encryption 151271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPMS_SENSITIVE is the input to the encryption process. All TPMS_ENCRYPT structures are CFBencrypted using a key and Initialization Vector (IV) that are derived from a seed value. 151281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe method of generating the key and IV is described in “Protected Storage” subclause “Symmetric 151291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncryption.” in Part 1. 151301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.5 Integrity 151311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe integrity computation is used to ensure that a protected object is modified when stored in memory 151321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoutside of the TPM. 151331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe method of protecting the integrity of the sensitive area is described in “Protected Storage” subclause 151341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn“Integrity” in Part 1. 151351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.6 _PRIVATE 151361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is defined to size the contents of a TPM2B_PRIVATE. This structure is not directly 151371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmarshaled or unmarshaled. 151381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor TPM2_Duplicate() and TPM2_Import(), the TPM2B_PRIVATE may contain multiply encrypted data 151391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand two integrity values. In some cases, the sensitive data is not encrypted and the integrity value is not 151401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpresent. 151411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor TPM2_Load() and TPM2_Create(), integrityInner is always present. 151421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf integrityInner is present, it and sensitive are encrypted as a single block. 151431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen an integrity value is not needed, it is not present and it is not represented by an Empty Buffer. 151441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 190 — Definition of _PRIVATE Structure <> 151451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 151461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 151481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 151501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnintegrityOuter 151521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 151541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnintegrityInner 151561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 151581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncould also be a TPM2B_IV 151601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsensitive 151621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMT_SENSITIVE 151641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe sensitive area 151661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.3.7 TPM2B_PRIVATE 151681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM2B_PRIVATE structure is used as a parameter in multiple commands that create, load, and 151691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmodify the sensitive area of an object. 151701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 191 — Definition of TPM2B_PRIVATE Structure <IN/OUT, S> 151711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 151721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 151741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 151761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 151781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 151801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the private structure 151821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size] {:sizeof(_PRIVATE)} 151841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 151861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan encrypted private area 151881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 151901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 151911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 151931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 151941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 133 151961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 151971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 151981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 151991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 152011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4 Identity Object 152031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4.1 Description 152041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAn identity object is used to convey credential protection value (CV) to a TPM that can load the object 152051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociated with the object. The CV is encrypted to a storage key on the target TPM, and if the credential 152061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnintegrity checks and the proper object is loaded in the TPM, then the TPM will return the CV. 152071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4.2 _ID_OBJECT 152081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used for sizing the TPM2_ID_OBJECT. 152091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 192 — Definition of _ID_OBJECT Structure <> 152101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 152111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 152131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 152151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnintegrityHMAC 152171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 152191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC using the nameAlg of the storage key on the target 152211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM 152221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnencIdentity 152241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 152261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncredential protector information returned if name matches the 152281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreferenced object 152291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAll of the encIdentity is encrypted, including the size field. 152301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 152311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM is not required to check that the size is not larger 152331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthan the digest of the nameAlg. However, if the size is 152341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlarger, the ID object may not be usable on a TPM that has 152351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnno digest larger than produced by nameAlg. 152361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12.4.3 TPM2B_ID_OBJECT 152381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is an output from TPM2_MakeCredential() and is an input to TPM2_ActivateCredential(). 152391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 193 — Definition of TPM2B_ID_OBJECT Structure <IN/OUT> 152401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 152411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 152431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 152451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 152471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 152491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the credential structure 152511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncredential[size]{:sizeof(_ID_OBJECT)} 152531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBYTE 152551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan encrypted credential area 152571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 134 152591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 152601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 152621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 152631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 152651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 152661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 152681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 152701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13 NV Storage Structures 152721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.1 TPM_NV_INDEX 152731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA TPM_NV_INDEX is used to reference a defined location in NV memory. The format of the Index is 152741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanged from TPM 1.2 in order to include the Index in the reserved handle space. Handles in this range 152751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuse the digest of the public area of the Index as the Name of the entity in authorization computations 152761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe 32-bit TPM 1.2 NV Index format is shown in Figure 4. In order to allow the Index to fit into the 24 bits 152771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnavailable in the reserved handle space, the Index value format is changed as shown in Figure 5. 152781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 3 2 2 2 2 2 2 2 152791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 0 9 8 7 6 5 4 3 152801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 1 152821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 5 152831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnT P U D reserved 152851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 152871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 152881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPurview 152901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndex 152921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 4 — TPM 1.2 TPM_NV_INDEX 152941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 152951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 152961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 152971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 2 152981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 3 152991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 153011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 153021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_HT_NV_INDEX 153041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndex 153061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFigure 5 — TPM 2.0 TPM_NV_INDEX 153081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 153091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis TPM_NV_INDEX format does not retain the Purview field and the D bit is not a part of an Index 153111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle as in TPM 1.2. The TPMA_NV_PLATFORMCREATE attribute is a property of an Index that 153121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovides functionality similar to the D bit. 153131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA valid Index handle will have an MSO of TPM_HT_NV_INDEX. 153151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 153161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is not used. It is defined here to indicate how the fields of the handle are assigned. The 153181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnexemplary unmarshaling code unmarshals a TPM_HANDLE and validates that it is in the range for a 153191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_NV_INDEX. 153201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 194 — Definition of (UINT32) TPM_NV_INDEX Bits <> 153221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 153231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 153251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDefinition 153271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn23:0 153291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindex 153311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe index of the NV location 153331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31:24 153351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRH_NV 153371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnconstant value of TPM_HT_NV_INDEX indicating the NV Index range 153391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_VALUE 153411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned if unmarshaling of this type fails because the handle 153431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue is incorrect 153441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 153461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 153471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 153491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 153501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 135 153521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 153531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 153551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 153571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 195 — Options for space Field of TPM_NV_INDEX 153581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSome prior versions of this specification contained a table here that assigned subsets of the index field to 153601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndifferent entities. Since this assignment was a convention and not an architectural element of the TPM, 153611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe table was removed and the information is now contained in a registry document that is maintained by 153621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TCG. 153631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.2 TPMA_NV (NV Index Attributes) 153641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure allows the TPM to keep track of the data and permissions to manipulate an NV Index. 153651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe platform controls (TPMA_NV_PPWRITE and TPMA_NV_PPREAD) and owner controls 153661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPMA_NV_OWNERWRITE and TPMA_NV_OWNERREAD) give the platform and owner access to NV 153671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndexes using platformAuth or ownerAuth rather than the authValue or authPolicy of the Index. 153681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf access to an NV Index is to be restricted based on PCR, then an appropriate authPolicy shall be 153691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovided. 153701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 153711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnplatformAuth or ownerAuth can be provided in any type of authorization session or as a password. 153731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf TPMA_NV_AUTHREAD is SET, then the Index may be read if the Index authValue is provided. If 153751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_POLICYREAD is SET, then the Index may be read if the Index authPolicy is satisfied. 153761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAt least one of TPMA_NV_PPREAD, 153771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_POLICYREAD shall be SET. 153781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_OWNERREAD, 153801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_AUTHREAD, 153821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor 153841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf TPMA_NV_AUTHWRITE is SET, then the Index may be written if the Index authValue is provided. If 153861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_POLICYWRITE is SET, then the Index may be written if the Index authPolicy is satisfied. 153871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAt least one of TPMA_NV_PPWRITE, TPMA_NV_OWNERWRITE TPMA_NV_AUTHWRITE, or 153881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_POLICYWRITE shall be SET. 153891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf TPMA_NV_WRITELOCKED is SET, then the Index may not be written. If TPMA_NV_WRITEDEFINE is 153901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET, TPMA_NV_WRITELOCKED may not be CLEAR except by deleting and redefining the Index. If 153911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_WRITEDEFINE is CLEAR, then TPMA_NV_WRITELOCK will be CLEAR on the next 153921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Startup(TPM_SU_CLEAR). 153931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf TPMA_NV_READLOCKED is SET, then the Index may not be read. TPMA_NV_READLOCK will be 153941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR on the next TPM2_Startup(TPM_SU_CLEAR). 153951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 153961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 153971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM is expected to maintain indicators to indicate that the Index is temporarily locked. The state of 153981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthese indicators is reported in the TPMA_NV_READLOCKED and TPMA_NV_WRITELOCKED attributes. 153991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf TPMA_NV_EXTEND is SET, then writes to the Index will cause an update of the Index using the extend 154011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoperation with the nameAlg used to create the digest. 154021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOnly one of TPMA_NV_EXTEND, TPMA_NV_COUNTER, or TPMA_NV_BITS may be set. 154031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen 154041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 154051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndex 154061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis 154071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncreated 154081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM2_NV_DefineSpace()), 154091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_WRITELOCKED, 154101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_READLOCKED, TPMA_NV_WRITTEN shall all be CLEAR in the parameter that defines the 154111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes of the created Index. 154121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 136 154141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 154151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 154171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 154181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 154201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 154211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 154231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 154251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 196 — Definition of (UINT32) TPMA_NV Bits 154271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 154281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 154301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 154321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 154341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_PPWRITE 154361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The Index data can be written if platformAuth is provided. 154381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Writing of the Index data cannot be authorized with 154391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnplatformAuth. 154401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 154421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_OWNERWRITE 154441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The Index data can be written if ownerAuth is provided. 154461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Writing of the Index data cannot be authorized with 154471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnownerAuth. 154481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 154501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_AUTHWRITE 154521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Authorizations to change the Index contents that require 154541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUSER role may be provided with an HMAC session or password. 154551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Authorizations to change the Index contents that require 154561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUSER role may not be provided with an HMAC session or password. 154571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 154591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_POLICYWRITE 154611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Authorizations to change the Index contents that require 154631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUSER role may be provided with a policy session. 154641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Authorizations to change the Index contents that require 154651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUSER role may not be provided with a policy session. 154661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 154671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_NV_ChangeAuth() always requires that authorization be 154691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovided in a policy session. 154701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 154721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_COUNTER 154741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Index contains an 8-octet value that is to be used as a 154761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncounter and can only be modified with TPM2_NV_Increment(). 154771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The Index is not a counter. 154781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 154801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_BITS 154821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Index contains an 8-octet value to be used as a bit field and 154841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncan only be modified with TPM2_NV_SetBits(). 154851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): The Index is not a bit field. 154861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn6 154881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_EXTEND 154901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Index contains a digest-sized value used like a PCR. The 154921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndex may only be modified using TPM2_NV_Extend. The extend will 154931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnuse the nameAlg of the Index. 154941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Index is not a PCR. 154951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn9:7 154971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 154981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 154991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 155011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved for use in defining additional write controls 155021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn10 155041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_POLICY_DELETE 155061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Index may not be deleted unless the authPolicy is satisfied. 155081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Index may be deleted with proper platform or owner 155091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization. 155101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn11 155121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_WRITELOCKED 155141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Index cannot be written. 155161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Index can be written. 155171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12 155191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_WRITEALL 155211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): A partial write of the Index data is not allowed. The write 155231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize shall match the defined space size. 155241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Partial writes are allowed. This setting is required if 155251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_BITS is SET. 155261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13 155281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_WRITEDEFINE 155301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPM2_NV_WriteLock() may be used to prevent further 155321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwrites to this location. 155331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): TPM2_NV_WriteLock() does not block subsequent 155341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwrites. 155351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14 155371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_WRITE_STCLEAR 155391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPM2_NV_WriteLock() may be used to prevent further 155411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwrites to this location until the next TPM Reset or TPM Restart. 155421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): A write to this Index with a data size of zero does not 155431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchange the write access. 155441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 155461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 155471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 155491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 155501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 137 155521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 155531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 155551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 155571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 155591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 155611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 155631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15 155651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_GLOBALLOCK 155671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): If TPM2_NV_GlobalWriteLock() is successful, then further 155691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwrites to this location are not permitted until the next TPM Reset or 155701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM Restart. 155711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): TPM2_NV_GlobalWriteLock() has no effect on the 155721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwriting of the data at this Index. 155731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16 155751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_PPREAD 155771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The Index data can be read if platformAuth is provided. 155791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Reading of the Index data cannot be authorized with 155801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnplatformAuth. 155811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn17 155831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_OWNERREAD 155851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The Index data can be read if ownerAuth is provided. 155871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Reading of the Index data cannot be authorized with 155881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnownerAuth. 155891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn18 155911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_AUTHREAD 155931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The Index data may be read if the authValue is provided. 155951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Reading of the Index data cannot be authorized with the 155961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndex authValue. 155971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 155981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn19 155991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_POLICYREAD 156011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): The Index data may be read if the authPolicy is satisfied. 156031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Reading of the Index data cannot be authorized with the 156041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndex authPolicy. 156051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReserved 156071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnshall be zero 156091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnreserved for use in defining additional read controls 156101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn25 156121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_NO_DA 156141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Authorization failures of the Index do not affect the DA logic 156161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand authorization of the Index is not blocked when the TPM is in 156171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLockout mode. 156181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Authorization failures of the Index will increment the 156191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnauthorization failure counter and authorizations of this Index are not 156201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnallowed when the TPM is in Lockout mode. 156211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn26 156231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_ORDERLY 156251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): NV Index state is only required to be saved when the TPM 156271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnperforms an orderly shutdown (TPM2_Shutdown()). Only an Index 156281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith TPMA_NV_COUNTER SET may have this setting. 156291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): NV Index state is required to be persistent after the 156301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand to update the Index completes successfully (that is, the NV 156311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnupdate is synchronous with the update command). 156321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn27 156341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_CLEAR_STCLEAR 156361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPMA_NV_WRITTEN for the Index is CLEAR by TPM 156381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReset or TPM Restart. 156391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): TPMA_NV_WRITTEN is not changed by TPM Restart. 156401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn24:20 156421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 156441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis attribute may only be SET if TPMA_NV_COUNTER is not 156461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET. 156471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 156491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the TPMA_NV_ORDERLY is SET, TPMA_NV_WRITTEN will 156511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe CLEAR by TPM Reset. 156521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn28 156541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_READLOCKED 156561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Reads of the Index are blocked until the next TPM Reset or 156581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM Restart. 156591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Reads of the Index are allowed if proper authorization is 156601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprovided. 156611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn29 156631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_WRITTEN 156651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): Index has been written. 156671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): Index has not been written. 156681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn30 156701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_PLATFORMCREATE 156721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): This Index may be undefined with platformAuth but not with 156741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnownerAuth. 156751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): This Index may be undefined using ownerAuth but not 156761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwith platformAuth. 156771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe TPM will validate that this attribute is SET when the Index is 156781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndefined using platformAuth and will validate that this attribute is 156791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR when the Index is defined using ownerAuth. 156801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 138 156821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 156831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 156851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 156861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 156881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 156891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 156911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 156931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBit 156951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 156971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 156981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 156991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn31 157011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_READ_STCLEAR 157031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET (1): TPM2_NV_ReadLock() may be used to SET 157051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV_READLOCKED for this Index. 157061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR (0): TPM2_NV_ReadLock() has no effect on this Index. 157071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.3 TPMS_NV_PUBLIC 157091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure describes an NV Index. 157101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 197 — Definition of TPMS_NV_PUBLIC Structure 157111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 157121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 157141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 157161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnnvIndex 157181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_NV_INDEX 157201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe handle of the data area 157221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnnameAlg 157241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_ALG_HASH 157261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhash algorithm used to compute the name of the 157281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIndex and used for the authPolicy 157291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnattributes 157311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_NV 157331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe Index attributes 157351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnauthPolicy 157371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 157391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe access policy for the Index 157411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahndataSize{:MAX_NV_INDEX_SIZE} 157431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 157451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe size of the data area 157471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe 157481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum 157491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize is implementationdependent. The minimum maximum size is 157501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnplatform-specific. 157511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn#TPM_RC_SIZE 157531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse code returned when the requested size 157551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis too large for the implementation 157561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn13.4 TPM2B_NV_PUBLIC 157581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used when a TPMS_NV_PUBLIC is sent on the TPM interface. 157591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 198 — Definition of TPM2B_NV_PUBLIC Structure 157601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 157611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 157631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 157651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize= 157671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 157691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of nvPublic 157711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnnvPublic 157731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_NV_PUBLIC 157751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe public area 157771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 157791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 157801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 157821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 157831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 139 157851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 157861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 157881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 157901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14 Context Data 157921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.1 Introduction 157931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis clause defines the contents of the 157941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_ContextLoad() command parameters. 157951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_ContextSave() 157971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 157981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnresponse 157991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameters 158011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand 158031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the parameters provided by the caller in TPM2_ContextLoad() do not match the values returned by the 158051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM when the context was saved, the integrity check of the TPM2B_CONTEXT will fail and the object or 158061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession will not be loaded. 158071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.2 TPM2B_CONTEXT_SENSITIVE 158081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure holds the object or session context data. When saved, the full structure is encrypted. 158091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 199 — Definition of TPM2B_CONTEXT_SENSITIVE Structure <IN/OUT> 158101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 158111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 158131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 158151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 158171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 158191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size]{:MAX_CONTEXT_SIZE} BYTE 158211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe sensitive data 158231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.3 TPMS_CONTEXT_DATA 158251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure holds the integrity value and the encrypted data for a context. 158261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 200 — Definition of TPMS_CONTEXT_DATA Structure <IN/OUT, S> 158271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 158281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 158301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 158321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnintegrity 158341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 158361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe integrity value 158381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencrypted 158401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_CONTEXT_SENSITIVE 158421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe sensitive area 158441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.4 TPM2B_CONTEXT_DATA 158461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used in a TPMS_CONTEXT. 158471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 201 — Definition of TPM2B_CONTEXT_DATA Structure <IN/OUT> 158481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 158491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 158511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize 158531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 158551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 158571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffer[size] {:sizeof(TPMS_CONTEXT_DATA)} BYTE 158591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 140 158611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 158621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 158641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 158651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 158671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 158681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 158701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 158721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.5 TPMS_CONTEXT 158741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is used in TPM2_ContextLoad() and TPM2_ContextSave(). If the values of the 158751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CONTEXT structure in TPM2_ContextLoad() are not the same as the values when the context 158761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwas saved (TPM2_ContextSave()), then the TPM shall not load the context. 158771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSaved object contexts shall not be loaded as long as the associated hierarchy is disabled. 158781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSaved object contexts are invalidated when the Primary Seed of their hierarchy changes. Objects in the 158791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEndorsement hierarchy are invalidated when either the EPS or SPS is changed. 158801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen an object has the stClear attribute, it shall not be possible to reload the context or any descendant 158811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject after a TPM Reset or TPM Restart. 158821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 1 158831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe reference implementation prevents reloads after TPM Restart by including the curre nt value of a 158851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnclearCount in the saved object context. When an object is loaded, this value is compared with the current 158861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue of the clearCount if the object has the stClear attribute. If the values are not the same, then the 158871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject cannot be loaded. 158881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA sequence value is contained within the integrity-protected part of the saved context. The sequence 158901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue is repeated in the sequence parameter of the TPMS_CONTEXT of the context. The sequence 158911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparameter, along with other values, is used in the generation the protection values of the context. 158921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the integrity value of the context is valid, but the sequence value of the decrypted context does not 158931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmatch the value in the sequence parameter, then TPM shall enter the failure mode because this is 158941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicative of a specific type of attack on the context values. 158951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 2 158961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 158971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the integrity value is correct, but the decryption fails and produces the wrong value for sequence, this 158981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplies that either the TPM is faulty or an external entity is able to forge an integrity val ue for the context 158991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbut they have insufficient information to know what the encryption key of the context. Since the TPM 159001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahngenerated the valid context, then there is no reason for the sequence value in the context to be decrypted 159011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnincorrectly other than the TPM is faulty or the TPM is under attack. In either case, it is appropriate for the 159021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM to enter failure more. 159031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 202 — Definition of TPMS_CONTEXT Structure 159051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 159061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 159081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 159101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsequence 159121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 159141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe sequence number of the context 159161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 159171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTransient object contexts and 159191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontexts used different counters. 159201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsession 159221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnsavedHandle 159241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_DH_CONTEXT 159261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe handle of the session, object or sequence 159281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhierarchy 159301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMI_RH_HIERARCHY+ 159321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe hierarchy of the context 159341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncontextBlob 159361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_CONTEXT_DATA 159381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe context data and integrity HMAC 159401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 159421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 159431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 159451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 159461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 141 159481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 159491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 159511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 159531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6 Parameters of TPMS_CONTEXT 159551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6.1 sequence 159561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe sequence parameter is used to differentiate the contexts and to allow the TPM to create a different 159571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnencryption key for each context. Objects and sessions use different sequence counters. The sequence 159581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncounter for objects (transient and sequence) is incremented when an object context is saved, and the 159591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsequence counter for sessions increments when a session is created or when it is loaded 159601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM2_ContextLoad()). The session sequence number is the contextID counter. 159611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a session, the sequence number also allows the TRM to find the “older” contexts so that they may be 159621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrefreshed if the contextID are too widely separated. 159631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf an input value for sequence is larger than the value used in any saved context, the TPM shall return an 159641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror (TPM_RC_VALUE) and do no additional processing of the context. 159651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the context is a session context and the input value for sequence is less than the current value of 159661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncontextID minus the maximum range for sessions, the TPM shall return an error (TPM_RC_VALUE) and 159671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndo no additional processing of the context. 159681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6.2 savedHandle 159691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFor a session, this is the handle that was assigned to the session when it was saved. For a transient 159701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobject, the handle will have one of the values shown in Table 203. 159711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf the handle type for savedHandle is TPM_HT_TRANSIENT, then the low order bits are used to 159721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndifferentiate static objects from sequence objects. 159731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf an input value for handle is outside of the range of values used by the TPM, the TPM shall return an 159741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnerror (TPM_RC_VALUE) and do no additional processing of the context. 159751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 203 — Context Handle Values 159761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 159771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 159791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x02xxxxxx 159811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan HMAC session context 159831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x03xxxxxx 159851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna policy session context 159871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x80000000 159891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan ordinary transient object 159911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x80000001 159931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna sequence object 159951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x80000002 159971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 159981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna transient object with the stClear attribute SET 159991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 142 160011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 160021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 160041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 160051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 160071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 160081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 160101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 160121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.6.3 hierarchy 160141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the hierarchy (TPMI_RH_HIERARCHY) for the saved context and determines the proof value used 160151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnin the construction of the encryption and integrity values for the context. For session and sequence 160161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontexts, the hierarchy is TPM_RC_NULL. The hierarchy for a transient object may be TPM_RH_NULL 160171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbut it is not required. 160181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.7 Context Protection 160191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.7.1 Context Integrity 160201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe integrity of the context blob is protected by an HMAC. The integrity value is constructed such that 160211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanges to the component values will invalidate the context and prevent it from being loaded. 160221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPreviously saved contexts for objects in the Platform hierarchy shall not be loadable after the PPS is 160231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanged. 160241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPreviously saved contexts for objects in the Storage hierarchy shall not be loadable after the SPS is 160251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanged. 160261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPreviously saved contexts for objects in the Endorsement hierarchy shall not be loadable after either the 160271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEPS or SPS is changed. 160281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPreviously saved sessions shall not be loadable after the SPS changes. 160291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPreviously saved contexts for objects that have their stClear attribute SET shall not be loadable after a 160301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM Restart. If a Storage Key has its stClear attribute SET, the descendants of this key shall not be 160311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnloadable after TPM Restart. 160321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPreviously saved contexts for a session and objects shall not be loadable after a TPM Reset. 160331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA saved context shall not be loaded if its HMAC is not valid. The equation for computing the HMAC for a 160341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext is found in “Context Integrity Protection” in Part 1. 160351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn14.7.2 Context Confidentiality 160361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe context data of sessions and objects shall be protected by symmetric encryption using CFB. The 160371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmethod for computing the IV and encryption key is found in “Context Confidentiality Protection” in Part 1. 160381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 160401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 160411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 160431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 160441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 143 160461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 160471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 160491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 160511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15 Creation Data 160531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15.1 TPMS_CREATION_DATA 160541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure provides information relating to the creation environment for the object. The creation data 160551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnincludes the parent Name, parent Qualified Name, and the digest of selected PCR. These values 160561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrepresent the environment in which the object was created. Creation data allows a relying party to 160571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndetermine if an object was created when some appropriate protections were present. 160581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnWhen the object is created, the structure shown in Table 204 is generated and a ticket is computed over 160591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis data. 160601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf 160611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe 160621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnparent 160631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnis 160641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna 160651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpermanent 160661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandle 160671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(TPM_RH_OWNER, 160681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_PLATFORM, 160691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_RH_ENDORSEMENT, or TPM_RH_NULL), then parentName and parentQualifiedName will be set 160701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnto the parent handle value and parentNameAlg will be TPM_ALG_NULL. 160711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 204 — Definition of TPMS_CREATION_DATA Structure <OUT> 160721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 160731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 160751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 160771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrSelect 160791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPML_PCR_SELECTION 160811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist indicating the PCR included in pcrDigest 160831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrDigest 160851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DIGEST 160871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahndigest of the selected PCR using nameAlg of the object for 160891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhich this structure is being created 160901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnpcrDigest.size shall be zero if the pcrSelect list is empty. 160911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlocality 160931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMA_LOCALITY 160951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe locality at which the object was created 160971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 160981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnparentNameAlg 160991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_ID 161011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnnameAlg of the parent 161031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnparentName 161051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME 161071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName of the parent at time of creation 161091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe size will match digest size associated with parentNameAlg 161101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnunless it is TPM_ALG_NULL, in which case the size will be 4 161111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand parentName will be the hierarchy handle. 161121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnparentQualifiedName 161141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_NAME 161161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnQualified Name of the parent at the time of creation 161181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSize is the same as parentName. 161191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnoutsideInfo 161211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2B_DATA 161231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnassociation with additional information added by the key 161251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncreator 161261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis will be the contents of the outsideInfo parameter in 161271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_Create() or TPM2_CreatePrimary(). 161281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15.2 TPM2B_CREATION_DATA 161301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis structure is created by TPM2_Create() and TPM2_CreatePrimary(). It is never entered into the TPM 161311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnand never has a size of zero. 161321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 205 — Definition of TPM2B_CREATION_DATA Structure <OUT> 161331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnParameter 161341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnType 161361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 161381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize= 161401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 161421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the creation data 161441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahncreationData 161461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMS_CREATION_DATA 161481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 144 161501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 161511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 161531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 161541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 161561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 161571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 161591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 161611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAnnex A 161631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(informative) 161641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Constants 161651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.1 161661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 161681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis annex contains constants that are defined by algorithms. 161701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2 161721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.1 161731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAllowed Hash Algorithms 161751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA1 161761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 206 — Defines for SHA1 Hash Values 161771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 161791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 161811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA1_DIGEST_SIZE 161831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn20 161851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA1_BLOCK_SIZE 161871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn64 161891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA1_DER_SIZE 161911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 161931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn15 161951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA1_DER 161971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 161981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.2 161991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues are in octets. 162011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{0x30,0x21,0x30,0x09,0x06,0x05,0x2B,0x0E, 162031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x03,0x02,0x1A,0x05,0x00,0x04,0x14} 162041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256 162061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 207 — Defines for SHA256 Hash Values 162071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 162091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 162111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256_DIGEST_SIZE 162131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn32 162151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256_BLOCK_SIZE 162171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn64 162191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256_DER_SIZE 162211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 162231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn19 162251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256_DER 162271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.3 162291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues are in octets. 162311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{0x30,0x31,0x30,0x0d,0x06,0x09,0x60,0x86, 162331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x48,0x01,0x65,0x03,0x04,0x02,0x01,0x05, 162341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00,0x04,0x20} 162351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA384 162371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 208 — Defines for SHA384 Hash Values 162381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 162401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 162421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA384_DIGEST_SIZE 162441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn48 162461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA384_BLOCK_SIZE 162481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn128 162501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA384_DER_SIZE 162521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 162541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn19 162561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA384_DER 162581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 162601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 162611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues are in octets. 162631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{0x30,0x41,0x30,0x0d,0x06,0x09,0x60,0x86, 162651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x48,0x01,0x65,0x03,0x04,0x02,0x02,0x05, 162661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00,0x04,0x30} 162671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 162691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 162701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 145 162721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 162731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 162751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.4 162761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 162781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA512 162801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 209 — Defines for SHA512 Hash Values 162811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 162831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 162851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA512_DIGEST_SIZE 162871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn64 162891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA512_BLOCK_SIZE 162911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn128 162931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA512_DER_SIZE 162951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 162971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 162981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn19 162991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA512_DER 163011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.2.5 163031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues are in octets. 163051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{0x30,0x51,0x30,0x0d,0x06,0x09,0x60,0x86, 163071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x48,0x01,0x65,0x03,0x04,0x02,0x03,0x05, 163081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00,0x04,0x40} 163091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM3_256 163111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 210 — Defines for SM3_256 Hash Values 163121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 163141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 163161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 163181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM3_256_DIGEST_SIZE 163201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn32 163221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValues are in octets. 163241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM3_256_BLOCK_SIZE 163261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn64 163281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn?? 163301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM3_256_DER_SIZE 163321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn18 163341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM3_256_DER 163361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA.3 163381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{0x30,0x30,0x30,0x0c,0x06,0x08,0x2a,0x81, 163401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x1c,0x81,0x45,0x01,0x83,0x11,0x05,0x00, 163411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x04,0x20} 163421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnknown 163441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnArchitectural Limits 163461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 211 — Defines for Architectural Limits Values 163471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 163491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SESSION_NUMBER 163501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 146 163521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 163531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 163551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 163561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 163581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe maximum number of authorization sessions that may be in a 163591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncommand 163601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis value may be increased if new commands require more than 163611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntwo authorization handles. 163621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 163641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 163651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 163671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 163681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 163701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 163721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAnnex B 163741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(informative) 163751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplementation Definitions 163761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.1 163771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIntroduction 163791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis annex contains some of the tables that are used to define the desired implementation for the 163811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnautomated tools. 163821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 163831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.2 163851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe reference implementation assumes that stdint.h is used. 163871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLogic Values 163891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe values in this clause are used to see the generation of the subsequent tables. These values should 163911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnot be changed. 163921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 212 — Defines for Logic Values 163931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 163941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 163961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 163981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 163991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 164001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 164021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 164041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTRUE 164061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 164081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFALSE 164101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 164121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSET 164141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 164161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCLEAR 164181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 164201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 164221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.3 164241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnProcessor Values 164261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThese values are used to control generation of octet-swapping routines. The canonical octet ordering for 164281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe TPM input/output buffer is “big endian” with the most significant octet of any datum at the lowest 164291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnaddress. 164301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 164311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe setting for the exemplar is for the x86 family of processor. 164331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 213 — Defines for Processor Values 164351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 164361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 164381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 164401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBIG_ENDIAN_TPM 164421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 164441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset to YES or NO according to the processor 164461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLITTLE_ENDIAN_TPM 164481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 164501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset to YES or NO according to the processor 164521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 164531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO_AUTO_ALIGN 164551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 164571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnset to YES if the processor does not allow unaligned accesses 164591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 164601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 164621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 164631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBIG_ENDIAN and LITTLE_ENDIAN shall be set to opposite values. 164651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIf LITTLE_ENDIAN is YES, then the setting of this value has no effect. 164671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 164691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 164701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 147 164721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 164731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 164751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.4 164771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 164791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented Algorithms 164811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 214 is used to indicate the algorithms that are implemented in a TPM. The selections in the Value 164831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncolumn may be changed to reflect the implementation. The values shown are illustrative. 164841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe "Implemented" column contains a "Y", "YES", or blank to indicate that the command is present in the 164851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation, an "N" or "NO" to indicate that the command is not implemented. 164861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe leading and trailing “_” characters are to avoid name space collisions with some crypto libraries. 164871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNOTE 164891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 214 — Defines for Implemented Algorithms 164911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Name 164921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented 164941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA 164961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 164981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 164991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA1 165001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC 165041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAES 165081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMGF1 165121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnXOR 165161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKEYEDHASH 165201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256 165241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA384 165281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 165301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA512 165321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 165341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM3_256 165361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4 165401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 165421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnREQUIRED, do not change this value 165461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnREQUIRED, do not change this value 165481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSASSA 165501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * RSA) 165521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires RSA 165541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSAES 165561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * RSA) 165581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires RSA 165601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSAPSS 165621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * RSA) 165641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires RSA 165661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOAEP 165681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * RSA) 165701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires RSA 165721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC 165741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 165761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECDH 165781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * ECC) 165801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires ECC 165821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECDSA 165841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * ECC) 165861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires ECC 165881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECDAA 165901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * ECC) 165921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires ECC 165941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM2 165961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * ECC) 165981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 165991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires ECC 166001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECSCHNORR 166021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * ECC) 166041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires ECC 166061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECMQV 166081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(NO * ECC) 166101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires ECC 166121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSYMCIPHER 166141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKDF1_SP800_56a 166151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnREQUIRED, at least one symmetric algorithm shall be implemented 166191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(YES * ECC) 166211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKDF2 166231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 166251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnKDF1_SP800_108 166271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCTR 166311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOFB 166351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCBC 166391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCFB 166431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECB 166471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnrequires ECC 166491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.5 166531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnREQUIRED, do not change this value 166551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented Commands 166571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 148 166591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 166601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 166621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 166631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 166651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 166661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 166681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 166701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis table is used to indicate which of the commands are implemented. In the reference implementation, 166721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis table determines which commands can be called and drives the generation of various commanddependent switch statements. 166731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe "Implemented or Dependent" column contains a "Y", "YES", or blank to indicate that the command is 166741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpresent in the implementation; an "N" or "NO" to indicate that the command is not implemented; and an 166751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm value if implementation of the command is dependent on a setting in Table 214. Linkage to 166761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 214 is not required and is provide as a convenience. 166771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTo indicate that the command is implemented, only "Y", "N", blank, or a value from Table 214 is allowed. 166781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 215 — Defines for Implemented Commands 166791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 166801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnActivateCredential 166811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented 166831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor Dependent 166841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 166861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 166881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCertify 166901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 166921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCertifyCreation 166941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 166961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnChangeEPS 166981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 166991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnChangePPS 167021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClear 167061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClearControl 167101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClockRateAdjust 167141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnClockSet 167181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCommit 167221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC 167241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContextLoad 167261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext 167301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContextSave 167321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext 167361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreate 167381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCreatePrimary 167421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDictionaryAttackLockReset 167461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDictionaryAttackParameters 167501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDuplicate 167541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC_Parameters 167581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC 167601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECDH_KeyGen 167621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC 167641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECDH_ZGen 167661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC 167681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEncryptDecrypt 167701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEventSequenceComplete 167741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEvictControl 167781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFieldUpgradeData 167821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnN 167841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFieldUpgradeStart 167861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnN 167881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFirmwareRead 167901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnN 167921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFlushContext 167941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 167961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnGetCapability 167981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 167991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnGetCommandAuditDigest 168021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnGetRandom 168061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnGetSessionAuditDigest 168101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 168141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 168151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnContext 168171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 168191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 168201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 149 168221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 168231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 168251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 168271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 168291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented 168301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor Dependent 168311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 168331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnGetTestResult 168351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnGetTime 168391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHash 168431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHashSequenceStart 168471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHierarchyChangeAuth 168511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHierarchyControl 168551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC 168591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHMAC_Start 168631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImport 168671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIncrementalSelfTest 168711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoad 168751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLoadExternal 168791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMakeCredential 168831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_Certify 168871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_ChangeAuth 168911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_DefineSpace 168951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 168971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 168981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_Extend 168991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_GlobalWriteLock 169031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_Increment 169071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_Read 169111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_ReadLock 169151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_ReadPublic 169191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_SetBits 169231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_UndefineSpace 169271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_UndefineSpaceSpecial 169311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_Write 169351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_WriteLock 169391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnObjectChangeAuth 169431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_Allocate 169471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_Event 169511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_Extend 169551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_Read 169591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR 169631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_Reset 169651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR 169691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_SetAuthPolicy 169711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_SetAuthValue 169751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyAuthorize 169791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 169831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyAuthValue 169851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 169891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyCommandCode 169911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 169951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyCounterTimer 169971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 169981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 169991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyCpHash 170031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 150 170091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 170101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV 170121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR 170141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 170161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 170171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 170191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 170201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 170221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 170241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplemented 170251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnor Dependent 170261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 170281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 170301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyDuplicationSelect 170321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyGetDigest 170381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyLocality 170441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyNameHash 170501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyNV 170561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyOR 170621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyPassword 170681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyPCR 170741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyPhysicalPresence 170801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyRestart 170861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicySecret 170901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 170941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicySigned 170961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 170981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 170991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 171001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyTicket 171021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicy 171061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPP_Commands 171081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnQuote 171121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReadClock 171161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnReadPublic 171201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRewrap 171241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA_Decrypt 171281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA 171301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA_Encrypt 171321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA 171341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSelfTest 171361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSequenceComplete 171401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSequenceUpdate 171441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSetAlgorithmSet 171481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSetCommandCodeAuditStatus 171521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSetPrimaryPolicy 171561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnShutdown 171601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSign 171641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStartAuthSession 171681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStartup 171721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnStirRandom 171761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTestParms 171801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUnseal 171841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnVerifySignature 171881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnZGen_2Phase 171921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnEC_Ephemeral 171961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 171981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 171991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPolicyNvWritten 172001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnY 172021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6 172041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAlgorithm Constants 172061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 172081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 172091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 172111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 172121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 151 172141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 172151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 172171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.1 172181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 172201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA 172221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 216 — Defines for RSA Algorithm Constants 172231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 172251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 172271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 172291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA_KEY_SIZES_BITS 172311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{1024, 2048} 172331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbraces because this is a 172351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlist value 172361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_RSA_KEY_BITS 172381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2048 172401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_RSA_KEY_BYTES 172421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((MAX_RSA_KEY_BITS + 7) / 8) 172441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.2 172461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC 172481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 217 — Defines for ECC Algorithm Constants 172491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 172511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 172531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC_CURVES 172551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{TPM_ECC_NIST_P256, TPM_ECC_BN_P256, 172571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ECC_SM2_P256} 172581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnECC_KEY_SIZES_BITS 172601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{256} 172621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_ECC_KEY_BITS 172641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn256 172661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_ECC_KEY_BYTES 172681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((MAX_ECC_KEY_BITS + 7) / 8) 172701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.3 172721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 172741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis is a list value with 172761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlength of one 172771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAES 172791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 218 — Defines for AES Algorithm Constants 172801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 172821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 172841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnAES_KEY_SIZES_BITS 172861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{128} 172881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_AES_KEY_BITS 172901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn128 172921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_AES_BLOCK_SIZE_BYTES 172941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16 172961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_AES_KEY_BYTES 172981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 172991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((MAX_AES_KEY_BITS + 7) / 8) 173001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.4 173021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 173041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4 173061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 219 — Defines for SM4 Algorithm Constants 173071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 173091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 173111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSM4_KEY_SIZES_BITS 173131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn{128} 173151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SM4_KEY_BITS 173171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn128 173191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SM4_BLOCK_SIZE_BYTES 173211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16 173231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SM4_KEY_BYTES 173251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((MAX_SM4_KEY_BITS + 7) / 8) 173271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 152 173291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 173301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 173321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 173341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 173351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 173371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 173381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 173401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.6.5 173411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 173431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSymmetric 173451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe definitions in this table are derived from the implemented symmetric algorithms. 173471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 220 — Defines for Symmetric Algorithm Constants 173481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 173491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 173511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SYM_KEY_BITS 173531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_AES_KEY_BITS 173551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SYM_KEY_BYTES 173571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_AES_KEY_BYTES 173591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SYM_BLOCK_SIZE 173611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_AES_BLOCK_SIZE_BYTES 173631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 173651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 173661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnComments 173681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 173701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 173711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 153 173731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 173741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 173761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnB.7 173781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 173801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnImplementation Specific Values 173821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThe values listed in Table 221 are defined for a specific TPM implementation. The numbers in the Value 173841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncolumn may be changed to reflect the implementation. The values shown are illustrative. 173851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTable 221 — Defines for Implementation Values 173861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 173871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 173891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 173911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFIELD_UPGRADE_IMPLEMENTED 173931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNO 173951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahntemporary define 173971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 173981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBSIZE 173991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 174011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize used for internal storage of 174031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe size field of a TPM2B 174041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is the definition used for 174051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe reference design. 174061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCompilation with this value 174071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnchanged may cause warnings 174081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnabout conversions. 174091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnBUFFER_ALIGNMENT 174111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4 174131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsets the size granularity for the 174151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbuffers in a TPM2B structure 174161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMxB buffers will be assigned 174171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahna space that is a multiple of this 174181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue. This does not set the size 174191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnlimits for IO. Those are set by 174201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe canonical form of the 174211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPMxB 174221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnIMPLEMENTATION_PCR 174241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn24 174261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of PCR in the TPM 174281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPLATFORM_PCR 174301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn24 174321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of PCR required by 174341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe relevant platform 174351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnspecification 174361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDRTM_PCR 174381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn17 174401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe DRTM PCR 174421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnHCRTM_PCR 174441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0 174461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe PCR that will receive the HCRTM value at TPM2_Startup 174481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUM_LOCALITIES 174501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn5 174521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of localities 174541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsupported by the TPM 174551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis is expected to be either 5 174561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnfor a PC, or 1 for just about 174571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahneverything else. 174581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_HANDLE_NUM 174601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 174621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe maximum number of 174641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhandles in the handle area 174651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis should be produced by the 174661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 3 parser but is here for 174671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnow. 174681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_ACTIVE_SESSIONS 174701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn64 174721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of simultaneously 174741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnactive sessions that are 174751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsupported by the TPM 174761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnimplementation 174771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_SLOT 174791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT16 174811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe type of an entry in the array 174831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnof saved contexts 174841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_COUNTER 174861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnUINT64 174881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe type of the saved session 174901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncounter 174911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_LOADED_SESSIONS 174931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 174951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of sessions that the 174971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM may have in memory 174981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 174991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SESSION_NUM 175001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 175021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis is the current maximum 175041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue 175051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 154 175071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 175081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 175101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 175111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 175131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 175141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 175161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 175181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 175201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 175221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 175241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_LOADED_OBJECTS 175261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn3 175281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe number of simultaneously 175301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnloaded objects that are 175311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsupported by the TPM; this 175321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber does not include the 175331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects that may be placed in 175341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV memory by 175351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM2_EvictControl(). 175361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMIN_EVICT_OBJECTS 175381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2 175401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe minimum number of evict 175421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnobjects supported by the TPM 175431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_SELECT_MIN 175451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((PLATFORM_PCR+7)/8) 175471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPCR_SELECT_MAX 175491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((IMPLEMENTATION_PCR+7)/8) 175511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUM_POLICY_PCR_GROUP 175531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 175551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of PCR groups that 175571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhave individual policies 175581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUM_AUTHVALUE_PCR_GROUP 175601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 175621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of PCR groups that 175641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnhave individual authorization 175651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalues 175661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_CONTEXT_SIZE 175681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4000 175701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis may be larger than 175721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnecessary 175731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_DIGEST_BUFFER 175751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1024 175771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_NV_INDEX_SIZE 175791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn2048 175811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum data size allowed in 175831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnan NV Index 175841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_NV_BUFFER_SIZE 175861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1024 175881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum data size in one NV 175901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnread or write command 175911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_CAP_BUFFER 175931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1024 175951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_MEMORY_SIZE 175971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 175981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16384 175991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUM_STATIC_PCR 176011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn16 176031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_ALG_LIST_SIZE 176051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn64 176071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of algorithms that can 176091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbe in a list 176101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTIMER_PRESCALE 176121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn100000 176141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnominal value for the pre-scale 176161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnvalue of Clock (the number of 176171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncycles of the TPM's oscillator for 176181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahneach increment of Clock) 176191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPRIMARY_SEED_SIZE 176211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn32 176231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of the Primary Seed in 176251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoctets 176261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_ENCRYPT_ALG 176281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_AES 176301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext encryption algorithm 176321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_ENCRYPT_KEY_BITS 176341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SYM_KEY_BITS 176361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext encryption key size in 176381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnbits 176391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_ENCRYPT_KEY_BYTES 176411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((CONTEXT_ENCRYPT_KEY_BITS+7 176431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn)/8) 176441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_INTEGRITY_HASH_ALG 176461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_SHA256 176481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncontext integrity hash algorithm 176501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_INTEGRITY_HASH_SIZE 176521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnSHA256_DIGEST_SIZE 176541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of byes in the context 176561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnintegrity digest 176571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPROOF_SIZE 176591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCONTEXT_INTEGRITY_HASH_SIZE 176611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of proof value in octets 176631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis size of the proof should be 176641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnconsistent with the digest size 176651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused for context integrity. 176661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNV_CLOCK_UPDATE_INTERVAL 176681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn12 176701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthe update interval expressed 176721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnas a power of 2 seconds 176731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnsize of NV memory in octets 176751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnA value of 12 is 4,096 seconds 176771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn(~68 minutes). 176781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 176801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 176811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 176831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 176841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 155 176861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 176871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPart 2: Structures 176891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTrusted Platform Module Library 176911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnName 176931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnValue 176951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnDescription 176971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 176981605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNUM_POLICY_PCR 176991605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177001605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn1 177011605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177021605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber of PCR that allow 177031605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnpolicy/auth 177041605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177051605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_COMMAND_SIZE 177061605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177071605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4096 177081605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177091605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum size of a command 177101605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177111605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_RESPONSE_SIZE 177121605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177131605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn4096 177141605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177151605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum size of a response 177161605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177171605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnORDERLY_BITS 177181605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177191605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn8 177201605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177211605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnnumber between 1 and 32 177221605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahninclusive 177231605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177241605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_ORDERLY_COUNT 177251605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177261605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((1 << ORDERLY_BITS) - 1) 177271605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177281605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnmaximum count of orderly 177291605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahncounter before NV is updated 177301605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnThis must be of the form 2N – 1 177311605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnwhere 1 ≤ N ≤ 32. 177321605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177331605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnALG_ID_FIRST 177341605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177351605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_FIRST 177361605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177371605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused by GetCapability() 177381605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprocessing to bound the 177391605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm search 177401605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177411605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnALG_ID_LAST 177421605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177431605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_ALG_LAST 177441605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177451605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnused by GetCapability() 177461605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnprocessing to bound the 177471605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnalgorithm search 177481605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177491605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_SYM_DATA 177501605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177511605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn128 177521605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177531605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnthis is the maximum number of 177541605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnoctets that may be in a sealed 177551605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnblob. 177561605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177571605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnMAX_RNG_ENTROPY_SIZE 177581605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177591605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn64 177601605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177611605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRAM_INDEX_SPACE 177621605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177631605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn512 177641605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177651605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnRSA_DEFAULT_PUBLIC_EXPONENT 177661605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177671605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn0x00010001 177681605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177691605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn216 + 1 177701605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177711605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnENABLE_PCR_NO_INCREMENT 177721605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177731605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 177741605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177751605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahnindicates if the 177761605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnTPM_PT_PCR_NO_INCREME 177771605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnNT group is implemented 177781605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177791605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCRT_FORMAT_RSA 177801605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177811605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnYES 177821605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177831605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPRIVATE_VENDOR_SPECIFIC_BYTES 177841605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177851605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn((MAX_RSA_KEY_BYTES/2) * (3 + 177861605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCRT_FORMAT_RSA * 2)) 177871605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177881605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPage 156 177891605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnOctober 31, 2013 177901605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177911605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnPublished 177921605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnCopyright © TCG 2006-2013 177931605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177941605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnFamily “2.0” 177951605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren KrahnLevel 00 Revision 00.99 177961605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 177971605b3f527bd5d16d68c3d182f4c2035e79f6dfDarren Krahn 17798