小编Jar*_*red的帖子

使用 chai-http 设置接受的 CA 列表并忽略 SSL 错误

我正在尝试使用 chai/chai-http 为我的节点代码编写单元测试。一切正常,直到我将服务器切换到 HTTPS 服务器,但由于我的证书是由内部公司根签名的,并且我使用的证书的通用名称与 localhost 不匹配,因此 chai 在我的请求中抛出错误.

我想做以下事情:

  1. 忽略与域名验证相关的 SSL 错误。

  2. 设置要检查的 CA 列表。如果这不能完成,我可以跳过所有客户端证书检查。

我的代码如下:

var chai = require('chai');
var chaiHttp = require('chai-http');
var https = require('https');
var fs = require('fs');
var server = require('../app.js');

chai.should();
chai.use(chaiHttp);

https.globalAgent.options.ca = [
    fs.readFileSync('./ssl/Root.cer'),
];

describe('Attachments', function () {
  it('should succeed when passed valid arguments', function (done) {
      chai.request(server)
        .get('/10881057300D0A4E8E8586542AA3626E41')
        .set('userId', 'user')
        .set('region', 'US')
        .end(function (err, res) {
            chai.assert(res);
            res.should.have.status(200);
            chai.assert(res.body);
            done();
        });
  });

  it('should return error without userId header', function …
Run Code Online (Sandbox Code Playgroud)

ssl node.js chai chai-http

7
推荐指数
1
解决办法
2146
查看次数

标签 统计

chai ×1

chai-http ×1

node.js ×1

ssl ×1