Kartik Soneji
Kartik Soneji

Reputation: 1246

List all TLS Ciphers the Client supports in Nodejs

I have a simple Nodejs server running with the following code:

const https = require("http2");
const fs = require("fs");

const PORT = 443;

let server = https.createSecureServer({
    allowHTTP1: true,
    key:  fs.readFileSync("./key.pem"),
    cert: fs.readFileSync("./cert.pem")
});

server.on("error", console.log);

server.on("request", (request, response) => {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.end("Hello, World", "utf-8");
});

I know that I can get the cipher used for the current connection using request.socket.getCipher().

How do I get a list of all the Ciphers that the client sends in the ClientHello message?
I would prefer a Nodejs solution, without using external tools like tshark or tcpdump.

Thank you for your time.

Upvotes: 0

Views: 756

Answers (1)

Fasoeu
Fasoeu

Reputation: 1292

You can use request.socket.getSharedSigalgs()

Upvotes: 1

Related Questions