pub struct DogtagConfig {
pub ca_url: Url,
pub kra_url: Option<Url>,
pub agent_cert_file: String,
pub agent_key_file: String,
pub ca_cert_file: String,
pub profile_id: String,
pub timeout_secs: u64,
pub retry_max: u32,
pub retry_delay_ms: u64,
}Expand description
Configuration for connecting to a Dogtag PKI instance.
Supports deserialization from TOML configuration files. The agent certificate and key are used for mTLS authentication to the Dogtag REST API, which requires an agent-level certificate for enrollment and revocation operations.
§Example TOML
[dogtag]
ca_url = "https://ca.example.com:8443"
kra_url = "https://kra.example.com:8443"
agent_cert_file = "/etc/kipuka/agent.pem"
agent_key_file = "/etc/kipuka/agent.key"
ca_cert_file = "/etc/pki/tls/certs/ca-bundle.crt"
profile_id = "caServerCert"
timeout_secs = 30
retry_max = 3
retry_delay_ms = 1000Fields§
§ca_url: UrlBase URL of the Dogtag CA subsystem.
Typically https://<hostname>:8443 for the secure admin/agent port.
The REST API endpoints are relative to this URL (e.g., /ca/rest/certs).
kra_url: Option<Url>Base URL of the Dogtag KRA subsystem (optional).
Required only for /serverkeygen operations that need server-side key
generation and archival. Typically on the same host as the CA but may
be a separate instance.
agent_cert_file: StringPath to the PEM-encoded agent certificate file.
This certificate authenticates the client to the Dogtag REST API. Must be issued by a CA trusted by the Dogtag instance and have the appropriate agent privileges.
agent_key_file: StringPath to the PEM-encoded agent private key file.
ca_cert_file: StringPath to the PEM-encoded CA certificate file for TLS verification.
Used to verify the Dogtag server’s TLS certificate. This is typically the root CA certificate that issued the Dogtag instance’s server cert.
profile_id: StringDefault enrollment profile ID.
Common profiles include:
caServerCert— TLS server certificatescaUserCert— User/client certificatescaIPAserviceCert— FreeIPA service certificatescaDualCert— Dual-key (signing + encryption) certificates
timeout_secs: u64HTTP request timeout in seconds.
Applied to each individual HTTP request to the Dogtag REST API. Enrollment operations may take longer if the CA profile requires approval workflows.
retry_max: u32Maximum number of retry attempts for transient failures.
Retries are attempted for HTTP 5xx errors and connection failures. Client errors (4xx) are not retried.
retry_delay_ms: u64Delay between retry attempts in milliseconds.
Simple fixed-delay retry. Future versions may support exponential backoff.
Trait Implementations§
Source§impl Clone for DogtagConfig
impl Clone for DogtagConfig
Source§fn clone(&self) -> DogtagConfig
fn clone(&self) -> DogtagConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more