Remote Attestation TLS (RA-TLS) embeds a hardware attestation quote directly inside a standard X.509 certificate extension. The result is a normal HTTPS connection where the certificate itself proves that the server is running inside a genuine TEE.
No custom attestation protocol. No separate attestation channel. No client-side SDK changes. The quote rides along inside the certificate for any verifier that wants to inspect it.
Implementations may embed additional custom extensions. For example, Enclave OS adds configuration measurement OIDs that attest the enclave's runtime state alongside the code identity.
A client verifies an RA-TLS certificate in three steps:
Standard TLS chain verification: verify the certificate chain against the root CA, just like any HTTPS connection.
Quote verification: extract the quote from the X.509 extension, verify the DCAP/TDX signature against the chip vendor's root of trust, and check that MRENCLAVE/MRTD matches the expected value.
ReportData binding: verify that SHA-512(SHA-256(SPKI_DER) || binding) matches the ReportData in the quote, proving the TLS key was generated inside the attested TEE.
This is all standard X.509 parsing; any language with an ASN.1 library can extract and verify the quote. Privasys provides RA-TLS client libraries in Go, Python, Rust, TypeScript, and C#.
Standard RA-TLS proves what code is running (MRENCLAVE or MRTD). But the same code can behave differently depending on its configuration, such as which CA certificate is loaded, which applications are deployed, which external services it can reach.
Privasys extends RA-TLS with configuration attestation: additional X.509 extensions that prove not just the code identity, but the complete runtime configuration of the TEE. A verifier can then check two things:
Pillar
What it proves
How
Code identity
The exact binary running in the TEE
MRENCLAVE (SGX) or MRTD (TDX) in the hardware quote
Configuration identity
The runtime configuration of the TEE
Custom X.509 extensions in the RA-TLS certificate
The enclave acts as an honest reporter: it computes and publishes its configuration state in every certificate. There is no owner key, no authorization gate, no way to suppress information. Anyone with host access can change the configuration, but the certificate will reflect the change, and clients pinning a known-good value will immediately detect it.
For the full specification of configuration measurement OIDs, Merkle tree construction, and verification strategies, see Enclave OS: RA-TLS Certificates.