intel-dcap-api 0.6.0

Intel DCAP API Client
Documentation

Intel API Client

This module provides an API client for interacting with the Intel API for Trusted Services. The API follows the documentation found at Intel API Documentation.

Create an [ApiClient] to interface with the Intel API.

Rate Limiting

The Intel API implements rate limiting and may return HTTP 429 (Too Many Requests) responses. This client automatically handles rate limiting by retrying requests up to 3 times by default, waiting for the duration specified in the Retry-After header. You can configure the retry behavior using [ApiClient::set_max_retries]. If all retries are exhausted, the client returns an [IntelApiError::TooManyRequests] error.

Example

use intel_dcap_api::{ApiClient, IntelApiError, TcbInfoResponse};

#[tokio::main]
async fn main() -> Result<(), IntelApiError> {
   let client = ApiClient::new()?;

   // Example: Get SGX TCB Info
   let fmspc_example = "00606A000000"; // Example FMSPC from docs
   match client.get_sgx_tcb_info(fmspc_example, None, None).await {
       Ok(TcbInfoResponse {
              tcb_info_json,
              issuer_chain,
          }) => println!(
           "SGX TCB Info for {}:\n{}\nIssuer Chain: {}",
          fmspc_example, tcb_info_json, issuer_chain
       ),
       Err(e) => eprintln!("Error getting SGX TCB info: {}", e),
   }

   Ok(())
}