Marten Seemann
|
7fa93c56af
|
implement a proper Close method for the Client
|
2017-01-14 18:52:20 +07:00 |
|
Marten Seemann
|
de168addd5
|
don’t panic after sending a ConnectionClose
|
2017-01-14 18:52:20 +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
|
7f2e706908
|
increase CryptoParameterMaxLength
|
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
|
6f5b2d308d
|
simplify certificate verification in certManager
|
2017-01-14 18:52:19 +07:00 |
|
Marten Seemann
|
865aed07d8
|
verify certificate chain when receiving it, return correct errors
|
2017-01-14 18:52:19 +07:00 |
|
Marten Seemann
|
41c66f9a60
|
save parsed certificate chain in certManager
|
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
|
6913f5ae75
|
add tests for certChain, simplify constructor
|
2017-01-14 18:52:18 +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
|
a388d6bf6a
|
fix error code for invalid certificate chains
|
2017-01-14 18:52:17 +07:00 |
|
Marten Seemann
|
52ba2ce9f8
|
prevent int64 overflow when reading the expiry date of the server config
|
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
|
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
|
a2996f6343
|
improve logging in client
|
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
|
c5f88e01f5
|
implement a CertManager for the certificate chain sent by the server
|
2017-01-14 18:52:14 +07:00 |
|
Marten Seemann
|
fece562b22
|
compose PublicHeader depending on perspective set in packetPacker
|
2017-01-14 18:52:12 +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
|
f44612cc2f
|
pass received diversification nonces to the CryptoSetup
|
2017-01-14 18:51:16 +07:00 |
|
Marten Seemann
|
5e0ded9850
|
don’t reset remoteAddr for every packet as a client
|
2017-01-14 18:47:42 +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
|
060d02cb4f
|
implement certificate decompression, without cached and common certs
|
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
|
756a421065
|
calculate PublicHeader length for packets with VersionFlag and ResetFlag
|
2017-01-14 18:45:16 +07:00 |
|
Marten Seemann
|
6c0a885a0e
|
pass perspective to packetPacker
|
2017-01-14 18:45:16 +07:00 |
|