如何知道节点 js 8.9.1 版本支持哪个版本的 TLS



我正在使用节点版本8.9.1,想知道默认情况下使用哪个版本的TLS。

我尝试谷歌搜索并查看节点js文档,但找不到答案

您可以使用以下命令生成自签名证书:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

它将在当前目录中创建key.pemcert.pem文件,然后您可以使用以下命令启动服务器:

const tls = require('tls');
const fs = require('fs');
const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
const server = tls.createServer(options, (socket) => {
console.log('server connected',
socket.authorized ? 'authorized' : 'unauthorized', socket.getProtocol());
socket.write('welcome!n');
socket.setEncoding('utf8');
socket.pipe(socket);
});
server.listen(8000, () => {
console.log('server bound');
});

并使用openssl s_client连接到它:

openssl s_client -connect 127.0.0.1:8000

在节点 v8.11.3 上的测试将输出:

server bound
server connected unauthorized TLSv1.2

裁判:

  • 如何使用openssl创建自签名证书?
  • tls.createServer([options][, secureConnectionListener](
  • tlsSocket.getProtocol((

最新更新