将根证书安装到Node.js(HTTPS客户端)

将根证书安装到Node.js(HTTPS客户端),node.js,ssl,https,certificate,Node.js,Ssl,Https,Certificate,我想通过HTTPS将Node.js作为客户端连接到内部公司服务器。 如何将内部根证书安装到Node.js,以便证书验证成功 我不想禁用证书验证。我解决了这个问题 用这个,它就像魅力一样: 创建证书文件夹 将您的根证书放在那里 使用上述模块加载证书 如果使用Sails.js,请将代码放在config/bootstrap.js中添加: 设置后,众所周知的“根”CA(如VeriSign)将使用文件中的额外证书进行扩展。该文件应包含一个或多个PEM格式的受信任证书。如果文件丢失或格式不正确,将使用pro

我想通过HTTPS将Node.js作为客户端连接到内部公司服务器。 如何将内部根证书安装到Node.js,以便证书验证成功

我不想禁用证书验证。我解决了这个问题

用这个,它就像魅力一样:

  • 创建证书文件夹
  • 将您的根证书放在那里
  • 使用上述模块加载证书
  • 如果使用Sails.js,请将代码放在config/bootstrap.js中添加:

    设置后,众所周知的“根”CA(如VeriSign)将使用文件中的额外证书进行扩展。该文件应包含一个或多个PEM格式的受信任证书。如果文件丢失或格式不正确,将使用process.emitWarning()发出一条消息(一次),但任何错误都将被忽略

    请注意,当为TLS或HTTPS客户端或服务器显式指定ca options属性时,不会使用已知证书或额外证书

    当节点以setuid root身份运行或设置了Linux文件功能时,将忽略此环境变量


    希望这对某人有所帮助:

    var https = require('https');
    
    var fs = require('fs');
    
    var https_options = {
    
      key: fs.readFileSync("/path/to/private.key"),
    
      cert: fs.readFileSync("/path/to/your_domain_name.crt"),
    
      ca: [
    
              fs.readFileSync('path/to/CA_root.crt'),
    
              fs.readFileSync('path/to/ca_bundle_certificate.crt')
    
           ]
    };
    
    参考:

    您可以使用此链接检查您的证书:

    缺少的关键行是引用链接中的下一行:
    https.createServer(https\u选项,…
    不要忘记将选项集传递给createServer构造函数/初始值设定者。link rot:链接重定向会将您带到丢失的域。
    var https = require('https');
    
    var fs = require('fs');
    
    var https_options = {
    
      key: fs.readFileSync("/path/to/private.key"),
    
      cert: fs.readFileSync("/path/to/your_domain_name.crt"),
    
      ca: [
    
              fs.readFileSync('path/to/CA_root.crt'),
    
              fs.readFileSync('path/to/ca_bundle_certificate.crt')
    
           ]
    };