···2626ciborium = "0.2"
2727clap = { version = "4.6", features = ["derive"] }
2828futures-util = { version = "0.3", default-features = false, features = ["std"] }
2929+# Direct CSPRNG access for JWT `jti` nonces and the sentinel run-id.
3030+# Transitively present (k256 → elliptic-curve → rand_core with the
3131+# `getrandom` feature disabled), so we can't reach OsRng through the
3232+# existing dep graph. Promoting `getrandom` to a direct dep is the
3333+# smallest viable fix.
3434+getrandom = "0.2"
2935hickory-resolver = "0.25"
3036humantime = "2.1"
3137k256 = { version = "0.13", features = ["ecdsa"] }
+15-3
src/common/identity.rs
···10961096 // [0xe7, 0x01] (k256 prefix) + 33-byte SEC1 point.
10971097 let expected_hex =
10981098 "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798";
10991099- let actual_hex: String = sec1_bytes.iter().map(|b| format!("{b:02x}")).collect();
10991099+ let actual_hex = sec1_bytes.iter().fold(String::new(), |mut s, b| {
11001100+ use std::fmt::Write;
11011101+ let _ = write!(s, "{b:02x}");
11021102+ s
11031103+ });
11001104 assert_eq!(actual_hex, expected_hex);
11011105 }
11021106 _ => panic!("Expected K256 verifying key"),
···11231127 // Expected bytes derived from the multikey fixture.
11241128 let expected_hex =
11251129 "026b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296";
11261126- let actual_hex: String = sec1_bytes.iter().map(|b| format!("{b:02x}")).collect();
11301130+ let actual_hex = sec1_bytes.iter().fold(String::new(), |mut s, b| {
11311131+ use std::fmt::Write;
11321132+ let _ = write!(s, "{b:02x}");
11331133+ s
11341134+ });
11271135 assert_eq!(actual_hex, expected_hex);
11281136 }
11291137 _ => panic!("Expected P256 verifying key"),
···11531161 let mut key_bytes = vec![0xe7, 0x01];
11541162 key_bytes.extend_from_slice(&[0; 33]);
11551163 // Manually create base16 multibase string (f prefix).
11561156- let hex_str: String = key_bytes.iter().map(|b| format!("{b:02x}")).collect();
11641164+ let hex_str = key_bytes.iter().fold(String::new(), |mut s, b| {
11651165+ use std::fmt::Write;
11661166+ let _ = write!(s, "{b:02x}");
11671167+ s
11681168+ });
11571169 let multikey = format!("f{hex_str}");
1158117011591171 let result = parse_multikey(&multikey);