【发布时间】:2011-08-11 10:54:55
【问题描述】:
我需要处理一些需要 https 连接的第三方 API。 我什至有一个证书文件 mycert.pem 并尝试以这种方式连接 API:
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
https.ca_file = File.join(Rails.root, "data", "certs", "mycert.pem")
https.ca_path = [Rails.root, "data", "certs"].join("/")
https.start {
data = {
<here some request data>
}.to_json
https.request_post([API_HOST, API_URL].join('/'), data) {|res|
print res.body
}
}
但是我总是有来自这个 API 的授权错误,就像我有无效(或过时的)证书一样。即使我确定这不是真的,而且我的客户端问题,导致其他客户端连接此 API(和相同的证书)没有问题。
所以,问题是
https 连接来自 ruby 的服务的正确方法是什么?也许我丢失了什么或做错了什么?
【问题讨论】:
标签: ruby-on-rails ruby ssl https