Metadata-Version: 2.4
Name: dk-tee-attestation
Version: 0.3.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: System :: Hardware
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Rust
Requires-Dist: cryptography>=46.0.0
Requires-Dist: requests>=2.32.0
Summary: TEE attestation library for AMD SEV-SNP and Intel TDX platforms
Keywords: tee,attestation,sev-snp,tdx,confidential-computing,amd,intel
Author-email: DataKrypto <support@datakrypto.ai>
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://docs.datakrypto.ai
Project-URL: Homepage, https://datakrypto.ai
Project-URL: Repository, https://devops.datakrypto.com/DataKrypto/_git/fhenom_tee_attestation

# FHEnom TEE Attestation Library

A Python library for generating and verifying TEE (Trusted Execution Environment) attestation reports across different hardware platforms.

## Features

- **Multi-Platform Support**: AMD SEV-SNP and Intel TDX
- **Unified API**: Single interface for all TEE platforms
- **Cryptographic Verification**: Full certificate chain validation
- **Production Ready**: Used in FHEnom AI confidential computing platform

## Supported Platforms

- ✅ **AMD SEV-SNP** (Secure Encrypted Virtualization - Secure Nested Paging)
- 🚧 **Intel TDX** (Trust Domain Extensions) - Coming soon

### Basic Installation (Python API only)

```bash
pip install fhenom-tee-attestation
```

## Repository Overview

- `dk_tee_attestation/`  
  Core Python library

- `rust_lib/`  
  Rust library (SEV-SNP firmware bindings) exposed to Python via PyO3
---



### Public Python interface (high-level)

The Python interface is intentionally minimal and backend-agnostic.

Attestation engines are instantiated via a **factory**, and all interaction
happens through the abstract `AttestationEngine` interface.

```python
from dk_tee_attestation import AttestationEngineFactory, AttestationEngineType

engine = AttestationEngineFactory.get(AttestationEngineType.AMD_SEV_SNP)
```

#### Generate an attestation report (inside the TEE)

```python
report = engine.get_report(report_data)
```

- `report_data`: caller-provided nonce / challenge (bytes)
- returns raw attestation report bytes

#### Verify an attestation report (verifier side)

```python
engine.verify_report(report_bytes, expected_report_data)
```

- raises an exception if verification fails
- returns `None` on successful verification

All verification failures are reported via **explicit domain exceptions**.

---
