Lucas Clemente
|
e2a0d9f77c
|
Remove several unused fields and symbols
Detected with `unused -exports=true ./...`
|
2017-04-05 21:46:33 +01:00 |
|
Marten Seemann
|
584fc021bf
|
add tests for incorrect nullAEAD signatures in both cryptoSetups
|
2017-03-22 19:32:54 +07:00 |
|
Marten Seemann
|
2903f9b238
|
return a lambda to for sealing a packet in the CryptoSetup
|
2017-03-22 16:52:00 +07:00 |
|
Marten Seemann
|
599926e3cb
|
add a method to force the encryption level when sealing a packet
|
2017-03-01 14:01:51 +07:00 |
|
Marten Seemann
|
6cb19e42a5
|
explicitly pass encryption level in the aeadChanges channel
|
2017-02-25 21:38:08 +07:00 |
|
Marten Seemann
|
0c20f5e9b3
|
return the encryption level used for Sealing
|
2017-02-25 08:27:14 +07:00 |
|
Marten Seemann
|
a972c7a21e
|
return the encryption level of a packet when decrypting it
|
2017-02-25 08:27:08 +07:00 |
|
Marten Seemann
|
eb7a7f79f7
|
add tests for clientCryptoSetup Open and Seal methods
|
2017-02-24 11:42:41 +07:00 |
|
Marten Seemann
|
268841f0cc
|
add a TLSClientConfig to the QUIC RoundTripper
fixes #407
|
2017-02-04 10:28:00 +07:00 |
|
Marten Seemann
|
db09de621c
|
detect version downgrade attacks in the client crypto setup
|
2017-01-14 18:58:47 +07:00 |
|
Marten Seemann
|
53706049c7
|
read connection parameters when receiving a SHLO
|
2017-01-14 18:58:46 +07:00 |
|
Marten Seemann
|
a587af079d
|
improve the connection parameters manager for the client
|
2017-01-14 18:58:46 +07:00 |
|
Marten Seemann
|
a0bdf79b5b
|
create an aeadChanged channel in the client crypto setup
|
2017-01-14 18:52:25 +07:00 |
|
Marten Seemann
|
9fc9522539
|
implement a HandshakeComplete method in the client crypto setup
|
2017-01-14 18:52:24 +07:00 |
|
Marten Seemann
|
f72fbc57a9
|
send connection parameters in CHLO
|
2017-01-14 18:52:24 +07:00 |
|
Marten Seemann
|
dde5ce465c
|
enforce presence of version list in SHLO
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
2589a6eff9
|
reject unencrypted SHLOs
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
e19416a43b
|
use server nonce in key derivation for initial encryption, if available
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
b8e11d6e67
|
improve tests for key derivation
|
2017-01-14 18:52:23 +07:00 |
|
Marten Seemann
|
fdd0fdf90d
|
send KEXS and AEAD value in full client hello
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
63f2faec85
|
send common certificate sets in the client hello
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
86da7dce81
|
send leaf certificate hash (XLCT) in client hello
|
2017-01-14 18:52:22 +07:00 |
|
Marten Seemann
|
2131e8fa6d
|
don’t send more than 3 CHLOs
makes sure that the server allows the client to make progress in the handshake
|
2017-01-14 18:52:20 +07:00 |
|
Marten Seemann
|
8161e1f4a1
|
simplify server proof verification function signature
|
2017-01-14 18:52:20 +07:00 |
|
Marten Seemann
|
865aed07d8
|
verify certificate chain when receiving it, return correct errors
|
2017-01-14 18:52:19 +07:00 |
|
Marten Seemann
|
014315d3c7
|
parse hostname from address and pass it to the client cryptoSetup
|
2017-01-14 18:52:19 +07:00 |
|
Marten Seemann
|
4b8508c017
|
verify certificate chain in certManager
|
2017-01-14 18:52:19 +07:00 |
|
Marten Seemann
|
bb1af0db1e
|
move server proof verification to crypto package
|
2017-01-14 18:52:18 +07:00 |
|
Marten Seemann
|
0535491f30
|
rename crypto.Signer to crypto.CertChain
|
2017-01-14 18:52:18 +07:00 |
|
Marten Seemann
|
c8b3189caf
|
validate server config signature, for ECDSA certificates
|
2017-01-14 18:52:18 +07:00 |
|
Marten Seemann
|
3063cab7cc
|
only escalate crypto when the server config has been verified
|
2017-01-14 18:52:18 +07:00 |
|
Marten Seemann
|
58b905e636
|
validate server config signature, for RSA certificates
|
2017-01-14 18:52:17 +07:00 |
|
Marten Seemann
|
5aae3fbafe
|
save the proof in client CryptoSetup
|
2017-01-14 18:52:17 +07:00 |
|
Marten Seemann
|
f9013edb77
|
check if the received server config is expired
|
2017-01-14 18:52:17 +07:00 |
|
Marten Seemann
|
0b736b2cce
|
create forwardSecureAEAD after receiving all necessary values
|
2017-01-14 18:52:16 +07:00 |
|
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
|
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
|
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
|
17c5147aa4
|
add version to inchoate CHLO
|
2017-01-14 18:45:16 +07:00 |
|