-
Notifications
You must be signed in to change notification settings - Fork 446
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add tls connection encrypter #2377
Conversation
bf3984f
to
2b7b7c9
Compare
One final compliance test is not passing - the server side of the connection doesn't notice the client closing it's end so it remains open and the test hangs until it times out. |
2b7b7c9
to
6e8515e
Compare
Encrypts connections using TLS 1.3. Spec: https://github.com/libp2p/specs/blob/master/tls/tls.md This connection encrypter primarily targets TCP connections and is notable for having fewer round trips during connection establishment than Noise.
6e8515e
to
b930254
Compare
Streaming performance is comparable to noise, connection establishment is slower, which is unexpected: https://observablehq.com/@libp2p-workspace/performance-dashboard?branch=83b4e5da914c6dbcc8a04d23a8dca4df3419f33e I think this may be because Node.js' TLS1.3 implementation doesn't support 0-RTT connection establishment (🤦♂️ if so) |
Encrypts connections using TLS 1.3.
Spec: https://github.com/libp2p/specs/blob/master/tls/tls.md
This connection encrypter primarily targets TCP connections on Node.js/Electron/React Native and is notable for having fewer round trips during connection establishment than Noise.
The Node.js TLS module has a fair few more users than Noise so it will be interesting to see how streaming performance compares between the two.
Change checklist
TODO