You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: v0.6.0 — drop CMS encryption + ERS scope creep
Remove pkcs7/enveloped.rs, pkcs7/ecdh.rs, pkcs7/kem.rs,
crypto/rsa_oaep.rs, crypto/hkdf.rs, ers.rs (~4.7k LOC out).
A signing service should not carry encryption or archive
long-term-validity surface. POST /api/v1/sign-detached
(CMS SignedData via Pkcs7Builder::new_detached) already
covers the 'wrap any file for transport + later verify'
workflow — EnvelopedData had zero external callers.
Dep graph drops aes-gcm, aes, aes-kw, cbc, hkdf, and the
ecdh feature from p256/p384/p521. Roadmap renumbered:
v0.6 -> v0.7 (structural clean-up), v0.7 -> v0.8 (hybrid
/composite).
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.6.0] - 2026-04-19
11
+
12
+
### Removed
13
+
-**CMS EnvelopedData encryption surface** — `pkcs7/enveloped.rs`, `pkcs7/ecdh.rs`, `pkcs7/kem.rs`, `crypto/rsa_oaep.rs`, `crypto/hkdf.rs` deleted (~3.3k LOC). This is a signing service, not a key-agreement / confidentiality product. `POST /api/v1/sign-detached` (CMS SignedData via `Pkcs7Builder::new_detached()`) already covers the "wrap any file for transport + later verify" workflow. Dep graph drops `aes-gcm`, `aes`, `aes-kw`, `cbc`, `hkdf`, and the `ecdh` feature from p256/p384/p521.
14
+
-**RFC 4998 Evidence Record Syntax (`ers.rs`)** — ~1.4k LOC removed. Long-term archive timestamps are a separate product scope; this repo ships RFC 3161 client + TSA server only.
@@ -74,7 +74,6 @@ No OpenSSL. No `signtool.exe`. No external dependencies. One binary.
74
74
-**Concurrency limit** --- Global ceiling on in-flight signing requests (`rate_limit_rps`, default 10) to bound CPU exhaustion
75
75
-**CIDR-aware reverse-proxy trust** --- Only whitelisted CIDRs may set `X-Forwarded-For` / `X-Real-IP`
76
76
-**Cosign-signed releases** --- Every release artifact ships with a self-contained `.cosign-bundle` (signature + certificate) for supply-chain verification
77
-
-**Evidence Record Syntax** --- RFC 4998 long-term archive timestamps
78
77
-**Static binary** --- `x86_64-unknown-linux-musl` target, zero runtime dependencies
79
78
80
79
> [!TIP]
@@ -398,7 +397,7 @@ Compatible with any RFC 3161 client --- `signtool.exe`, `openssl ts`, or this to
398
397
## CLI Reference
399
398
400
399
```
401
-
pki-sign 0.5.11
400
+
pki-sign 0.6.0
402
401
PKI Signing Service - Pure Rust Code Signing Engine
|`config`| TOML configuration with env var and CLI overrides |
484
480
@@ -558,15 +554,16 @@ The project is stable for Authenticode, detached CMS, and RFC 3161 signing workl
558
554
559
555
### Recently shipped
560
556
557
+
-**Scope trim (v0.6.0)** --- removed CMS EnvelopedData (encryption: ECDH, ML-KEM, RSA-OAEP key transport) and RFC 4998 Evidence Record Syntax. This is a signing service, not a key-agreement / long-term-archive product. `sign-detached` (CMS SignedData) already covers the "wrap any file for transport + later verify" workflow. ~4.7k LOC and five supporting crates gone from the dep graph.
561
558
-**Feature-gate ML-DSA behind `pq-experimental`** ([#72](https://github.com/rayketcham-lab/PKI-Signing-Service/issues/72)) --- default builds drop the `ml-dsa` / `slh-dsa` dependencies entirely; post-quantum opt-in via `cargo build --features pq-experimental`. The `default_build_cargo_tree_omits_ml_dsa` test pins the invariant.
562
559
-**CSRF Origin guard** ([#19](https://github.com/rayketcham-lab/PKI-Signing-Service/issues/19)) --- state-changing routes now reject cross-origin browser POSTs; `trusted_origins` allowlist with same-origin fallback.
-**Decompose `signer.rs` / `verifier.rs` monoliths** ([#55](https://github.com/rayketcham-lab/PKI-Signing-Service/issues/55)) --- extract PFX loading and cert-validation helpers into dedicated modules without public-API churn.
568
565
569
-
### v0.7 --- Hybrid / composite certificates
566
+
### v0.8 --- Hybrid / composite certificates
570
567
571
568
-**Dual-sign PKCS#7** ([#22](https://github.com/rayketcham-lab/PKI-Signing-Service/issues/22) phase 2) --- same PKCS#7 envelope carries an RSA or ECDSA signature *and* an ML-DSA counter-signature, so a downstream verifier with either capability can validate.
572
569
-**Composite signatures (NIST SP 800-227)** ([#22](https://github.com/rayketcham-lab/PKI-Signing-Service/issues/22) phase 3) --- single certificate carrying both a classical and a PQ key; tracks the NIST composite-signature spec as it finalizes.
0 commit comments