如何使用node.js检查the CAA(Certification Authority Authorization)域的记录?

我发现dnscaa可以检查CAA记录。但是它是用go编写的。

Node.js v9.3.0 Documentation没有用于检查域的CAA记录的resolveCaa()功能。

最佳答案

我发现可以使用dns-socket来查询域的CAA记录。例如,如果我要检查www.google.com的CAA记录,则可以使用以下代码。

var dns = require('dns-socket')
var socket = dns()

socket.query({
  questions: [{
    type: 'CAA',
    name: 'google.com'
  }]
}, 53, '8.8.8.8', function (err, res) {
  console.log(res, err)
  socket.destroy()
})


结果将是:

{ id: 19712,
  type: 'response',
  flags: 384,
  questions: [ { name: 'google.com', type: 'CAA', class: 1 } ],
  answers:
   [ { name: 'google.com',
       type: 'CAA',
       class: 1,
       ttl: 21561,
       flush: false,
       data: [Object] } ],
  authorities: [],
  additionals: [] } null

10-03 00:14