No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/yip!149
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/deps-rng-ecosystem"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Migrates the RNG ecosystem together (coupled): ed25519-dalek 2→3, rand_core 0.6→0.10, getrandom 0.2→0.4 across yip-ca, yipd, yip-rendezvous, yip-membership, yip-obf, yip-utls. Supersedes Renovate #139 (ed25519-dalek), #135 (rand_core), #131 (getrandom) — close all three.
The migration
generate<R: CryptoRng>needs an OS-CSPRNG implementing the newCryptoRng. Oldrand_core 0.6 OsRngis gone → replaced withgetrandom::SysRng(sys_rngfeature, same OS-entropy syscall path) wrapped inrand_core::UnwrapErrto bridge fallibleTryCryptoRng→ infallibleCryptoRng. Fail-closed preserved: it panics on entropy failure (as the oldOsRngdid) — no path degrades to weak/zero bytes.getrandom::getrandom(&mut buf)→getrandom::fill(&mut buf)(same semantics), 17 call sites.Security verification (proven, not assumed)
yip-ca genkeytwice → two different keypairs (SysRng is genuinely OS-backed).cryptography(OpenSSL Ed25519) — ed25519-dalek 3 derives the byte-identical public key, produces the byte-identical deterministic signature, and itsverifyaccepts the foreign-produced signature. So existing v2-signed Certs/RootSets still verify under v3.cargo test --workspaceall green (yipd 262/0, yip-membership 14/0, yip-rendezvous 32/0 + 91/0, yip-utls 70/0, yip-crypto 21/0); fmt + clippy clean.⚠️ Merge-order note (interacts with ml-kem PR #147)
This PR deliberately keeps
yip-utlsonrand_core 0.6(for ml-kem 0.2.3, which is what main still uses). PR #147 (ml-kem 0.3) bumpsyip-utlsto rand_core 0.10. So whichever of {this, #147} merges second needs a trivial rebase ofcrates/yip-utls/Cargo.toml's rand_core line. No logic conflict — just the version req.