节点 - 出站连接的TLS版本的TLS?

时间:2018-01-31 17:22:01

标签: node.js tls1.2

我想在不更改任何代码的情况下记录我的Node应用正在使用哪些版本的TLS。

我已经尝试了NODE_DEBUG=tls,httpDEBUG=*,当然这些日志中添加了大量信息,但没有关于正在使用的TLS版本。

这可能吗?

1 个答案:

答案 0 :(得分:1)

我不确定不会更改代码,但您可以这样记录:

const tls = require('tls');

const url = 'someurl';
console.log('Connecting..');

const socket = tls.connect(443, url, () => {
  console.log('Tls.connect', socket.authorized ? 'authorized' : 'unauthorized');  
  console.log('Cipher: ' + JSON.stringify(socket.getCipher()));
  console.log('Protocol: ' + JSON.stringify(socket.getProtocol()));
});

这将产生如下输出:

Listening...
Connecting..
Tls.connect authorized
Cipher: {"name":"ECDHE-RSA-AES128-GCM-SHA256","version":"TLSv1/SSLv3"}
Protocol: "TLSv1.2"