Commit Graph

135 Commits

Author SHA1 Message Date
Marten Seemann
2e0eae1a1d calculate required padding size in CHLOs 2017-01-14 18:52:16 +07:00
Marten Seemann
8bcad17297 create secureAEAD after receiving all necessary values 2017-01-14 18:52:16 +07:00
Marten Seemann
5a1c94ba7b send client nonce and public value after receiving the certificate chain 2017-01-14 18:52:16 +07:00
Marten Seemann
f6cef67c3d create interface for crypto.CertManager 2017-01-14 18:52:16 +07:00
Marten Seemann
992678b9d7 save last sent CHLO in client CryptoSetup 2017-01-14 18:52:16 +07:00
Marten Seemann
731dd87872 also keys for the client in AESGCM key derivation 2017-01-14 18:52:15 +07:00
Marten Seemann
4b67aefb83 generate a client nonce once, when reading a server config multiple times 2017-01-14 18:52:15 +07:00
Marten Seemann
f1810ae82d generate a client nonce after receiving a server config 2017-01-14 18:52:15 +07:00
Marten Seemann
39e7591756 include source address token, server config id and server nonce in CHLO 2017-01-14 18:52:15 +07:00
Marten Seemann
0b8c883b71 read certificate chain from SHLO 2017-01-14 18:52:14 +07:00
Marten Seemann
b58bc8cffd parse server config sent in the SHLO in client CryptoSetup 2017-01-14 18:51:19 +07:00
Marten Seemann
dbee83b8de read source address token and server nonce from SHLO 2017-01-14 18:51:19 +07:00
Marten Seemann
5b72a535d0 improve CHLO generation in client CryptoSetup 2017-01-14 18:51:19 +07:00
Marten Seemann
3b89e74cc1 calculate shared secret when receiving a server config 2017-01-14 18:51:18 +07:00
Marten Seemann
a89a7de4c4 save raw server config sent by the server 2017-01-14 18:45:17 +07:00
Marten Seemann
c03f15dfdd add a method to set the diversification nonce in the CryptoSetup 2017-01-14 18:45:17 +07:00
Marten Seemann
674287a8f4 add a method to generate a client nonce (NONC) 2017-01-14 18:45:17 +07:00
Marten Seemann
1031ad5288 read SHLOs in cryptoSetupCleint 2017-01-14 18:45:16 +07:00
Marten Seemann
17c5147aa4 add version to inchoate CHLO 2017-01-14 18:45:16 +07:00
Marten Seemann
214a37ac39 add tests for inchoate CHLO 2017-01-14 18:45:16 +07:00
Marten Seemann
651a0de9d3 implement parsing of server configs 2017-01-14 18:45:16 +07:00
Marten Seemann
23435253db create CryptoSetup for the client, use it in the Session 2017-01-14 18:45:15 +07:00
Marten Seemann
f662ce0705 log padding length of Handshake messages 2017-01-14 18:45:14 +07:00
Marten Seemann
2b7c67d297 create handshake.CryptoSetup interface 2017-01-14 18:45:14 +07:00
Marten Seemann
a86f31d789 implement a stream.Reset() method
ref #380
2017-01-09 09:49:44 +07:00
Marten Seemann
d0198c698a log REJs and SHLOs 2017-01-05 10:15:11 +07:00
Marten Seemann
863467f344 validate XLCT tag in client hello
fixes #363
2017-01-04 11:41:43 +07:00
Marten Seemann
d39c2a3027 validate version tag in CHLO to prevent version downgrade attacks
fixes #360
2016-12-23 15:31:52 +01:00
Marten Seemann
f72154e30b require version tag in CHLOs
ref #360
2016-12-23 15:31:52 +01:00
Marten Seemann
ebc053dbe0 create interface for the ConnectionParametersManager 2016-12-08 18:39:14 +07:00
Marten Seemann
5af50c8fd0 correctly read MIDS and MSPC parameter
fixes #367
2016-12-08 16:15:31 +07:00
Marten Seemann
f59544401b simplify truncated connection IDs in ConnectionParametersManager 2016-12-06 22:04:42 +07:00
Marten Seemann
4e8a2ee2b1 validate KEXS in client hellos
fixes #364
2016-12-03 14:24:55 +07:00
Marten Seemann
62a38f24d7 validate AEAD tag in client hellos
fixes #365
2016-12-03 14:16:54 +07:00
Marten Seemann
21c6a015de create ServerConfigs with random OBIT value
fixes #356
2016-11-28 19:52:23 +07:00
Marten Seemann
6602101288 verify OBIT value in client nonce
fixes #350
2016-11-28 19:26:46 +07:00
Marten Seemann
2ae196761b reject CHLOs with wrong length client nonces
fixes #352
2016-11-27 21:18:14 +07:00
Lucas Clemente
9e5bba7937 fix inchoate CHLO detection with missing STKs
This fixes a STK-bypass security issue discovered by Alessandro Ghedini.
2016-09-17 16:49:58 +02:00
Lucas Clemente
634a0eb78c add new timeout consts
ref #320
2016-09-08 13:28:44 +02:00
Lucas Clemente
bc54c50b7e replace CachingReader with io.TeeReader 2016-09-05 23:21:17 +02:00
Lucas Clemente
e3b8c413a5 simplify ParseHandshakeMessage signature 2016-09-05 23:19:46 +02:00
Lucas Clemente
10d0190be1 remove some v33 mentions 2016-09-01 20:26:31 +02:00
Lucas Clemente
5dda3b8e69 remove support for version 32 from crypto 2016-09-01 12:20:19 +02:00
Lucas Clemente
3a3295d911 add our server id to the REJ handshake message 2016-08-31 23:32:27 +02:00
Lucas Clemente
906114450e ignore undecryptable packets after the handshake is complete
fixes #304
2016-08-25 20:02:39 +02:00
Marten Seemann
b376f2f6f6 remove variable types from several server parameters 2016-08-24 00:52:34 +07:00
Lucas Clemente
c3832965d0 add max incoming dynamic streams to connection parameter mgr
ref #281
2016-08-23 17:09:51 +02:00
Lucas Clemente
126db938d0 fix some linter warnings 2016-08-23 12:24:33 +02:00
Lucas Clemente
4eb9077f1b simplify crypto/rand reading 2016-08-09 13:08:42 +02:00
Lucas Clemente
6868d70710 improve handshake package coverage
ref #241
2016-08-02 12:04:25 +02:00