-
Notifications
You must be signed in to change notification settings - Fork 8
Release Notes v2.75
NeySlim edited this page Mar 15, 2026
·
1 revision
Release Date: 2026-03-15
Previous Version: v2.69
Download: GitHub Releases
- 🔒 Delta CRL Support (RFC 5280 §5.2.4) — Incremental CRL updates with DeltaCRLIndicator, FreshestCRL, dedicated CDP endpoint, and scheduler
- 🛡️ Comprehensive Security Audit — 76 findings across 6 phases, 38 fixed (3 CRITICAL, 6 HIGH, 29 MEDIUM)
- 📄 PDF Report Templates — Generate professional PDF reports with custom builder and scheduling
- 🔐 PKI Protocol Hardening — ACME JWS bypass closure, EST timing-safe auth, SCEP decrypt fix, crypto validation
- 📊 Market Comparison Roadmap — Gap analysis vs EJBCA, Vault PKI, step-ca; 9-item roadmap added
- Delta CRL generation — Contains only revocations since the last base CRL, reducing download size
- DeltaCRLIndicator extension (CRITICAL) per RFC 5280 — references the base CRL number
- FreshestCRL extension on base CRLs — points clients to the delta CRL distribution point
-
Dedicated CDP endpoint:
GET /cdp/{ca_id}-delta.crlfor public delta CRL access - API endpoints: get delta CRL, force regeneration, configure enabled/interval
- Scheduler auto-generation — configurable interval (1–168 hours, default 4h)
- Frontend management — Toggle column in CRL/OCSP table, detail panel with stats and interval selector
-
Security hardening — Unique index on CRL numbers, rollback on failure,
is_deltafilter on base CRL queries -
Cache headers —
Cache-ControlandLast-Modifiedon all CDP routes
- Grid card layout for PDF report templates (Executive, Compliance, Inventory)
- Custom report builder with section selection
- Purple icon differentiation for PDF vs raw reports
- Schedule PDF report generation with email delivery
- Added 9-item roadmap from market comparison gap analysis to README
- Items: Delta CRL ✅, Key Archival, CMP, TSA, SSH Certificates, K8s/Helm, Code Signing, HA/Clustering, PQC
CRITICAL (3):
- Removed RSA-512/1024 key generation (minimum now RSA-2048)
- Closed ACME JWS signature bypass via
alg:none - Fixed XXE protection in certificate parsing
HIGH (6):
- CSR signature verification before signing
- Certificate validity clamping to CA expiry
- EST reenroll subject-matching enforcement
- SCEP decrypt cipher fix
- RBAC operator permission trimming (38→23 permissions)
- SSRF protection on OCSP/CRL URLs
MEDIUM (29):
- Generic error messages (no
str(e)leaks) - Timing-safe authentication on EST/SCEP
- Atomic ACME nonce generation
- Content-Disposition filename sanitization
- Discovery scan rate limiting
- Role escalation prevention
- ARIA overlay accessibility
- Dashboard valid certificate count
- Pie chart backend data
- i18n completeness across 9 locales
- And more...
- ACME: Key-change authorization, JWS algorithm validation
- EST: Timing-safe password comparison, reenroll subject check, serverkeygen fail-safe
- SCEP: Decrypt AES-256 fix, serial number format fix, challenge password timing-safe
- CRL: Base CRL queries now properly exclude delta CRLs
- Barrel export for auth-methods service
- Theme-safe color classes
- Reports page centered layout matching Settings pattern
- SAN field normalization (string + array)
- Bumped
black26.1.0 → 26.3.1 (CVE-2026-32274)
| Method | Endpoint | Permission | Description |
|---|---|---|---|
| GET | /api/v2/crl/{ca_id}/delta |
read:crl |
Get latest delta CRL |
| POST | /api/v2/crl/{ca_id}/delta/regenerate |
write:crl |
Force delta CRL generation |
| POST | /api/v2/crl/{ca_id}/delta-config |
write:crl |
Configure delta CRL settings |
| Method | URL | Auth | Description |
|---|---|---|---|
| GET | /cdp/{ca_id}-delta.crl |
None | Public delta CRL download (DER) |
-
GET /api/v2/crl— Now returns base CRL with attacheddelta_crlobject when available -
GET /api/v2/crl/{ca_id}— Explicitly returns base CRL (excludes delta) -
GET /cdp/{ca_id}.crl— Now includesCache-ControlandLast-Modifiedheaders
-
Migration 004: Adds delta CRL support
-
crl_metadata:is_delta(boolean),base_crl_number(integer) -
certificate_authorities:delta_crl_enabled(boolean),delta_crl_interval(integer, default 4) - Unique index on
(ca_id, crl_number)for race condition prevention
-
- Auto-applied on startup — no manual steps
- No breaking API changes
- Database migration auto-applied on restart
- New features available immediately after upgrade
- Clear browser cache after upgrade for updated frontend
- Existing CRLs remain unchanged; delta CRL must be explicitly enabled per CA