- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的环境是Mac OS 10.10.5,ruby版本2.2.4(或2.2.2或2.2.0)gem(升级后)是2.6.7,rvm版本1.27.0。
即使在最近几天,它也有几个重复项,但这些信息比我在评论中所能提供的要多。
在任何版本的 ruby 上安装任何 gem 时,我得到以下信息:
$ gem install bundler
ERROR: Could not find a valid gem 'bundler' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
有很多关于此的可用信息,尤其是针对 Windows 上的问题。参见 http://guides.rubygems.org/ssl-certificate-update/对于建议的解决方案。我遵循这个,但我继续得到同样的错误。
问题似乎在于将文件 GlobalSignRootCA.pem 放在适当的位置,这并不完全清楚。上面的链接解释了如何找到合适的 ssl_certs 目录,我的系统中有 2 个目录,但都不起作用。
我忘了我是从哪里学来的:
$ ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_DIR'
/etc/openssl/certs
$ ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE'
/etc/openssl/cert.pem
这可能给出了提示,但将 .pem 文件附加到后者或复制到前者没有任何效果。
当我重新安装 openssl(自制软件)时,它会告诉我:
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
/usr/local/etc/openssl/certs
and run
/usr/local/opt/openssl/bin/c_rehash
但这也没有解决问题。
来自另一个SO问题:
rvm osx-ssl-certs update all
没用。也没有:
security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file"
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"
有谁知道如何了解 rubygems 在这里的期望?它在哪里需要这个文件,或者这甚至是它想要的文件?我应该将 .pem 文件导入 OSX 钥匙串(keychain)吗?如何做到这一点?
或者有没有办法获取gem文件并在本地安装? rubygems 这样做对 rubygems 本身很有帮助,但据我所知对单个 gems 没有帮助。
-- 解决方法
好的 - 在哪里获取 gem 的问题的答案:转到 https://rubygems.org/gems/[package name]
并选择一个版本并去下载 - 当前在右侧的链接下。下载文件和 gem install --local [下载的 gem 文件]
。加上所有依赖项。
自动化:
# start by adding insecure source for --explain - thanks to @tnum
gem source -a http://rubygems.org/
while read x
do
wget https://rubygems.org/downloads/$x.gem
gem install --local $x.gem
rm $x.gem
done < <(gem install --explain [package name] | grep "^ ")
# remove insecure source
gem source -r http://rubygems.org/
一些缺乏安全性的问题可以通过更好的 grep 正则表达式来缓解,但它仍然不安全。请注意,wget https://
有效,因此 ssl 问题肯定出在 rubygems 上。
最佳答案
根据 https://rvm.io/support/fixing-broken-ssl-certificates ,运行上面的命令将解决你的问题:
rvm osx-ssl-certs update all
关于ruby - 无法在 Mac OS 上安装任何 ruby gem - SSL_connect 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40029184/
我使用非阻塞套接字。对于普通的 TCP 连接,我在这里执行: Non blocking socket - how to check if a connection was successful? 但是
我正在尝试使用 SSL 创建服务器-客户端程序。我在使用 SSL_connect() 时遇到了一些麻烦:当我调用它时,它不会再返回,它只是卡在那里,客户端程序一直在运行,服务器停止等待握手完成。一旦我
我目前正在将一些曾经使用 RSA Security 库的现有技术重写到 OpenSSL 中,但我开始遇到一些问题。目前,所有证书验证代码似乎都在顺利运行,直到我调用 SSL_connect()。 之前
这两天,当我尝试安装新的 gem 时,我的控制台上收到了这个错误: Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 sta
我正在尝试通过 TLSv1.2 建立 https 连接。上下文创建和一切都很好,我没有包含在下面的代码中。 if(https) //block 1 { int ssl_err = 0;
我在使用 openssl 库时遇到问题。我在发送 EHLO 和 STARTTLS 后调用以下函数: SSL_CTX *ctx = NULL; SSL *ssl = NULL; void Cre
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我有一个非阻塞套接字,我正在使用 openssl 创建一个 ssl 连接。我的问题是 SSL_connect 的工作方式。在这些情况下,它返回 SSL_ERROR_WANT_READ 或 SSL_ER
你好,我有一个使用 openssl 和 winapi 套接字的 C++ 应用程序,代码如下所示: sock = socket(AF_INET, SOCK_STREAM, 0); if (con
SSL_connect() 是否支持 ssl v3?我问这个的原因是,在访问网站时: https://secure53.onlineaccess1.com 我得到 SSL_connect(ssl) 的
我们有基于 Cucumber 的 UI 自动化测试框架。最近我们已经从 Ruby 1.9.x 迁移到 2.2.0,之后我们在通过测试框架登录我们的应用程序时遇到了问题。它说 SSL 连接重置问题。 错
我刚刚开始学习 C 的 openssl。我在弄清楚 SSL_set_connect_state 之间的区别时遇到了一些麻烦。函数和 SSL_connect功能,因为他们似乎在我的系统上做同样的事情。有
几天来,我一直在努力解决这个问题,想弄清楚它们是如何工作的。我已经阅读了文档并查看了一些示例,但我仍然需要指导。 具体来说,当客户端调用 connect() 并成功连接到服务器主机时,我是否应该在它之
使用我的 SSLCLIENT 的 openssl SSLConnect 出现奇怪的连接失败。 我们正在尝试与服务器建立 ssl 连接。我们注意到 SSL_CONNECT 失败,错误代码为“SSL_ER
当用 openssl 编写的服务器不调用 SSL_accept 时,客户端的 SSL_connect 将永远阻塞。openssl -SSL_CTX_set_timeout 、 SSL_SESSION_
SSL_CTX_set_verify() 和 SSL_set_verify() 调用可用于为底层上下文和 ssl 设置 verify_callback() 函数,分别。以下是 verify_callb
以下代码将始终以 # 结尾错误信息。 它可能会在 5 秒后或 30 分钟后失败。 require 'net/https' http = Net::HTTP.new('newproduct.zendes
我有以下 Controller - courses-controller.rb: class CoursesController Searching for - Imag
我有以下代码,并且我收到了 SIGSEGV: if ( SSL_connect(ssl) == FAIL ) 我遇到的错误是: Program received signal SIGSEGV, Seg
我想在我的 C++ 服务器和客户端中使用 thrift 提供的 ssl 支持。我自己的 Thrift 客户端在通过“transport->open()”后总是卡在 SSL_connect 中.所以我建
我是一名优秀的程序员,十分优秀!