aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl_record.erl
diff options
context:
space:
mode:
authorPéter Dimitrov <[email protected]>2019-01-14 16:13:22 +0100
committerPéter Dimitrov <[email protected]>2019-01-14 16:13:22 +0100
commit597bf59d49ac31b01905b88f6ba4eb491a0adfcb (patch)
tree340ecb4753bfc1da856f22c076c83b3d3d9a1fbf /lib/ssl/src/ssl_record.erl
parentfd682dd3b1dc0473480890b51165d4b6edb5218c (diff)
parentb2ccc51a505b3c4294ee0049be69ba293bcd8c06 (diff)
downloadotp-597bf59d49ac31b01905b88f6ba4eb491a0adfcb.tar.gz
otp-597bf59d49ac31b01905b88f6ba4eb491a0adfcb.tar.bz2
otp-597bf59d49ac31b01905b88f6ba4eb491a0adfcb.zip
Merge branch 'peterdmv/ssl/handshake_traffic_secret/OTP-15429'
* peterdmv/ssl/handshake_traffic_secret/OTP-15429: (21 commits) ssl: Skip TLS 1.3 suites if crypto lacks support ssl: Update testcase 'encode_decode_srp' ssl: Fix dialyzer warnings ssl: Improve AEAD encode/decode ssl: Refactor state 'negotiated' ssl: Add 'CertificateVerify' ssl: Add support for x25519 and x448 in ECDH ssl: Implement transcript_hash for TLS 1.3 ssl: Fix encoding/decoding of supported_versions ssl: Check if RSASSA-PSS is supported by crypto ssl: Reorder default signature schemes ssl: Create server 'Certificate' message ssl: Calculate handshake traffic keys ssl: Add tests for TLS 1.3 ssl: Fix handling of signature algorithms ssl: Process "supported_versions" before decoding ssl: Update cipher suite formatting in ssl_logger ssl: Fix cipher suite selection ssl: Comment usage of 'state' in TLS 1.3 ssl: Implement TLS 1.3 key schedule ... Change-Id: Iffeff2e2fefa8af618d6d4a3457b8a9dd9392685
Diffstat (limited to 'lib/ssl/src/ssl_record.erl')
-rw-r--r--lib/ssl/src/ssl_record.erl17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/ssl/src/ssl_record.erl b/lib/ssl/src/ssl_record.erl
index ddc83821b4..499ba108f2 100644
--- a/lib/ssl/src/ssl_record.erl
+++ b/lib/ssl/src/ssl_record.erl
@@ -39,7 +39,8 @@
set_renegotiation_flag/2,
set_client_verify_data/3,
set_server_verify_data/3,
- empty_connection_state/2, initial_connection_state/2, record_protocol_role/1]).
+ empty_connection_state/2, initial_connection_state/2, record_protocol_role/1,
+ step_encryption_state/1]).
%% Compression
-export([compress/3, uncompress/3, compressions/0]).
@@ -118,6 +119,20 @@ activate_pending_connection_state(#{current_write := Current,
}.
%%--------------------------------------------------------------------
+-spec step_encryption_state(connection_states()) -> connection_states().
+%%
+%% Description: Activates the next encyrption state (e.g. handshake
+%% encryption).
+%%--------------------------------------------------------------------
+step_encryption_state(#{pending_read := PendingRead,
+ pending_write := PendingWrite} = States) ->
+ NewRead = PendingRead#{sequence_number => 0},
+ NewWrite = PendingWrite#{sequence_number => 0},
+ States#{current_read => NewRead,
+ current_write => NewWrite}.
+
+
+%%--------------------------------------------------------------------
-spec set_security_params(#security_parameters{}, #security_parameters{},
connection_states()) -> connection_states().
%%