Browse Source

Use subtle to replace deprecated ring::constant_time::verify_slices_are_equal (#5680)

pull/5694/head^2
Timshel 2 weeks ago
committed by GitHub
parent
commit
1dae6093c9
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 5
      Cargo.lock
  2. 3
      Cargo.toml
  3. 5
      src/crypto.rs

5
Cargo.lock

@ -2972,9 +2972,9 @@ dependencies = [
[[package]]
name = "ring"
version = "0.17.11"
version = "0.17.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da5349ae27d3887ca812fb375b45a4fbb36d8d12d2df394968cd86e35683fe73"
checksum = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee"
dependencies = [
"cc",
"cfg-if",
@ -4142,6 +4142,7 @@ dependencies = [
"semver",
"serde",
"serde_json",
"subtle",
"syslog",
"time",
"tokio",

3
Cargo.toml

@ -90,7 +90,8 @@ libsqlite3-sys = { version = "0.31.0", features = ["bundled"], optional = true }
# Crypto-related libraries
rand = "0.9.0"
ring = "0.17.11"
ring = "0.17.13"
subtle = "2.6.1"
# UUID generation
uuid = { version = "1.14.0", features = ["v4"] }

5
src/crypto.rs

@ -110,7 +110,6 @@ pub fn generate_api_key() -> String {
// Constant time compare
//
pub fn ct_eq<T: AsRef<[u8]>, U: AsRef<[u8]>>(a: T, b: U) -> bool {
use ring::constant_time::verify_slices_are_equal;
verify_slices_are_equal(a.as_ref(), b.as_ref()).is_ok()
use subtle::ConstantTimeEq;
a.as_ref().ct_eq(b.as_ref()).into()
}

Loading…
Cancel
Save