cURL和RestClient - SSL

时间:2012-06-19 09:09:05

标签: ruby-on-rails curl rest-client

我无法通过RestClient访问服务器。

我有这个用cURL编写的代码(它将XML文件发送到服务器进行解析)

curl -T /Users/amok/Code/1188/dragon/test.xml --cert Users/amok/Code/1188/dragon/client_1188.pem --key Users/amok/Code/1188/dragon/client_1188.key -k -u 1188:aaa https://smart.com/index.cgi

需要在RestClient中进行相同的操作。我试过这个,但它不起作用。

return RestClient::Resource.new(
  'https://smart.com/index.cgi',
  :ssl_client_cert  =>  OpenSSL::X509::Certificate.new(File.read(File.join(Rails.root, "/cert/client_1188.pem"))),
  :ssl_client_key   =>  OpenSSL::PKey::RSA.new(File.read(File.join(Rails.root, "/cert/client_1188.key"))),
  :user => '1188', 
  :password => 'aaa'
).post(xml, :content_type => 'application/xml')

(xml是文件,存储在服务器上)

问题是:

OpenSSL::SSL::SSLError in BackOffice::DragonPilotController#create
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

掌心现在在我脸上......((谢谢你

1 个答案:

答案 0 :(得分:1)

使用PUT方法代替POST