diff --git a/Cargo.lock b/Cargo.lock index c8c9e6e..896b814 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1202,6 +1202,7 @@ dependencies = [ "ed25519-dalek", "futures", "hkdf", + "idevice-srp", "indexmap", "json", "ns-keyed-archive", @@ -1215,7 +1216,6 @@ dependencies = [ "serde", "serde_json", "sha2", - "srp", "thiserror 2.0.17", "tokio", "tokio-openssl", @@ -1247,6 +1247,20 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "idevice-srp" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d84c9637ebbdfa523f352b62c8cf791288b3fbf59f6eac6c57c7c9949f5924b2" +dependencies = [ + "base64 0.21.7", + "digest", + "generic-array", + "lazy_static", + "num-bigint", + "subtle", +] + [[package]] name = "idevice-tools" version = "0.1.0" @@ -2423,18 +2437,6 @@ dependencies = [ "der", ] -[[package]] -name = "srp" -version = "0.6.0" -dependencies = [ - "base64 0.21.7", - "digest", - "generic-array", - "lazy_static", - "num-bigint", - "subtle", -] - [[package]] name = "stable_deref_trait" version = "1.2.1" diff --git a/idevice/Cargo.toml b/idevice/Cargo.toml index 184ffb7..2f49472 100644 --- a/idevice/Cargo.toml +++ b/idevice/Cargo.toml @@ -58,7 +58,7 @@ x25519-dalek = { version = "2", optional = true } ed25519-dalek = { version = "2", features = ["rand_core"], optional = true } hkdf = { version = "0.12", optional = true } chacha20poly1305 = { version = "0.10", optional = true } -srp = { path = "../../apple-private-apis/icloud-auth/rustcrypto-srp", optional = true } +idevice-srp = { version = "0.6", optional = true } obfstr = { version = "0.4", optional = true } @@ -113,7 +113,7 @@ remote_pairing = [ "dep:ed25519-dalek", "dep:hkdf", "dep:chacha20poly1305", - "dep:srp", + "dep:idevice-srp", "dep:uuid", ] restore_service = [] diff --git a/idevice/src/remote_pairing/mod.rs b/idevice/src/remote_pairing/mod.rs index 144b6f5..4a2bccf 100644 --- a/idevice/src/remote_pairing/mod.rs +++ b/idevice/src/remote_pairing/mod.rs @@ -9,12 +9,12 @@ use chacha20poly1305::{ }; use ed25519_dalek::Signature; use hkdf::Hkdf; +use idevice_srp::{client::SrpClient, groups::G_3072}; use rand::RngCore; use rsa::{rand_core::OsRng, signature::SignerMut}; use serde::Serialize; use serde_json::json; use sha2::Sha512; -use srp::{client::SrpClient, groups::G_3072}; use tokio::io::{AsyncReadExt, AsyncWriteExt}; use tracing::{debug, warn}; use x25519_dalek::{EphemeralSecret, PublicKey as X25519PublicKey};