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 validationVersion- Semantic versioning for ANS agentsAnsName- ANS URI format (e.g.,ans://v1.0.0.agent.example.com)Badge- Badge data from the Transparency Log APICertFingerprint- 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 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.
- types
- Core domain types for ANS verification.