NPM请求 - 获取TLS版本

时间:2018-03-07 12:46:39

标签: node.js tls1.2

在节点中我正在使用npm模块“request”:https://www.npmjs.com/package/request

我想知道如何从响应中检索使用的TLS版本,TLS1.0,TLS1.1,TLS1.2。

var request = require("request");

request.get({url: "https://www.google.com/"}, function(err, response, body) {

     console.log(response.req.connection._tlsOptions); // ??
     process.exit(0);

});

我们的一个提供商很快将只管理TLS1.2,我想知道现在使用哪个版本,以便知道我是否必须为此提供商指定secureProtocol:“TLSv1_2_method”。

2 个答案:

答案 0 :(得分:0)

您可以向howsmyssl.com发送请求

var allData = ''
require('request')({
    uri: 'https://howsmyssl.com/a/check'
}).on('data', function(data) {
    allData += data.toString()
}).on('end', function() {
    console.log(JSON.parse(allData).tls_version)
})

答案 1 :(得分:0)

require('request').get("https://www.google.com/").on('response',
  (response) =>
    console.log(response.socket.getProtocol())
  ); ""

tlsSocket.getProtocol()不能在回调中使用,因为此时连接已关闭,并且TLS连接元数据不再可用。

https://nodejs.org/api/tls.html#tls_class_tls_tlssocket

  

返回TLS连接元数据的方法(例如tls.TLSSocket.getPeerCertificate()仅在打开连接时返回数据。