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
- Rewrote speed-run.cast as a teaching run: why sign, what-we-sign per
format (PE/CAB/MSI/PS1/detached CMS), crypto stack (RSA/ECDSA/Ed25519/
ML-DSA experimental + PKCS#7/CMS + RFC 3161), measured splits, verify,
competitive set. Numbers are no longer hand-picked.
- New #[ignore]d bench `bench_speedrun_all_formats` in signer.rs builds
minimal PE/CAB/MSI/PS1/tarball with the bundled RSA-2048 fixture, times
each sign path, and prints SPEEDRUN_BENCH receipt anyone can reproduce.
Measured: PE 3ms · CAB 2ms · MSI 2ms · PS1 2ms · CMS 2ms → 11ms total.
- Re-render speed-run.svg from new cast, play-once (no loop).
- README hero points back at speed-run.svg with the "five formats, one
binary, proof all the way down" framing.
- Speed Run tab restored in docs/demo.html at position 2 with matching
DEMOS[] entry; other tabs renumbered.
- New `pki-sign demo` subcommand (src/demo.rs) + `demo` cargo feature
(default-on) — self-contained sign+verify round-trip against bundled
throwaway PFX. Exclude for hardened builds: --no-default-features.
- Showcase gallery (docs/showcase.html + thumbs) ships alongside the
per-cast SVGs for the-intern, the-heist, quantum-panic, the-auditor,
the-api so the landing grid has rendered assets.
Co-Authored-By: Claude <noreply@anthropic.com>
<img src="docs/demos/speed-run.svg" alt="pki-sign demo — sign and verify a batch of Windows binaries in under 10s" width="800">
11
+
<img src="docs/demos/speed-run.svg" alt="pki-sign demo — sign five Windows formats (PE, CAB, MSI, PS1, detached CMS) on Linux from one static binary, with the full chain of proof" width="800">
12
12
</a>
13
13
<br>
14
14
<em>▶ <ahref="https://rayketcham-lab.github.io/PKI-Signing-Service/demo.html">Watch the full demo suite (6 scripted casts)</a></em>
@@ -1235,7 +1235,7 @@ <h2 class="section-title" id="install-heading">Up and Running in 60 Seconds</h2>
1235
1235
varDEMOS=[
1236
1236
{id: 'intern',cast: 'demos/the-intern.cast',title: "The Intern",desc: "Kevin's first day. What could go wrong?"},
1237
1237
{id: 'heist',cast: 'demos/the-heist.cast',title: "The Heist",desc: "Somebody tampered with the binary. Big mistake."},
1238
-
{id: 'speed-run',cast: 'demos/speed-run.cast',title: "Speed Run",desc: "5 file types. 5 seconds. World record attempt."},
1238
+
{id: 'speedrun',cast: 'demos/speed-run.cast',title: "Speed Run",desc: "Five formats. One binary. Authenticode + PKCS#7 + RFC 3161 — proof all the way down."},
1239
1239
{id: 'quantum',cast: 'demos/quantum-panic.cast',title: "Quantum Panic",desc: "RSA is dead. Long live ML-DSA (experimental: pq-experimental feature flag)."},
1240
1240
{id: 'auditor',cast: 'demos/the-auditor.cast',title: "The Auditor",desc: "Karen from Compliance has entered the chat."},
1241
1241
{id: 'api',cast: 'demos/the-api.cast',title: "REST in Peace",desc: "Where unsigned code goes to die."}
0 commit comments