aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/mod.rs22
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(&reg_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();