tkw*_*rgs 8 windows ssl networking certificate composer-php
我在一家大公司的一个小团队中工作。
所有网络流量都会经过公司的防火墙,我认为当任何流量进入时,防火墙就像中间人一样。
我看到这一点的一个例子是在使用时curl
c:\>curl https://www.google.com
curl: (60) SSL certificate problem: self signed certificate in certificate chain
Run Code Online (Sandbox Code Playgroud)
所以我检查证书链:
c:\>openssl s_client -connect google.com:443
Run Code Online (Sandbox Code Playgroud)
然后返回(删除一些细节)
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
Run Code Online (Sandbox Code Playgroud)
这给使用npm或Composer等包管理器带来了挑战,因为https由于自签名证书错误,或者根本无法验证证书,一切都会失败
我可以通过设置配置值和来让npm工作,但这是一种不安全的做法。ca=""strict-ssl=false
我希望我们的开发团队能够访问包管理器,特别是npm和composer
鉴于我无法更改防火墙的工作方式,我可以在本地计算机 (Windows 7) 或 VM (Windows Server 2008 R2) 上进行任何更改,以便我们的开发团队能够充分利用这些软件包管理者安全。
谢谢!!
我在公司打听了一下,最终找到了合适的人,他说:
我们所有的互联网流量都经过公司。COMPANY 拦截所有 HTTPS 流量,替换证书,然后添加自己的证书。这样他们就可以解密和分析所有加密流量(本质上是中间人攻击)。
必须信任 COMPANY 根证书以避免出现警告和错误。
我得到了一个可以下载正确的 pem 密钥的链接。
使用该键,我可以为各种包管理器设置正确的配置选项。
新项目管理
npm config set cafile C:\\path\\to\\cert.pem
npm config set strict-ssl true
Run Code Online (Sandbox Code Playgroud)
(在 Windows 中需要双反斜杠)
作曲家
必须在 php.ini 中设置某些值才能使 Composer 工作。
openssl.cafile = C:\path\to\cert.pem
curl.cainfo = C:\path\to\cert.pem
Run Code Online (Sandbox Code Playgroud)
对于任何其他引发证书错误(未验证、自签名等)的程序,我最终找到了某种配置设置,我可以在其中指向该 pem 文件并让所有内容正常工作。
| 归档时间: |
|
| 查看次数: |
3853 次 |
| 最近记录: |