go-libp2p-tls
go-libp2p-tls copied to clipboard
WIP: Add Openssl with TLS 1.3
Requires: libp2p/go-openssl#13 Appends to: libp2p/go-libp2p-tls#67 Closes: libp2p/go-libp2p-tls#67 Closes: libp2p/go-libp2p#1539
This should add openssl with TLS 1.3. I'm not sure how to build with the openssl build flag (added in libp2p/go-libp2p-tls#67), so I haven't tested this extensively.
@marten-seemann Would you like to take a look at this?
Edit: I got the build flag to work. I'm just blocked by libp2p/go-openssl#13 at this point.
I'm currently working on unit tests on whichever TLS version OpenSSL chooses for me (potentially TLS 1.3, but I can't be sure). For the unit tests that don't specifically require Go's TLS implementation, 5/6 tests pass.
This will definitely need to run on CI, once with a Go TLS build and once with an OpenSSL build. You can use a Travis build matrix for that.
It would also be nice to have a kind of integration test that tests both successful and failed handshakes between one Go TLS and one OpenSSL implementation.
This will definitely need to run on CI, once with a Go TLS build and once with an OpenSSL build. You can use a Travis build matrix for that.
How do I edit the Travis build matrix?
It would also be nice to have a kind of integration test that tests both successful and failed handshakes between one Go TLS and one OpenSSL implementation.
I have some tests setup already. I forgot to push. The collection of tests isn't finished yet for the openssl implementation.
How do I edit the Travis build matrix?
It's in .travis.yml. Have a look at this doc: https://docs.travis-ci.com/user/build-matrix/. You'll probably have to set a environment variable, and then add the -tags openssl flag depending on the env.