列出客户端在 Nodejs 中支持的所有 TLS 密码

List all TLS Ciphers the Client supports in Nodejs

我有一个简单的Nodejs服务器运行下面的代码:

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");
});

我知道我可以使用 request.socket.getCipher() 获得用于当前连接的密码。

如何获取客户端在 ClientHello 消息中发送的 所有 密码的列表?
我更喜欢 Nodejs 解决方案,而不使用 tsharktcpdump.

等外部工具

感谢您的宝贵时间。

您可以使用request.socket.getSharedSigalgs()