diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/mod.rs | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/tests/mod.rs b/tests/mod.rs index f7810e8..24d911d 100644 --- a/tests/mod.rs +++ b/tests/mod.rs @@ -3,29 +3,24 @@ extern crate sha2; extern crate rand; extern crate srp; -use num::BigUint; use sha2::Sha256; use rand::Rng; -use srp::types::SrpParams; -use srp::client::{ SrpClient, srp6a_private_key }; +use srp::groups::G_2048; +use srp::client::{SrpClient, srp_private_key }; use srp::server::{SrpServer, UserRecord}; fn auth_test(reg_pwd: &[u8], auth_pwd: &[u8]) { let mut rng = rand::os::OsRng::new().unwrap(); - let username = "john".as_bytes(); - let srp_params = SrpParams{ - n: BigUint::from_bytes_le(srp::PRIME), - k: BigUint::from_bytes_be(&[1, 2, 3]), - g: BigUint::new(vec![2]), - }; + let username = "alice".as_bytes(); // Client instance creation - let client = SrpClient::<Sha256>::new(&srp_params, &mut rng); + let a = rng.gen_iter::<u8>().take(64).collect::<Vec<u8>>(); + let client = SrpClient::<Sha256>::new(&a, &G_2048); // Registration let salt: [u8; 16] = rng.gen(); - let reg_priv_key = srp6a_private_key::<Sha256>(username, reg_pwd, &salt); + let reg_priv_key = srp_private_key::<Sha256>(username, reg_pwd, &salt); let verif = client.get_password_verifier(®_priv_key); // User sends handshake @@ -33,12 +28,13 @@ fn auth_test(reg_pwd: &[u8], auth_pwd: &[u8]) { // Server retrieve user record from db and processes handshake let user = UserRecord { username, salt: &salt, verifier: &verif }; - let server = SrpServer::<Sha256>::new(&user, &a_pub, &srp_params, &mut rng) + let b = rng.gen_iter::<u8>().take(64).collect::<Vec<u8>>(); + let server = SrpServer::<Sha256>::new(&user, &a_pub, &b, &G_2048) .unwrap(); let (salt, b_pub) = (&user.salt, server.get_b_pub()); // Client processes handshake reply - let auth_priv_key = srp6a_private_key::<Sha256>(username, auth_pwd, &salt); + let auth_priv_key = srp_private_key::<Sha256>(username, auth_pwd, &salt); let client2 = client.process_reply(&auth_priv_key, &b_pub).unwrap(); let proof = client2.get_proof(); |