Configure the CoRIM verifier#

Note: The CoRIM verifier is experimental. It is the direction for NVIDIA’s attestation-verification workflow, but its behavior, interfaces, supported evidence, and EAR output may change.

This page describes the Rust bindings for the CoRIM verifier. The Configuration Guide configures the legacy attestation context and its claims-based workflow.

HTTP and TLS#

CorimStore::new and AiaOptions accept an optional HttpOptions reference. Use HttpOptions::builder() to configure retry behavior, backoff, connection and request timeouts, and custom TLS CA locations. Pass the same options to components that should use the same network settings.

use nv_attestation_sdk::HttpOptions;

let http = HttpOptions::builder()
    .max_retry_count(3)
    .connection_timeout_ms(5_000)
    .request_timeout_ms(30_000)
    .tls_ca_cert("/etc/ssl/certs/verifier-ca.pem")
    .build()?;

CoRIM sources and cache#

A new CorimStore includes the NVIDIA RIM allowlist prefix. Use add_allowed_url_prefix to permit another HTTPS prefix. The original rim-locator URL is checked before any rewrite.

Use add_url_rewrite to redirect an allowed prefix to a mirror or staging endpoint. Rewrites are evaluated in insertion order and the first match wins. Configure the store before passing it to LocalCorimVerifier::new, which consumes the store.

For repeated appraisals, call enable_in_memory_cache before creating the verifier. The cache uses the effective URL after rewrites as its key. Choose the capacity and lifetime to match the deployment’s reference-manifest update and availability requirements.

OCSP and verification controls#

Create the OCSP client with OcspClient::create_aia(AiaOptions { ... }). This uses each certificate’s Authority Information Access responder URL; pass AiaOptions::default() for the SDK defaults. Passing None to LocalCorimVerifier::new disables revocation checking.

CoRIM signature verification and revocation checking are enabled by default. set_verify_rim_signature(false) accepts unsigned CoRIMs, and set_verify_revocation(false) skips revocation checks. These switches are for controlled development fixtures only and should remain enabled in production.

Fallbacks and input digests#

add_backup_rim_locator supplies a locator only when evidence has none. set_backup_spdm_coev supplies ConciseEvidence only when SPDM evidence has no ECTs. Neither setting replaces valid data carried by the evidence.

set_default_hash_algorithms selects the default algorithms for ear_nvidia_inputs.digests. SHA-256 is the default. An empty slice disables digest output, while an algorithm request in the input overrides this default.

For the complete local workflow, see the CoRIM verifier guide.