aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2012-08-13 16:00:47 +0200
committerIngela Anderton Andin <[email protected]>2012-08-22 14:00:46 +0200
commitced8f02c4b2ee4de06abba48db459c677611fb36 (patch)
tree19973137137193c9d4f54d81f1dc1bc59d349bdf /lib/ssl
parent4f68e36b57bf7b2cc608bf1fb5d50486529bff10 (diff)
downloadotp-ced8f02c4b2ee4de06abba48db459c677611fb36.tar.gz
otp-ced8f02c4b2ee4de06abba48db459c677611fb36.tar.bz2
otp-ced8f02c4b2ee4de06abba48db459c677611fb36.zip
ssl: Signture type bug
Diffstat (limited to 'lib/ssl')
-rw-r--r--lib/ssl/src/ssl_connection.erl4
-rw-r--r--lib/ssl/src/ssl_handshake.erl4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/ssl/src/ssl_connection.erl b/lib/ssl/src/ssl_connection.erl
index 19847575e5..ad02c6c0cf 100644
--- a/lib/ssl/src/ssl_connection.erl
+++ b/lib/ssl/src/ssl_connection.erl
@@ -1438,7 +1438,7 @@ certify_server(#state{transport_cb = Transport,
key_exchange(#state{role = server, key_algorithm = rsa} = State) ->
State;
key_exchange(#state{role = server, key_algorithm = Algo,
- hashsign_algorithm = {HashAlgo, _},
+ hashsign_algorithm = HashSignAlgo,
diffie_hellman_params = #'DHParameter'{prime = P, base = G} = Params,
private_key = PrivateKey,
connection_states = ConnectionStates0,
@@ -1457,7 +1457,7 @@ key_exchange(#state{role = server, key_algorithm = Algo,
#security_parameters{client_random = ClientRandom,
server_random = ServerRandom} = SecParams,
Msg = ssl_handshake:key_exchange(server, Version, {dh, Keys, Params,
- HashAlgo, ClientRandom,
+ HashSignAlgo, ClientRandom,
ServerRandom,
PrivateKey}),
{BinMsg, ConnectionStates, Handshake} =
diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl
index 7edbf3d7c7..5a14841949 100644
--- a/lib/ssl/src/ssl_handshake.erl
+++ b/lib/ssl/src/ssl_handshake.erl
@@ -349,7 +349,7 @@ key_exchange(client, _Version, {dh, <<?UINT32(Len), PublicKey:Len/binary>>}) ->
key_exchange(server, Version, {dh, {<<?UINT32(Len), PublicKey:Len/binary>>, _},
#'DHParameter'{prime = P, base = G},
- HashAlgo, ClientRandom, ServerRandom, PrivateKey}) ->
+ {HashAlgo, SignAlgo}, ClientRandom, ServerRandom, PrivateKey}) ->
<<?UINT32(_), PBin/binary>> = crypto:mpint(P),
<<?UINT32(_), GBin/binary>> = crypto:mpint(G),
PLen = byte_size(PBin),
@@ -373,7 +373,7 @@ key_exchange(server, Version, {dh, {<<?UINT32(Len), PublicKey:Len/binary>>, _},
Signed = digitally_signed(Version, Hash, HashAlgo, PrivateKey),
#server_key_exchange{params = ServerDHParams,
signed_params = Signed,
- hashsign = {HashAlgo, dsa}}
+ hashsign = {HashAlgo, SignAlgo}}
end.
%%--------------------------------------------------------------------