aboutsummaryrefslogtreecommitdiffstats
path: root/src/tls/c_kex.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2012-04-06 16:43:24 +0000
committerlloyd <[email protected]>2012-04-06 16:43:24 +0000
commite91b91578a483a23bd491149d3dd21079c4a27d1 (patch)
treeedec04f11a61140f1199ab1bb2436e3297bb89ca /src/tls/c_kex.cpp
parent45396449cd84326626c09e48af74ccb008a0aefc (diff)
Finish up server side SRP support, a little ugly but it works.
Add SRP hooks in the examples Fix next protocol support in the tls_server example.
Diffstat (limited to 'src/tls/c_kex.cpp')
-rw-r--r--src/tls/c_kex.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tls/c_kex.cpp b/src/tls/c_kex.cpp
index 16c02e2b8..13925a482 100644
--- a/src/tls/c_kex.cpp
+++ b/src/tls/c_kex.cpp
@@ -332,7 +332,9 @@ Client_Key_Exchange::Client_Key_Exchange(const MemoryRegion<byte>& contents,
}
else if(kex_algo == "SRP_SHA")
{
- throw Internal_Error("SRP_SHA server side not done");
+ SRP6_Server_Session& srp = state->server_kex->server_srp_params();
+
+ pre_master = srp.step2(BigInt::decode(reader.get_range<byte>(2, 0, 65535))).bits_of();
}
else if(kex_algo == "DH" || kex_algo == "DHE_PSK" ||
kex_algo == "ECDH" || kex_algo == "ECDHE_PSK")