Skip to main content

max / makenotwork

server: bump authenticode to 0.6 and object to 0.39 These two move together: authenticode 0.6.0 requires object ^0.39.0, which is why the standalone object bump was blocked and had to fold in here. 1890 lib + 1190 integration green, clippy clean. x509-cert 0.3.0 and const-oid 0.10.2 are NOT in this commit and are not actually available yet. The task assumed the four move as one unit; that is wrong on the facts. authenticode 0.6.0 still depends on x509-cert ^0.2.0 and const-oid ^0.9.0, so raising ours puts two x509_cert versions in the graph and the certificates handed back by sig.certificates() stop matching extract_subject_cn's signature. Tried it, reverted it. Those two now wait on authenticode, not the other way round. Verified the code-signing paths rather than the bump alone, since the authenticode API is what parses PE signatures: all 10 signing_windows tests pass (PE structure detection, signer extraction, the fail-open path, and malformed input), plus the linux and macos signing suites, 249 scanning tests in total.
Co-Authored-By
Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-22 21:10 UTC
Signed with PGP, not checked
Commit: 1db9cfddcab05d9f201168973fb4e2a71863ffcd
Parent: f6f6939
2 files changed, +17 insertions, -20 deletions
M server/Cargo.lock +15 -18
@@ -669,18 +669,15 @@
669 669
670 670 [[package]]
671 671 name = "authenticode"
672 - version = "0.5.0"
672 + version = "0.6.0"
673 673 source = "registry+https://github.com/rust-lang/crates.io-index"
674 - checksum = "86c421a87e3dd1a3024c86e0787106b6ba40d9b434fe0ebeffbd24a242dc144d"
674 + checksum = "e68f4bbb3221256060f0e164b8d41b659cdee9f3c1fb7f97706a25d3148875a3"
675 675 dependencies = [
676 676 "cms",
677 677 "const-oid 0.9.6",
678 678 "der",
679 679 "digest 0.10.7",
680 - "object 0.37.3",
681 - "rsa",
682 - "sha1 0.10.6",
683 - "sha2 0.10.9",
680 + "object 0.39.1",
684 681 "spki",
685 682 "x509-cert",
686 683 ]
@@ -4391,7 +4388,7 @@
4391 4388 "memmap2",
4392 4389 "metrics",
4393 4390 "metrics-exporter-prometheus",
4394 - "object 0.37.3",
4391 + "object 0.39.1",
4395 4392 "openssl",
4396 4393 "pom-contract",
4397 4394 "proptest",
@@ -4832,17 +4829,6 @@
4832 4829 "ruzstd 0.7.3",
4833 4830 ]
4834 4831
4835 - [[package]]
4836 - name = "object"
4837 - version = "0.37.3"
4838 - source = "registry+https://github.com/rust-lang/crates.io-index"
4839 - checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
4840 - dependencies = [
4841 - "flate2",
4842 - "memchr",
4843 - "ruzstd 0.8.3",
4844 - ]
4845 -
4846 4832 [[package]]
4847 4833 name = "object"
4848 4834 version = "0.38.1"
@@ -4855,6 +4841,17 @@
4855 4841 "memchr",
4856 4842 ]
4857 4843
4844 + [[package]]
4845 + name = "object"
4846 + version = "0.39.1"
4847 + source = "registry+https://github.com/rust-lang/crates.io-index"
4848 + checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b"
4849 + dependencies = [
4850 + "flate2",
4851 + "memchr",
4852 + "ruzstd 0.8.3",
4853 + ]
4854 +
4858 4855 [[package]]
4859 4856 name = "oid-registry"
4860 4857 version = "0.7.1"
@@ -156,10 +156,10 @@
156 156 # URL parsing
157 157 url = "2.5.8"
158 158 apple-codesign = { version = "0.29.0", default-features = false }
159 - authenticode = { version = "0.5.0", features = ["std", "object"] }
159 + authenticode = { version = "0.6.0", features = ["std", "object"] }
160 160 x509-cert = "0.2.5"
161 161 const-oid = { version = "0.9", features = ["db"] }
162 - object = { version = "0.37", features = ["pe"] }
162 + object = { version = "0.39", features = ["pe"] }
163 163 ammonia = "4"
164 164 lightningcss = { version = "1.0.0-alpha.71", default-features = false, features = ["visitor"] }
165 165