SPORK Downloads

Pure Rust Certificate Authority engine and ACME server with post-quantum cryptography support.

Linux x86_64 (static musl) + Windows x86_64 | SHA3-256 verified

SPORK CA Engine

v0.3.0-beta.11 | 5,285 tests passing | 0 warnings | 0 clippy warnings

The CA engine is a standalone project (split from the spork-ca monorepo). ACME and WebUI are separate projects. The CA engine provides OCSP, CRL, EST, SCEP, CMP, Shell, API, Sign, TSA, TUI, and the setup wizard.

PackageDescriptionSizeLicense
spork-ca Full CA server suite (12 binaries: OCSP, CRL, EST, SCEP, CMP, Shell, API, Sign, TSA, TUI) 34 MB BSL-1.1
spork-est-server EST enrollment server (RFC 7030/8295) 4.0 MB BSL-1.1
spork-scep-server SCEP enrollment server (RFC 8894) 3.9 MB BSL-1.1
spork-sign Code signing service (CMS/PKCS#7, Authenticode) 4.4 MB BSL-1.1
spork-tsa-server RFC 3161 time-stamp authority server 4.4 MB BSL-1.1

Client Packages

PackagePlatformSizeLicense
spork-client (Linux) Linux x86_64 4.7 MB Apache-2.0
spork-client (Windows) Windows x86_64 11 MB Apache-2.0

Update Package

PackageDescriptionSizeLicense
spork-update Binary update for existing CA installations (stops services, replaces binaries, restarts) 34 MB BSL-1.1

Quick Install

# Full CA suite
curl -sSLO https://rayketcham.com/CRLs/sp0rk/static/spork-ca-0.3.0-beta.11-linux-x86_64-installer
chmod +x spork-ca-0.3.0-beta.11-linux-x86_64-installer
sudo ./spork-ca-0.3.0-beta.11-linux-x86_64-installer

# CLI client only
curl -sSLO https://rayketcham.com/CRLs/sp0rk/static/spork-client-0.3.0-beta.11-linux-x86_64-installer
chmod +x spork-client-0.3.0-beta.11-linux-x86_64-installer
./spork-client-0.3.0-beta.11-linux-x86_64-installer

Verify Integrity

# Self-verification (SHA3-256)
./spork-ca-0.3.0-beta.11-linux-x86_64-installer --verify

# Manual checksum verification
curl -sSL https://rayketcham.com/CRLs/sp0rk/static/SHA3SUMS | grep spork-ca

Checksums: SHA3SUMS | SHA256SUMS

What's New in 0.3.0-beta.11

Previous: 0.3.0-beta.9


SPORK ACME Server (Standalone)

v0.4.0-beta.9 | 1,468 tests passing | 0 warnings | 0 clippy warnings | CI green

The ACME server is a standalone project (split from the spork-ca monorepo). RFC 8555-compliant, certbot-compatible out of the box, with built-in micro-CA, admin dashboard, and interactive setup wizard. FIPS 140-3 enabled by default (aws-lc-rs, NIST Cert #4816). 5 deployment modes: 2-tier, 3-tier, subordinate to Windows CA, WinRM bridge, import PFX.

PackageDescriptionSizeLicense
spork-acme (Linux) Standalone ACME server binary — static musl, FIPS 140-3 default, no dependencies 18 MB BSL-1.1

Quick Install (ACME Standalone)

# Download the standalone ACME binary
curl -fSL -o spork-acme \
  https://rayketcham.com/CRLs/sp0rk/static/spork-acme-0.4.0-beta.9-linux-x86_64
chmod +x spork-acme

# Run the interactive setup wizard (requires root)
sudo ./spork-acme

# Or install to /opt/spork-acme and start as a service
sudo cp spork-acme /usr/local/bin/
sudo spork-acme

What's New in 0.4.0-beta.9

Previous: 0.4.0-beta.8

Previous: 0.4.0-beta.7

Previous: 0.4.0-beta.5

Previous: 0.4.0-beta.4


Enterprise CA Trust Hierarchy

3-tier PKI: 23 Certificate Authorities across 5 policy domains. FIPS 204/205 compliant. DC-style LDAP Distinguished Names.

SPORK Root CA (P-384, 25 year, pathlen=2)
  ├── TLS Policy CA (P-384, 10 year, pathlen=1)
  │     ├── TLS Web Server Issuing CA (P-256, 5 year)
  │     ├── TLS API Issuing CA (P-256, 5 year)
  │     ├── TLS VPN Issuing CA (P-256, 5 year)
  │     └── TLS Client Auth Issuing CA (P-256, 5 year)
  ├── Code Signing Policy CA (P-384, 10 year, pathlen=1)
  │     ├── Software Signing Issuing CA (P-256, 5 year)
  │     ├── Driver Signing Issuing CA (P-256, 5 year)
  │     └── Timestamp Authority CA (P-256, 5 year)
  ├── S/MIME Policy CA (P-384, 10 year, pathlen=1)
  │     ├── Corporate Email Issuing CA (P-256, 5 year)
  │     ├── Partner Email Issuing CA (P-256, 5 year)
  │     └── Executive Email Issuing CA (P-256, 5 year)
  ├── Device Policy CA (P-384, 10 year, pathlen=1)
  │     ├── Workstation Issuing CA (P-256, 5 year)
  │     ├── Mobile Device Issuing CA (P-256, 5 year)
  │     └── Network Equipment Issuing CA (P-256, 5 year)
  └── Identity Policy CA (P-384, 10 year, pathlen=1)
        ├── Employee Identity Issuing CA (P-256, 5 year)
        ├── Contractor Identity Issuing CA (P-256, 5 year)
        ├── Service Account Issuing CA (P-256, 5 year)
        └── Federation Partner Issuing CA (P-256, 5 year)

Root CA

Certificate AuthorityAlgorithmValidityDownload
SPORK Root CA ECDSA P-384 2026-02-15 to 2051-02-15 PEM | CRT

TLS Domain (5 CAs)

Certificate AuthorityAlgorithmValidityDownload
SPORK TLS Policy CA ECDSA P-384 2026-02-15 to 2036-02-15 PEM | CRT
SPORK TLS Web Server Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK TLS API Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK TLS VPN Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK TLS Client Auth Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT

TLS domain chain bundle (P7B)

Code Signing Domain (4 CAs)

Certificate AuthorityAlgorithmValidityDownload
SPORK Code Signing Policy CA ECDSA P-384 2026-02-15 to 2036-02-15 PEM | CRT
SPORK Software Signing Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Driver Signing Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Timestamp Authority CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT

Code Signing domain chain bundle (P7B)

S/MIME Domain (4 CAs)

Certificate AuthorityAlgorithmValidityDownload
SPORK S/MIME Policy CA ECDSA P-384 2026-02-15 to 2036-02-15 PEM | CRT
SPORK Corporate Email Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Partner Email Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Executive Email Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT

S/MIME domain chain bundle (P7B)

Device Domain (4 CAs)

Certificate AuthorityAlgorithmValidityDownload
SPORK Device Policy CA ECDSA P-384 2026-02-15 to 2036-02-15 PEM | CRT
SPORK Workstation Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Mobile Device Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Network Equipment Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT

Device domain chain bundle (P7B)

Identity Domain (5 CAs)

Certificate AuthorityAlgorithmValidityDownload
SPORK Identity Policy CA ECDSA P-384 2026-02-15 to 2036-02-15 PEM | CRT
SPORK Employee Identity Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Contractor Identity Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Service Account Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT
SPORK Federation Partner Issuing CA ECDSA P-256 2026-02-15 to 2031-02-15 PEM | CRT

Identity domain chain bundle (P7B)

CA Bundles

BundleContentsDownload
Full CA Bundle All 23 CAs (Root + 5 Policy + 17 Issuing) PEM | P7B
TLS Chain Root + TLS Policy + 4 TLS Issuing CAs P7B
Code Signing Chain Root + Code Signing Policy + 3 Issuing CAs P7B
S/MIME Chain Root + S/MIME Policy + 3 Issuing CAs P7B
Device Chain Root + Device Policy + 3 Issuing CAs P7B
Identity Chain Root + Identity Policy + 4 Issuing CAs P7B

CRL Distribution

CRLDownload
Root CADER
TLS Policy CADER
TLS Web Server Issuing CADER
TLS API Issuing CADER
TLS VPN Issuing CADER
TLS Client Auth Issuing CADER
Code Signing Policy CADER
Software Signing Issuing CADER
Driver Signing Issuing CADER
Timestamp Authority CADER
S/MIME Policy CADER
Corporate Email Issuing CADER
Partner Email Issuing CADER
Executive Email Issuing CADER
Device Policy CADER
Workstation Issuing CADER
Mobile Device Issuing CADER
Network Equipment Issuing CADER
Identity Policy CADER
Employee Identity Issuing CADER
Contractor Identity Issuing CADER
Service Account Issuing CADER
Federation Partner Issuing CADER

Cryptography

CategoryAlgorithms
ClassicalECDSA P-256/P-384, RSA 2048/3072/4096, RSA-PSS 3072/4096, Ed25519
Post-Quantum (FIPS 204)ML-DSA-44, ML-DSA-65, ML-DSA-87
Post-Quantum (FIPS 205)SLH-DSA-SHA2-128s, 192s, 256s
HybridML-DSA + ECDSA composite signatures

Previous Versions

v0.4.0-beta.8 ACME | v0.4.0-beta.5 ACME | v0.4.0-beta.4 ACME | v0.3.0-beta.9 CA | v0.3.0-beta.9 Client