Ruby:替代openssl进行HTTPS和SSL通信

时间:2011-03-02 18:09:27

标签: ruby ssl openssl

我正在使用Savon库连接到我的Rails应用程序上的一些政府Web服务。但是,Web服务托管在看似配置不当的计算机上,而openssl库拒绝使用它们。

由于Java和.NET客户端工作正常,我开始寻找替代方案。我已将Ruby运行时从Ruby Enterprise Edition更改为JRuby,后者不使用openssl库(它将SSL实现转发给Java本身),并且它运行良好。

所以现在我正在寻找使用HTTPS而不是openssl编写Ruby Web服务客户端的替代方案。是否有TLS / SSL的纯Ruby实现?或者我可以绑定的任何其他库?我听说过NSS,但看起来已被弃用了。

3 个答案:

答案 0 :(得分:1)

机器是否安装了libcurl?以下库使用libcurl(内部使用openssl),我认为libcurl可能配置得很好。你需要libcurl头文件来编译和安装这些宝石......

  • 路边
  • 顾客
  • 百头巨怪

我从来没有听说过Ruby的非openssl SSL / TLS实现。

答案 1 :(得分:0)

如果这是验证SSL证书的问题,您可以使用以下命令禁用检查:

http.verify_mode = OpenSSL::SSL::VERIFY_NONE

答案 2 :(得分:0)

我通过切换到JRuby解决了这个问题。它有自己的openssl实现,作为纯Java SSL库的代理。