diff options
author | Danil Zagoskin <[email protected]> | 2014-04-21 22:00:09 +0400 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2014-04-23 10:59:27 +0200 |
commit | b4fc84117b6bd1105ca8ccb91f699564ac400dff (patch) | |
tree | 86106ff6431f3753613c4ee27114a1f31137445f /lib/ssl/src/ssl_connection.erl | |
parent | a7446cd75e2a48e810faef26d91e9d70247297d1 (diff) | |
download | otp-b4fc84117b6bd1105ca8ccb91f699564ac400dff.tar.gz otp-b4fc84117b6bd1105ca8ccb91f699564ac400dff.tar.bz2 otp-b4fc84117b6bd1105ca8ccb91f699564ac400dff.zip |
ssl: always pass negotiated version when selecting hashsign
Negotiated version is now always passed to ssl_handshake:select_hashsign
because ssl_handshake:select_cert_hashsign has different rsa defaults on
tlsv1.2 and older versions.
Diffstat (limited to 'lib/ssl/src/ssl_connection.erl')
-rw-r--r-- | lib/ssl/src/ssl_connection.erl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/ssl/src/ssl_connection.erl b/lib/ssl/src/ssl_connection.erl index edf49a340b..75100864c8 100644 --- a/lib/ssl/src/ssl_connection.erl +++ b/lib/ssl/src/ssl_connection.erl @@ -441,8 +441,9 @@ certify(#server_key_exchange{} = Msg, Connection:handle_unexpected_message(Msg, certify_server_keyexchange, State); certify(#certificate_request{hashsign_algorithms = HashSigns}, - #state{session = #session{own_certificate = Cert}} = State0, Connection) -> - HashSign = ssl_handshake:select_hashsign(HashSigns, Cert), + #state{session = #session{own_certificate = Cert}, + negotiated_version = Version} = State0, Connection) -> + HashSign = ssl_handshake:select_hashsign(HashSigns, Cert, Version), {Record, State} = Connection:next_record(State0#state{client_certificate_requested = true}), Connection:next_state(certify, certify, Record, State#state{cert_hashsign_algorithm = HashSign}); |