【发布时间】:2015-03-29 02:40:24
【问题描述】:
我从https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt 下载了 ca-bundle.crt 并将其安装在我的 OS X Yosemite (10.10 w Ruby 2.2.1) 本地计算机上的 /usr/local/etc/openssl/certs/ca-bundle.crt,因为 was-sdk v2 不再附带 SSL CA捆绑
但是,执行:
@s3 = Aws::S3::Client.new(credentials: Aws.config[:credentials] )
puts @s3.list_buckets()
我收到一个错误
*** Seahorse::Client::NetworkingError Exception: SSL_connect
returned=1 errno=0 state=SSLv3 read server certificate
B: certificate verify failed
我尝试成功地将 ca-bundle.cert 路径添加到我的 Aws.config
Aws.config[:ssl_ca_bundle] = '/usr/local/etc/openssl/certs/ca-bundle.crt'
我还尝试禁用 ssl 对等验证(仅用于测试目的)
Aws.config[:ssl_verify_peer] = false
但在这两个测试中它仍然失败..
我阅读了一些关于这个主题的问题,但没有一个与最终的 v2 版本相关......这个问题的“最终”解决方案可能是什么? 感谢反馈
【问题讨论】:
-
如果您已将 Ruby 与 RVM 作为二进制文件安装,并将 OpenSSL 与 Homebrew 一起安装,那么这两者之间存在不匹配。看到这个问题:stackoverflow.com/questions/30901864/…
-
上面链接的不匹配修复解决了我的问题。谢谢@PetrusRepo
标签: ruby ssl ssl-certificate aws-sdk