处理添加自签名证书的公司防火墙

时间:2016-09-22 13:02:11

标签: windows ssl networking certificate composer-php

我在一家大公司内的一个小团队工作。

所有网络流量都通过公司的防火墙,当任何流量进入时,我认为他们就像一个中间人。

我看到这一点的一个例子是使用curl

c:\>curl https://www.google.com
curl: (60) SSL certificate problem: self signed certificate in certificate chain

所以我用以下方法检查证书链:

c:\>openssl s_client -connect google.com:443

然后回来(删除一些细节)

Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=*.google.com
   i:/C=US/My Company's Intermediate CA
 1 s:/C=US/My Company's Intermediate CA
   i:/C=US/My Company's Root CA
 2 s:/C=US/My Company's Root CA
   i:/C=US/My Company's Root CA

这对使用npmcomposer等包管理器提出了挑战,因为所有https由于自签名证书错误而失败,或者根本无法验证证书< / p>

我可以通过设置配置值ca=""strict-ssl=false来使npm工作,但这是一种不安全的做法。

我希望我们的开发团队能够访问包管理器,特别是npmcomposer

鉴于我无法改变防火墙的工作方式,我是否可以在本地计算机(Windows 7)或VM(Windows Server 2008 R2)上进行任何更改,以便我们的开发团队能够完全安全地利用这些包管理器。

谢谢!

1 个答案:

答案 0 :(得分:1)

我在公司四处询问并最终与合适的人说话:

  

我们所有的互联网流量都通过公司。 COMPANY拦截所有HTTPS流量,替换证书,然后添加自己的证书。这样他们就可以解密和分析所有加密的流量(基本上是中间人攻击的人)   必须信任COMPANY根证书以避免警告和错误。

我有一个链接,可以下载正确的pem键。

使用该密钥,我能够为各种包管理器设置正确的配置选项。

<强> NPM

npm config set cafile C:\\path\\to\\cert.pem
npm config set strict-ssl true

(窗口中需要双反斜杠)

<强>作曲家

必须在php.ini中设置某些值才能让作曲家工作。

openssl.cafile = C:\path\to\cert.pem
curl.cainfo = C:\path\to\cert.pem

对于任何其他抛出证书错误的程序(未经验证,自签名等),我最终找到了某种配置设置,我可以指向该pem文件并全部工作。