diff options
author | Péter Dimitrov <[email protected]> | 2018-12-13 16:02:57 +0100 |
---|---|---|
committer | Péter Dimitrov <[email protected]> | 2019-01-11 09:59:12 +0100 |
commit | 0f35bb7eeb4360ac3b0a0c2ded3e5e8e2e4255d4 (patch) | |
tree | a634b9717701caa2c7e5c281d22500c1dfa49c69 | |
parent | 8724ebf1e13fe4ebec73aaa9285011d9aa99e9cc (diff) | |
download | otp-0f35bb7eeb4360ac3b0a0c2ded3e5e8e2e4255d4.tar.gz otp-0f35bb7eeb4360ac3b0a0c2ded3e5e8e2e4255d4.tar.bz2 otp-0f35bb7eeb4360ac3b0a0c2ded3e5e8e2e4255d4.zip |
ssl: Implement transcript_hash for TLS 1.3
Change-Id: I03be63e9f436f60cdaee6583c930f235fd5eb24c
-rw-r--r-- | lib/ssl/src/tls_v1.erl | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/ssl/src/tls_v1.erl b/lib/ssl/src/tls_v1.erl index 66baa47c9b..16b24c4a5d 100644 --- a/lib/ssl/src/tls_v1.erl +++ b/lib/ssl/src/tls_v1.erl @@ -43,7 +43,8 @@ client_handshake_traffic_secret/3, server_handshake_traffic_secret/3, client_application_traffic_secret_0/3, server_application_traffic_secret_0/3, exporter_master_secret/3, resumption_master_secret/3, - update_traffic_secret/2, calculate_traffic_keys/3]). + update_traffic_secret/2, calculate_traffic_keys/3, + transcript_hash/2]). -type named_curve() :: sect571r1 | sect571k1 | secp521r1 | brainpoolP512r1 | sect409k1 | sect409r1 | brainpoolP384r1 | secp384r1 | @@ -99,6 +100,12 @@ hkdf_extract(MacAlg, Salt, KeyingMaterial) -> hkdf_expand(PseudoRandKey, ContextInfo, Length, Algo) -> Iterations = erlang:ceil(Length / ssl_cipher:hash_size(Algo)), hkdf_expand(Algo, PseudoRandKey, ContextInfo, Length, 1, Iterations, <<>>, <<>>). + + +-spec transcript_hash(Messages::iodata(), Algo::ssl_cipher_format:hash()) -> Hash::binary(). + +transcript_hash(Messages, Algo) -> + crypto:hash(mac_algo(Algo), Messages). %% TLS 1.3 --------------------------------------------------- %% TLS 1.0 -1.2 --------------------------------------------------- |