Skip to content

intel/trustauthority-client-for-python

Intel® Trust Authority Client for Python

· 02/13/2025 ·

The Intel® Trust Authority Client for Python is a library of Python modules used to perform remote attestation of a Trusted Execution Environment (TEE) using Intel Trust Authority as the verifier. The client packages enable you to collect evidence from the TEE, request an attestation token (JWT), and verify the cryptographic signature of the token.

The Python client currently supports the following TEEs:

  • Intel® Software Guard Extensions (Intel® SGX).
  • Intel® Trust Domain Extensions (Intel® TDX) for on-premises Intel TDX platforms.
  • Google Cloud Platform* (GCP) confidential VMs with Intel TDX.
  • Azure* confidential VMs with Intel TDX.
  • NVIDIA* H100 GPU and Intel TDX Trust Domain.

Library structure

System requirement

  • Python 3.8 or newer.
  • Ubuntu 22.04 with kernel 6.7 or later, or Ubuntu 24.04. Support for the ConfigFS-TSM subsystem is required for Intel TDX attestation.

Installation

The following installation steps assume that you are installing the Intel Trust Authority Client for Python on an Intel TDX TD, running on an Intel TDX-enabled host server. For information about how to prepare the Intel TDX host server, see Setup Remote Attestation on Host OS and Inside TD in the Canonical/TDX repo on GitHub.

To install the latest version of the Intel TDX + NVIDIA H100 client on a TD:

  1. Clone the repository, which automatically checks out the main branch.
git clone https://github.com/intel/trustauthority-client-for-python.git

Run the following commands from the inteltrustauthorityclient directory.

  1. Install poetry by running the following command:

    pip3 install --no-cache-dir poetry
  2. Create a wheel package using poetry:

    Spawn a poetry shell:

    poetry shell

    Build wheel package:

    poetry build
  3. Run pip install to install the inteltrustauthorityclient package in site-packages:

    cd ../dist
    pip install applications_security_amber_trustauthority_client_for_python-1.1.0-py3-none-any.whl

Note

When you install the client, you might see the following error: "ERROR: pip's dependency resolver does not currently take into account all the packages that are installed." That is followed by a list of version mismatch messages. You can safely ignore this error. The client uses newer versions of the Python libraries than the NVIDIA SDK.

Usage

More information about how to use this library is available in the READMEs for each package. Library structure, above, has links to the READMEs for each package.

The primary documentation is the Python Connector Reference in the Intel Trust Authority documentation.

Sample applications

For more information on how to use the client, see the sample applications in the examples folder.

Unit Tests

For more information on how to run the unit tests, see the Unit Tests README.

Code of Conduct and Contributing

See the Contributing file for more information on how to contribute to this project. This project follows the Code of Conduct.

License

This library is distributed under the BSD-style license found in the LICENSE file.



* Other names and brands may be claimed as the property of others.