tree: 54eb45a96be62a2b5336239e0adc6756d806a352 [path history] [tgz]
  1. ftdi/
  2. generator/
  3. authorization_delegate.h
  4. background_command_transceiver.cc
  5. background_command_transceiver.h
  6. background_command_transceiver_test.cc
  7. blob_parser.cc
  8. blob_parser.h
  9. com.android.Trunks.conf
  10. command_transceiver.h
  11. CPPLINT.cfg
  12. dbus_interface.h
  13. error_codes.cc
  14. error_codes.h
  15. hmac_authorization_delegate.cc
  16. hmac_authorization_delegate.h
  17. hmac_authorization_delegate_test.cc
  18. hmac_session.h
  19. hmac_session_impl.cc
  20. hmac_session_impl.h
  21. hmac_session_test.cc
  22. interface.proto
  23. libtrunks.pc.in
  24. Makefile
  25. mock_authorization_delegate.cc
  26. mock_authorization_delegate.h
  27. mock_blob_parser.cc
  28. mock_blob_parser.h
  29. mock_command_transceiver.cc
  30. mock_command_transceiver.h
  31. mock_dbus_bus.h
  32. mock_dbus_object_proxy.h
  33. mock_hmac_session.cc
  34. mock_hmac_session.h
  35. mock_policy_session.cc
  36. mock_policy_session.h
  37. mock_resource_manager.h
  38. mock_session_manager.cc
  39. mock_session_manager.h
  40. mock_tpm.cc
  41. mock_tpm.h
  42. mock_tpm_state.cc
  43. mock_tpm_state.h
  44. mock_tpm_utility.cc
  45. mock_tpm_utility.h
  46. org.chromium.Trunks.conf
  47. OWNERS
  48. password_authorization_delegate.cc
  49. password_authorization_delegate.h
  50. password_authorization_delegate_test.cc
  51. pinweaver.proto
  52. pinweaver_client.cc
  53. policy_session.h
  54. policy_session_impl.cc
  55. policy_session_impl.h
  56. policy_session_test.cc
  57. power_manager.cc
  58. power_manager.h
  59. power_manager_test.cc
  60. README.md
  61. resource_manager.cc
  62. resource_manager.h
  63. resource_manager_test.cc
  64. scoped_global_session.h
  65. scoped_global_session_test.cc
  66. scoped_key_handle.cc
  67. scoped_key_handle.h
  68. scoped_key_handle_test.cc
  69. session_manager.h
  70. session_manager_impl.cc
  71. session_manager_impl.h
  72. session_manager_test.cc
  73. tpm_alerts.h
  74. tpm_constants.h
  75. tpm_generated.cc
  76. tpm_generated.h
  77. tpm_generated_test.cc
  78. tpm_handle.cc
  79. tpm_handle.h
  80. tpm_pinweaver.cc
  81. tpm_pinweaver.h
  82. tpm_simulator_handle.cc
  83. tpm_simulator_handle.h
  84. tpm_state.h
  85. tpm_state_impl.cc
  86. tpm_state_impl.h
  87. tpm_state_test.cc
  88. tpm_utility.h
  89. tpm_utility_impl.cc
  90. tpm_utility_impl.h
  91. tpm_utility_test.cc
  92. tpm_version
  93. trunks.gyp
  94. trunks_client.cc
  95. trunks_client_test.cc
  96. trunks_client_test.h
  97. trunks_dbus_proxy.cc
  98. trunks_dbus_proxy.h
  99. trunks_dbus_proxy_test.cc
  100. trunks_dbus_service.cc
  101. trunks_dbus_service.h
  102. trunks_export.h
  103. trunks_factory.h
  104. trunks_factory_for_test.cc
  105. trunks_factory_for_test.h
  106. trunks_factory_impl.cc
  107. trunks_factory_impl.h
  108. trunks_factory_test.cc
  109. trunks_ftdi_spi.cc
  110. trunks_ftdi_spi.h
  111. trunks_send.cc
  112. trunks_testrunner.cc
  113. trunksd-seccomp-amd64.policy
  114. trunksd-seccomp-arm.policy
  115. trunksd-seccomp-arm64.policy
  116. trunksd-seccomp-mips.policy
  117. trunksd-seccomp-x86.policy
  118. trunksd-seccomp-x86_64.policy
  119. trunksd-simulator.rc
  120. trunksd.cc
  121. trunksd.conf
  122. trunksd.conf.cr50
  123. trunksd.conf.tpm2_simulator
  124. trunksd.rc
trunks/README.md

Trunks

The Trunks TPM Library (TTL) is a set of types and functions used to interface with a Trusted Platform Module. It is designed to be light, and does not comply with the TSS specification. It is usable in firmware as well as in user-level code.

TPM Specification

See http://www.trustedcomputinggroup.org. This version of trunks is based on TPM 2.0 rev 00.99.

Structures

generator/raw_structures.txt

generator/raw_structures_fixed.txt

This file is a direct PDF scrape (*) of ‘Part 2 - Structures’. The _fixed version includes some manual fixes to make processing easier.

Commands

generator/raw_commands.txt

generator/raw_commands_fixed.txt

This file is a direct PDF scrape (*) of ‘Part 3 - Commands’. The _fixed version includes some manual fixes to make processing easier.

(*) Scraping for this version of trunks used Poppler's pdftotext utility v0.18.4.

Code Generation

generator/extract_structures.sh

Extracts structured information about types, constants, structures, and unions from generator/raw_structures_fixed.txt. The output of this script is intended to be parsed by generator.py.

generator/extract_commands.sh

Extracts structured information about commands from generator/raw_commands_fixed.txt. The output of this script is intended to be parsed by generator.py.

generator/generator.py

Generates C++ serialization and parsing code for TPM commands. Inputs must be formatted as by the extract_* scripts.