Repository navigation
feat: integrate credential generators and X.509 identities - #483
Merged
Merged
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
secretspec | bb01b97 | Commit Preview URL Branch Preview URL |
Oct 13 2026, 05:25 PM |
domenkozar
marked this pull request as ready for review
October 8, 2026 14:18
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Credential generators from #417 merged into a feature branch after its parent PR had landed, leaving
x509_identityand the other additional types unavailable onmain. Integrate those generators with the current resolver and native SDKs, using Rust certificate and PKCS#12 libraries for X.509 operations.fromconversions, JSON/INI selections, and typed password credentials through the shared dependency graph. Support PEM/DER keys and certificates, certificate chains, and password-protected PKCS#12 archives while preserving scoped output, file ownership, and credential refresh deadlines.rcgen,x509-parser, andp12-keystore. Certificate crypto uses the existing AWS-LC backend. Import RSA, P-256, P-384, P-521, and Ed25519 keys; consume every certificate bag and reject unrelated, duplicate, or ambiguous chains. Export AES-256-CBC/PBKDF2-HMAC-SHA-256 archives with a SHA-256 MAC and 100,000 iterations.p12-keystore0.4.1, including the bag-preserving archive API and merged Unicode certificate-label fix. Certificate DER and local key IDs survive Unicode-subject rewrapping; only unrepresentable generated BMP bag labels are omitted. Passwords still support the Unicode Basic Multilingual Plane until RustCrypto/formats#2477 ships.fromversion label to 0.22.Release gate: publish the matching IPC crate first, then verify the packaged crate. The p12-keystore release prerequisite is complete: the minimum registry version is 0.4.1, with no Git override.
RELEASE.mdrecords the remaining steps and the separate supplementary-Unicode password follow-up.Validation on the Rust 1.92 toolchain (full-suite results below precede the final review fixes):
CI passed on final head
bb01b977: Rust tests on Ubuntu, macOS, and Windows; feature and package checks; documentation; the language SDK suite and Swift SDK; and Haskell builds on Linux and Windows.cargo test --workspace --exclude secretspec-php-native --offline: passed, including 1,813 core tests (four ignored), derive compile-fail snapshots, IPC conformance, integration tests, native bindings, and doctests. The PHP extension is excluded as in native CI.cargo check -p secretspec --no-default-features --offline: passed.prek run -ahooks: passed, including full-workspace Clippy with PHP headers and rustfmt.cargo package -p secretspec --allow-dirty --no-verify --locked --offline: passed again with p12-keystore 0.4.1; the packaged manifest requires registry version 0.4.1 without a Git override. Full package verification resolves the new archive API, then fails on the existingMAX_JSON_INTEGERreferences because the publishedsecretspec-ipc0.21.1 predates currentmain. Publish the matching IPC crate first and rerun verification as documented inRELEASE.md.p12-keystore0.4.0 and the supported ChaCha20 0.10.2 patch. The registry crate checksum matches the index, and its sources match the previously tested archive-API fix.main, the credential-deadline test and configuration schema/warning tests passed. The Windows fixture now escapes provider paths through TOML serialization.Fixes #481. Implements the X.509 backend transition tracked in #484; supplementary-Unicode support remains an upstream release follow-up.