GithubHelp home page GithubHelp logo

Support for TLS 1.3 about node-sslkeylog HOT 16 CLOSED

kolontsov avatar kolontsov commented on July 21, 2024 1
Support for TLS 1.3

from node-sslkeylog.

Comments (16)

mildsunrise avatar mildsunrise commented on July 21, 2024 1

Tracking nodejs/node#27419 for TLSv1.3 / keylog support in v10.

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024 1

I have started working on a PR to Node.JS, which exports the SSL_CTX_set_keylog_callback API as a keylog event which is emitted with the line of text.

So for instance:

const req = https.request("https://example.org")
req.on("socket", socket => {
  socket.on("keylog", console.log)
})

Screenshot from 2019-05-11 12 45 41

If it's accepted in Node.JS, we could then polyfill this API for older versions(?)

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024 1

Pull request created: nodejs/node#27654

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024 1

Update: Node v12.3.0 was just released with the keylog API

from node-sslkeylog.

kolontsov avatar kolontsov commented on July 21, 2024

Thanks! It would be nice to support TLS 1.3 properly. I do have plans to work on it, but I didn't touched it yet, so any PRs/suggestions are welcome.

from node-sslkeylog.

kolontsov avatar kolontsov commented on July 21, 2024

Reference: NodeJS/OpenSSL versions (from merged PR)

from node-sslkeylog.

kolontsov avatar kolontsov commented on July 21, 2024

I have started working on a PR to Node.JS, which exports the SSL_CTX_set_keylog_callback API as a keylog event which is emitted with the line of text.

Very cool! This is a very right thing to do, good luck with that.

If it's accepted in Node.JS, we could then polyfill this API for older versions(?)

Agree. This implementation with events and handlers looks natural and flexible.

from node-sslkeylog.

kolontsov avatar kolontsov commented on July 21, 2024

Wow, it was fast. Nice work!

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024

It just landed on Node.JS 🎊 It was faster than I expected... I'm working on a polyfill for the API, do you think we could include it in this version?

from node-sslkeylog.

kolontsov avatar kolontsov commented on July 21, 2024

Congratulations!

I'm working on a polyfill for the API, do you think we could include it in this version?

Yes. It would be great.

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024

In reference to #4 (comment), Node v10.16.0 was released 3 days ago, and it includes OpenSSL 1.1.1b, so keylog is available.

However it seems I misunderstood, TLSv1.3 has not been backported.
In fact, an exception is thrown if you attempt to use it (that's why 3060046 failed CI).

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024

I'll modify the tests to detect that exception and skip the test in that case.

from node-sslkeylog.

kolontsov avatar kolontsov commented on July 21, 2024

Currently, I just skip TLS 1.3 test on Nodejs <11 (b47ba91), so it's not issue :)

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024

True! But I'd prefer to mark the test as skipped, rather than not registering it at all 🤔

from node-sslkeylog.

kolontsov avatar kolontsov commented on July 21, 2024

It makes sense. I agree.

from node-sslkeylog.

mildsunrise avatar mildsunrise commented on July 21, 2024

We can close this now (unless I'm missing something)

from node-sslkeylog.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.