sigstore_fulcio/lib.rs
1//! Fulcio certificate authority client for Sigstore
2//!
3//! This crate provides a client for interacting with Fulcio, the Sigstore
4//! certificate authority service.
5//!
6//! # Features
7//!
8//! - `cache` - Enable caching support for configuration and trust bundle responses.
9//! When enabled, use [`FulcioClientBuilder::with_cache`] to configure a cache adapter.
10//!
11//! # Example
12//!
13//! ```no_run
14//! use sigstore_fulcio::FulcioClient;
15//!
16//! # async fn example() -> Result<(), sigstore_fulcio::Error> {
17//! let client = FulcioClient::public();
18//! let config = client.get_configuration().await?;
19//! println!("Supported issuers: {:?}", config.issuers);
20//! # Ok(())
21//! # }
22//! ```
23//!
24//! With caching enabled:
25//!
26//! ```ignore
27//! use sigstore_fulcio::FulcioClient;
28//! use sigstore_cache::FileSystemCache;
29//!
30//! let cache = FileSystemCache::default_location()?;
31//! let client = FulcioClient::builder("https://fulcio.sigstore.dev")
32//! .with_cache(cache)
33//! .build();
34//! ```
35
36pub mod client;
37pub mod error;
38
39pub use client::{
40 Configuration, FulcioClient, FulcioClientBuilder, SigningCertificate, TrustBundle,
41};
42pub use error::{Error, Result};