OpenSSL的添加CA证书验证

问题描述:

尝试使用红宝石(https://bank.barclays.co.uk/olb/auth/LoginLink.actionOpenSSL的添加CA证书验证

当我连接我碰到下面的错误连接到一个SSL网站:

:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate  verify failed (OpenSSL::SSL::SSLError) 

我已经尝试了所有的现有解决方案:

  • 更新宝石(使用2.0.3)& OpenSSL的(使用1.0.1-4ubuntu5.8)
  • 加上“SS l_verify_mode'到.gemrc

我需要使用SSL验证和高级别的安全性,因为我将传输安全密码到银行。

我认为问题是接收网站的SSL CA不被我的电脑信任。但是,不是将操作系统配置为本地信任证书,而是找到不依赖于操作系统的解决方案(最好是我可以在运行时将配置传递给OpenSSL的解决方案)。

感谢您的帮助。

如果你可以使用类似Typhoeus,你可以这样做:

Typhoeus::Request.get(url.to_s, :disable_ssl_peer_verification => true)