Files
certforge/Cargo.toml
T
Roman KivalinandClaude Opus 4.6 c1fdfba3fe Initial implementation of certforge ACME certificate manager
Rust CLI tool for automated ACME certificate management with:
- DNS-01 challenge via RFC 2136 dynamic DNS updates with TSIG auth
- DANE TLSA record publication (RFC 6698/7671/7672)
- systemd credential integration (systemd-creds encrypt/decrypt)
- systemd unit management via D-Bus (zbus)
- Post-renewal hooks (systemctl reload/restart, arbitrary commands)
- Key rotation with DANE pre-publication protocol
- TOML configuration with per-zone DNS overrides

Tested against Let's Encrypt staging. 12 unit tests, zero warnings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:07:27 +02:00

50 lines
881 B
TOML

[package]
name = "certforge"
version = "0.1.0"
edition = "2024"
[dependencies]
# ACME
instant-acme = "0.8"
# DNS
hickory-proto = { version = "0.25", features = ["dnssec-ring"] }
hickory-client = { version = "0.25", features = ["dnssec-ring"] }
# Crypto / Certificates
rcgen = "0.13"
ring = "0.17"
x509-parser = "0.16"
pem = "3"
sha2 = "0.10"
base64 = "0.22"
hex = "0.4"
rustls-pki-types = "1"
# Async
tokio = { version = "1", features = ["full"] }
# CLI
clap = { version = "4", features = ["derive"] }
# Config
serde = { version = "1", features = ["derive"] }
toml = "0.8"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Error handling
thiserror = "2"
anyhow = "1"
# Time
chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }
# State persistence
serde_json = "1"
# systemd D-Bus
zbus = "5"