TSD错误:证书链中的自签名证书

时间:2015-06-22 15:42:00

标签: ssl npm tsd

我正在关注Angular 2 quick start guide并且我在它的开头就卡住了。

我的公司正在过滤我们的网络连接并修改SSL协商。在一个中间风格的人中,他们将自签名证书指定为目的地证书的CA.

因此当我执行第二个命令时

npm install -g tsd
tsd query angular2 --action install

我明白了:

stream.js:75
      throw er; // Unhandled stream error in pipe.
            ^
Error: self signed certificate in certificate chain
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:908:38)
    at emitNone (events.js:67:13)
    at TLSSocket.emit (events.js:163:7)
    at TLSSocket._finishInit (_tls_wrap.js:496:8)

有人知道禁用自签名证书验证的方法吗?

2 个答案:

答案 0 :(得分:5)

首先是一个小小的FYI:如果您只想学习AngularJS,也许这不是开始使用TypeScript的最佳方式。如果是这种情况,请尝试tutorial on angularjs.org,它使用JavaScript和angular-seed。

无论如何,如果你想使用tsd,你必须编辑你的tsdrc文件(在用户的主目录中),设置代理,也许,转为strictSSL。见https://github.com/DefinitelyTyped/tsd#tsdrc

遵循此文档,您肯定需要添加到tsdrc文件中:

{
    "proxy": "http://proxy.example.com:88",
    "strictSSL" : false
}

编辑:我也认为这不是一个npm问题。所以请更新你的问题。

答案 1 :(得分:1)

对于纱线,会发生非常类似的错误:

error An unexpected error occurred:
"https://registry.yarnpkg.com/generator-jhipster: self signed
certificate in certificate chain".

export NODE_TLS_REJECT_UNAUTHORIZED=0

我明白了:

error An unexpected error occurred: "https://registry.yarnpkg.com/generator-jhipster: SSL Error: SELF_SIGNED_CERT_IN_CHAIN".

最后解决方案,下面的纱线现在很高兴接受我公司代理中间人攻击的那个人。

export NODE_TLS_REJECT_UNAUTHORIZED=0
yarn config set strict-ssl false --global