auth: SSH fingerprint is real SHA-256, not BLAKE2b mislabeled "SHA256:"
SSHKeyParser.fingerprint used hypercore-crypto.hash (BLAKE2b-256) then
prefixed the digest with "SHA256:", so fingerprints never matched
ssh-keygen -lf / ssh-add -l / GitHub. The SSH push path still worked
(enrollment, the baked authorized_keys --fp=, and git-acl-check all use
the same stored value), but Channel C admin approval and every
human-facing fingerprint comparison were broken.
Switch to sodium-native crypto_hash_sha256 (already a direct dep, used
elsewhere in this package; bare- and node-safe). Pin a known-vector
assertion equal to `ssh-keygen -lf` output so this can't regress — the
prior test only checked the "SHA256:" prefix + determinism, which the
BLAKE2b digest also satisfied. Bump 1.0.0 -> 1.0.1.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
b2e7389b69d1352d2c23fb9aedaf70421755389a
by plankatron <fleeky@gmail.com> · 2026-06-09T15:39:34.000Z