Skip to main content

Crate ans_types

Crate ans_types 

Source
Expand description

Shared types for the Agent Name Service (ANS) ecosystem.

This crate provides common data structures and types used across ANS crates:

  • Fqdn - Fully Qualified Domain Name validation
  • Version - Semantic versioning for ANS agents
  • AnsName - ANS URI format (e.g., ans://v1.0.0.agent.example.com)
  • Badge - Badge data from the Transparency Log API
  • CertFingerprint - SHA-256 certificate fingerprints

§Example

use ans_types::{Fqdn, AnsName, Version};

// Parse an FQDN
let fqdn = Fqdn::new("agent.example.com").unwrap();
assert_eq!(fqdn.ans_badge_name(), "_ans-badge.agent.example.com");

// Parse an ANS name
let name = AnsName::parse("ans://v1.0.0.agent.example.com").unwrap();
assert_eq!(*name.version(), Version::new(1, 0, 0));
assert_eq!(name.to_string(), "ans://v1.0.0.agent.example.com");

Re-exports§

pub use badge::AgentEvent;
pub use badge::AgentInfo;
pub use badge::Attestations;
pub use badge::Badge;
pub use badge::BadgePayload;
pub use badge::BadgeStatus;
pub use badge::CertAttestation;
pub use badge::EventType;
pub use badge::MerkleProof;
pub use badge::Producer;
pub use error::CryptoError;
pub use error::ParseError;
pub use fingerprint::CertFingerprint;
pub use scitt::CertEntry;
pub use scitt::CertType;
pub use scitt::StatusTokenPayload;
pub use scitt::VerificationTier;
pub use types::AnsName;
pub use types::Fqdn;
pub use types::Version;

Modules§

badge
Badge data models from the Transparency Log API.
error
Error types for ANS shared types.
fingerprint
Certificate fingerprint computation and comparison.
scitt
SCITT (Supply Chain Integrity, Transparency, and Trust) shared types.
types
Core domain types for ANS verification.