javascript - 在 JavaScript 中使用 SSL 证书(pem 文件)

标签 javascript node.js ssl npm pem

编写程序以从 FAA 的 AIDAP 数据库中提取数据。他们向我发送了一个 .p12 文件形式的安全证书,我已将其转换为 .pem。寻找有关如何在我的代码中加载它的实现指南。当我运行我现在拥有的代码时,我只是得到“禁止访问”

    var request = require('request');
request('https://www.aidap.naimes.faa.gov/aidap/XmlNotamServlet', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Show the HTML for the website
  }
})

我正在使用 Request npm 包作为 http 客户端,还尝试了 xmlhttprequest,因为我需要的数据是 html。

注意:我只有安全证书和他们给我的用于登录证书的密码。当我使用安装在 Chrome 上的证书访问 Chrome 中的网站时,网站 url 有效。在我的 javacscript IDE 中,禁止访问。

寻找有关如何实现 .pem 证书的指导

最佳答案

试试这段代码:

var request = require('request');
var fs      = require('fs');
var path    = require('path');
var pemFile = path.resolve(__dirname, 'ssl/certificate.pem');

var options = {
    url        : 'https://www.aidap.naimes.faa.gov/aidap/XmlNotamServlet',
    passphrase : 'password',
    ca         : fs.readFileSync(pemFile) //reading the pem file
};

request.get(options, function (error, response, body) {
    if (!error && response.statusCode === 200) {
        console.log(body); // Show the HTML for the website
    }
});

关于使用 request 库的更多文档,关于这里的 TLS/SSL 协议(protocol):

https://github.com/request/request#tlsssl-protocol

关于javascript - 在 JavaScript 中使用 SSL 证书(pem 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32513739/

相关文章:

php - 这些读数对于大约 500 CCU 的应用来说合适吗?

ssl - 账户密码传输和 PCI DSS 合规性

javascript - 如何在angularjs中使用另一个文件中定义的常量

javascript - 在IE中动态加载jquery

javascript - 警告 : Requested unknown parameter '0' for row 0

javascript - 如何使用 promise 获得相同键值的总数?

node.js - 如何使用 Redis 作为多个 aws 实例或 ELB 的 session 存储?

php - 在 PHP 中使用 cURL 的 SSL Twitter oauth

php - cURL 和 SSL,connect() 超时

javascript - 使用 jquery 更改复选框的样式