aboutsummaryrefslogtreecommitdiff
path: root/srp
diff options
context:
space:
mode:
Diffstat (limited to 'srp')
-rw-r--r--srp/src/client.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/srp/src/client.rs b/srp/src/client.rs
index dd21982..d284835 100644
--- a/srp/src/client.rs
+++ b/srp/src/client.rs
@@ -206,13 +206,17 @@ impl<'a, D: Digest> SrpClient<'a, D> {
let key = self.compute_premaster_secret(&b_pub, &k, &x, &a, &u);
+ let mut d = D::new();
+ d.update(key.to_bytes_be());
+ let k_hashed = d.finalize();
+
let m1 = compute_m1::<D>(
self.params,
username_hash.as_slice(),
salt,
&a_pub.to_bytes_be(),
&b_pub.to_bytes_be(),
- &key.to_bytes_be(),
+ k_hashed.as_slice(),
);
let m2 = compute_m2::<D>(&a_pub.to_bytes_be(), &m1, &key.to_bytes_be());