go-libp2p-tls icon indicating copy to clipboard operation
go-libp2p-tls copied to clipboard

WIP: Add Openssl with TLS 1.3

Open Geo25rey opened this issue 5 years ago • 4 comments

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.

Geo25rey avatar Oct 23 '20 18:10 Geo25rey

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.

Geo25rey avatar Oct 24 '20 01:10 Geo25rey

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.

marten-seemann avatar Oct 26 '20 06:10 marten-seemann

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.

Geo25rey avatar Oct 26 '20 13:10 Geo25rey

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.

marten-seemann avatar Oct 27 '20 09:10 marten-seemann