3

我正在连接到一个 biztalk SOAP API,并且我已经从服务器获得了一个公共证书,用于使用 ssl 服务器身份验证进行连接。

我正在使用:Ruby 1.9.2、Curb (0.7.15)、Savon (0.9.1) HTTPi (0.9.2)

我似乎无法让它正常工作,但它可以从命令行使用 CURL:

curl --cacert /path/to/cert https://raadeeraa

但我无法弄清楚如何让它与 Savon、HTTPi 和 Curb 一起工作。

这通过:

http.auth.ssl.ca_cert_file = '/path/to/cert'
http.auth.ssl.verify_mode = :peer

但这也会发生,所以我认为它不能正常工作:

http.auth.ssl.ca_cert_file = '/complete/load/of/nonsnse'
http.auth.ssl.verify_mode = :peer

这失败并出现 ssl 证书错误:

http.auth.ssl.ca_cert_file = '/path/to/cert'
http.auth.ssl.verify_mode = :none

`cert=': undefined method `rindex' for nil:NilClass (NoMethodError)

所以我也指定了一个证书:

http.auth.ssl.ca_cert_file = '/path/to/cert'
http.auth.ssl.cert_file = '/path/to/cert'
http.auth.ssl.verify_mode = :none

rails3.0.4/gems/httpi-0.9.2/lib/httpi/adapter/curb.rb:29:in `http_post': Problem with the local SSL certificate (Curl::Err::SSLCertificateError)

请不要以为我在没有阅读的情况下发布,我已经阅读了所有这些页面并且找不到解决方案。好吧,你必须相信我的话,我只能放两个超链接:-)

http://rubydoc.info/gems/httpi/0.9.2/frames

https://github.com/rubiii/httpi

任何建议将不胜感激。

4

0 回答 0