xref: /OK3568_Linux_fs/buildroot/package/tpm2-tss/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig BR2_PACKAGE_TPM2_TSS
2*4882a593Smuzhiyun	bool "tpm2-tss"
3*4882a593Smuzhiyun	depends on !BR2_STATIC_LIBS # dlfcn.h
4*4882a593Smuzhiyun	select BR2_PACKAGE_LIBURIPARSER
5*4882a593Smuzhiyun	select BR2_PACKAGE_OPENSSL
6*4882a593Smuzhiyun	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
7*4882a593Smuzhiyun	help
8*4882a593Smuzhiyun	  OSS implementation of the Trusted Computing Group's (TCG) TPM2
9*4882a593Smuzhiyun	  Software Stack (TSS). This stack consists of the following
10*4882a593Smuzhiyun	  layers from top to bottom:
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	  * System API (SAPI) as described in the system level API and
13*4882a593Smuzhiyun	    TPM command transmission interface specification. This API
14*4882a593Smuzhiyun	    is a 1-to-1 mapping of the TPM2 commands documented in Part
15*4882a593Smuzhiyun	    3 of the TPM2 specification. Additionally there are
16*4882a593Smuzhiyun	    asynchronous versions of each command. These asynchronous
17*4882a593Smuzhiyun	    variants may be useful for integration into event-driven
18*4882a593Smuzhiyun	    programming environments. Both the synchronous and
19*4882a593Smuzhiyun	    asynchronous API are exposed through a single library:
20*4882a593Smuzhiyun	    libtss2-sys.
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	  * TPM Command Transmission Interface (TCTI) that is described
23*4882a593Smuzhiyun	    in the same specification. This API provides a standard
24*4882a593Smuzhiyun	    interface to transmit / receive TPM command / response
25*4882a593Smuzhiyun	    buffers. It is expected that any number of libraries
26*4882a593Smuzhiyun	    implementing the TCTI API will be implemented as a way to
27*4882a593Smuzhiyun	    abstract various platform specific IPC mechanisms. Currently
28*4882a593Smuzhiyun	    this repository provides two TCTI implementations:
29*4882a593Smuzhiyun	    libtss2-tcti-device and libtss2-tcti-mssim. The prior should
30*4882a593Smuzhiyun	    be used for direct access to the TPM through the Linux
31*4882a593Smuzhiyun	    kernel driver. The later implements the protocol exposed by
32*4882a593Smuzhiyun	    the Microsoft software TPM2 simulator.
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun	  https://github.com/tpm2-software/tpm2-tss
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunif BR2_PACKAGE_TPM2_TSS
37*4882a593Smuzhiyun
38*4882a593Smuzhiyunconfig BR2_PACKAGE_TPM2_TSS_FAPI
39*4882a593Smuzhiyun	bool "fapi support"
40*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
41*4882a593Smuzhiyun	select BR2_PACKAGE_JSON_C
42*4882a593Smuzhiyun	select BR2_PACKAGE_LIBCURL
43*4882a593Smuzhiyun	help
44*4882a593Smuzhiyun	  This option allows to enable Feature API (FAPI).  Feature
45*4882a593Smuzhiyun	  API (FAPI) as described in the "TSS 2.0 Feature API
46*4882a593Smuzhiyun	  Specification" along with "TSS 2.0 JSON Data Types and
47*4882a593Smuzhiyun	  Policy Language Specification" This API is designed to be
48*4882a593Smuzhiyun	  very high-level API, intended to make programming with the
49*4882a593Smuzhiyun	  TPM as simple as possible. The API functions are exposed
50*4882a593Smuzhiyun	  through a single library: libtss2-fapi.
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun	  https://trustedcomputinggroup.org/wp-content/uploads/TSS_FAPI_v0.94_r04_pubrev.pdf
53*4882a593Smuzhiyun	  https://trustedcomputinggroup.org/wp-content/uploads/TSS_JSON_Policy_v0.7_r04_pubrev.pdf
54*4882a593Smuzhiyun
55*4882a593Smuzhiyunendif
56*4882a593Smuzhiyun
57*4882a593Smuzhiyuncomment "tpm2-tss needs a toolchain w/ dynamic library"
58*4882a593Smuzhiyun	depends on BR2_STATIC_LIBS
59