Skip to content

clazel-x509: X.509 decoders and name matching (3.5b, partial), tier 0 - #14

Merged
atiernan merged 2 commits into
phase3/derfrom
phase3/x509
Oct 27, 2026
Merged

atiernan merged 2 commits into
phase3/derfrom
phase3/x509

Conversation

@atiernan

Copy link
Copy Markdown
Member

Third of the stacked PRs that replace #1 (TLS takeover plan, step 1). It stacks on #10 because x509 depends on clazel-der. This adds crates/clazel-x509 byte for byte as it is on the TLS stack (I checked: no difference from phase3/tls-bootstrap-ccs), plus its Cargo.lock entry. It has no third-party dev-dependencies and no generated test data, so it needs no allowlist rows and no xtask changes.

What it is: decoders for the envelope, TBS, extensions, time, SPKI and name constraints, partial leaf checks, and RFC 9525 host matching. It has no path building or validation and no trust anchors yet.

Local results: cargo xtask check reported STATIC CHECKS PASSED. cargo fmt --all --check and strict clippy are clean, and cargo test -p clazel-x509 passes. I did not run Verus, mutations or a full verify locally. The crate stays at tier = 0.

Needs Alex's OK to merge, after #10.

🤖 Generated with Claude Code

atiernan and others added 2 commits October 27, 2026 11:06
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The views of SubjectPublicKeyInfo, PublicKey and RsaPublicKey map pub
fields one to one; closing them stopped other crates from relating a
parsed key's fields to `parse_subject_public_key_info`'s spec, which
clazel-crypto's signature verifier needs. No semantics change; whole-
crate Verus passes with 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@atiernan
atiernan merged commit ed07d28 into main Oct 27, 2026
13 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant