【问题标题】:ruby was-sdk v2 : Seahorse::Client::NetworkingError Exception: SSL_connectruby was-sdk v2:Seahorse::Client::NetworkingError 异常:SSL_connect
【发布时间】: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


【解决方案1】:

这是一个 OS X / Homebrew 问题... 安装 openssl w Homebrew CA 证书位于:/usr/local/etc/openssl/cert.pem

所以我需要配置它:

 Aws.config[:ssl_ca_bundle] = '/usr/local/etc/openssl/cert.pem'

【讨论】:

    猜你喜欢
    • 2019-07-15
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2016-08-14
    • 2012-07-10
    • 2015-05-18
    相关资源
    最近更新 更多