diff options
author | Andreas Schultz <[email protected]> | 2016-04-28 13:25:00 +0200 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2016-06-13 22:24:13 +0200 |
commit | 2cf56c57661c5356a4e19e272e69177224f153a3 (patch) | |
tree | f2d5a24108390c742e5771b410834f5cae0dce36 /lib/ssl/src/ssl_handshake.erl | |
parent | 38cdb3b5131257a8cc76b8f64e32b8ecf722bdb4 (diff) | |
download | otp-2cf56c57661c5356a4e19e272e69177224f153a3.tar.gz otp-2cf56c57661c5356a4e19e272e69177224f153a3.tar.bz2 otp-2cf56c57661c5356a4e19e272e69177224f153a3.zip |
ssl: move available_signature_algs to ssl_handshake
available_signature_algs is also needed for DTLS, move it
into a shared place and export it.
Conflicts:
lib/ssl/src/tls_handshake.erl
Diffstat (limited to 'lib/ssl/src/ssl_handshake.erl')
-rw-r--r-- | lib/ssl/src/ssl_handshake.erl | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/ssl/src/ssl_handshake.erl b/lib/ssl/src/ssl_handshake.erl index 0787e151c0..d671f5535a 100644 --- a/lib/ssl/src/ssl_handshake.erl +++ b/lib/ssl/src/ssl_handshake.erl @@ -65,7 +65,7 @@ %% Cipher suites handling -export([available_suites/2, available_signature_algs/3, cipher_suites/2, - select_session/11, supported_ecc/1]). + select_session/11, supported_ecc/1, available_signature_algs/4]). %% Extensions handling -export([client_hello_extensions/6, @@ -2182,3 +2182,14 @@ bad_key(#'RSAPrivateKey'{}) -> unacceptable_rsa_key; bad_key(#'ECPrivateKey'{}) -> unacceptable_ecdsa_key. + +available_signature_algs(undefined, SupportedHashSigns, _, {Major, Minor}) when + (Major >= 3) andalso (Minor >= 3) -> + SupportedHashSigns; +available_signature_algs(#hash_sign_algos{hash_sign_algos = ClientHashSigns}, SupportedHashSigns, + _, {Major, Minor}) when (Major >= 3) andalso (Minor >= 3) -> + sets:to_list(sets:intersection(sets:from_list(ClientHashSigns), + sets:from_list(SupportedHashSigns))); +available_signature_algs(_, _, _, _) -> + undefined. + |