rew*_*olf 4 ruby macos ssl openssl rubygems
我试图找到一些简单问题的答案.
gem也适用)背景
我正在使用mac(Sierra目前)和rbenv/ruby-build来安装红宝石.我们使用Sonatype Nexus建立了一个内部rubygems存储库.服务器的证书由公司的内部根证书签署,我有一份副本.
一旦我尝试将我们的存储库添加为源
gem sources --add https://our.repository.com/bla/bla
它禁止证书的根不被信任.这与我在尝试从存储库(作为代理)中提取时遇到的问题相同,并且对于使用我们的宝石的任何其他团队来说都是一个问题.我需要一个很好的解决方案来建议我的团队和其他人.
显然,如果我设置环境变量,我可以使用它SSL_CERT_FILE=/path/to/root_cert.pem.但我更愿意将证书文件放在受信任的位置,让它像Java信任存储一样透明地工作.
rew*_*olf 13
通过一些调查和实验,我意识到以下注释.(我建议brew info openssl为此信息做一个):
看看自制软件关于openssl的输出的有趣部分:
$ brew info openssl
...
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
/usr/local/etc/openssl/certs
and run
/usr/local/opt/openssl/bin/c_rehash
This formula is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.
...
Run Code Online (Sandbox Code Playgroud)
所以我所要做的就是以下内容,所有我的SSL问题都因Ruby而消失了:
cp /path/to/my/root_certificate.pem /usr/local/etc/openssl/certs
/usr/local/opt/openssl/bin/c_rehash
Run Code Online (Sandbox Code Playgroud)
希望能帮助别人
| 归档时间: |
|
| 查看次数: |
2436 次 |
| 最近记录: |