私は、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 cert エラーで失敗します:
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)
読まずに投稿していると思わないでください。これらのページをすべて読みましたが、解決策が見つかりません。まあ、あなたは私の言葉を信じなければならないでしょう.私は2つのハイパーリンクしか置くことができません:-)
http://rubydoc.info/gems/httpi/0.9.2/frames
https://github.com/rubiii/httpi
どんな提案でも大歓迎です。