【发布时间】:2013-11-06 15:56:12
【问题描述】:
我正在使用 supertest 测试我的 NodeJS 应用程序。我的应用程序正在请求证书,我的用户获得了针对该应用程序的授权证书的 CN。
在测试我的第一个路由时,我收到一个错误,抱怨我的自签名证书。
我想知道在测试我的路由时是否可以设置有效或无效证书?
【问题讨论】:
我正在使用 supertest 测试我的 NodeJS 应用程序。我的应用程序正在请求证书,我的用户获得了针对该应用程序的授权证书的 CN。
在测试我的第一个路由时,我收到一个错误,抱怨我的自签名证书。
我想知道在测试我的路由时是否可以设置有效或无效证书?
【问题讨论】:
在 Node.js 上,TLS 和 HTTPS 将在接受证书之前对其进行验证。因此,要在 Node 中使用自签名证书,您需要在对 false 执行请求时设置 rejectUnauthorized 选项,或者使用:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
Here 是与此问题相关的旧拉取请求。
【讨论】:
NODE_TLS_REJECT_UNAUTHORIZED=0,以便为所有测试设置它。类似NODE_ENV=test NODE_TLS_REJECT_UNAUTHORIZED=0 ./node_modules/.bin/mocha --recursive --timeout 5000 --reporter spec "./**/modules/*/test/**/*.js"