Skip to content
This repository has been archived by the owner on Aug 19, 2022. It is now read-only.

WIP: Add Openssl with TLS 1.3 #71

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from
Draft

Conversation

Geo25rey
Copy link

@Geo25rey Geo25rey commented Oct 23, 2020

Requires: libp2p/go-openssl#13
Appends to: #67
Closes: #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 #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 Geo25rey changed the title Add Openssl with TLS 1.3 WIP: Add Openssl with TLS 1.3 Oct 24, 2020
@Geo25rey Geo25rey marked this pull request as draft October 24, 2020 00:54
@Geo25rey
Copy link
Author

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.

@marten-seemann
Copy link
Collaborator

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.

@Geo25rey
Copy link
Author

Geo25rey commented Oct 26, 2020

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.

@marten-seemann
Copy link
Collaborator

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.

@@ -24,6 +24,7 @@ script:
# some tests are randomized. Run them a few times.
- for i in `seq 1 10`; do
ginkgo -r -v --cover --randomizeAllSpecs --randomizeSuites --trace --progress;
ginkgo -tags openssl -r -v --cover --randomizeAllSpecs --randomizeSuites --trace --progress;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should use the Travis build matrix feature.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

tls: support OpenSSL
3 participants