npm CA证书的位置
我们有一个企业授权的SSL MITM,我试图让npm
和它一起玩。 没有configuration, npm install
会产生
$ npm install --verbose ... npm verb request uri https://registry.npmjs.org/request npm verb request no auth needed npm info attempt registry request try #1 at 12:21:46 npm verb etag "BHYPP2OQ6VBKY2B3TPXTCBVRQ" npm http request GET https://registry.npmjs.org/request npm info retry will retry, error on last attempt: Error: SELF_SIGNED_CERT_IN_CHAIN npm info retry will retry, error on last attempt: Error: SELF_SIGNED_CERT_IN_CHAIN npm info retry will retry, error on last attempt: Error: SELF_SIGNED_CERT_IN_CHAIN ...
当我把我们自定义的SSL pem放在〜/ .npmrc中
ca="-----BEGIN CERTIFICATE-----\n..."
我得到以下
$ npm install --verbose ... npm http request GET https://registry.npmjs.org/time-grunt npm verb request uri https://registry.npmjs.org/request npm verb request no auth needed npm info attempt registry request try #1 at 12:27:17 npm verb etag "BHYPP2OQ6VBKY2B3TPXTCBVRQ" npm http request GET https://registry.npmjs.org/request npm info retry will retry, error on last attempt: Error: Hostname/IP doesn't match certificate's altnames npm info retry will retry, error on last attempt: Error: Hostname/IP doesn't match certificate's altnames ...
其中,如果我理解正确的话, npm
使用这一个SSL证书作为唯一的根CA,这是有道理的,为什么它不起作用。 每个CA都有一个ca[]="-----BEGIN CERTIFICATE-----\n..."
行来膨胀~/.npmrc
,但是有一个certs.pem
文件可以附加到我们的内部pem来?
我正在寻找类似于我得到自制安装应用程序正常工作的方式
cat internal-cert.pem >> /usr/local/etc/openssl/cert.pem
我希望有类似的npm /节点。
尝试设置strict-ssl标志。 我之前有过类似的问题。
npm config set strict-ssl false
我实际上已经从我的〜/ .npmrc中取得了证书,但不知道是否会影响任何内容。