Ruby EventMachine kullanarak SSL sertifikası kimlik doğrulaması kullanan bir HTTPS web hizmetine erişmeye çalışıyorum ama işe yaramayacağım. kalkık RuntimeError mesajla ardından yukarıdaki çıkışlarını <SSL_incomp>
RunningRuby EventMachine ile çalışmak için SSL istemci sertifikalı bir HTTPS isteği nasıl alabilirim?
require 'rubygems'
require 'em-http'
EventMachine.run do
url = 'https://foobar.com/'
ssl_opts = {:private_key_file => '/tmp/private.key',
:cert_chain_file => '/tmp/ca.pem',
:verify_peer => false}
http = EventMachine::HttpRequest.new(url).get :ssl => ssl_opts
http.callback do
p http.response_header.status
p http.response_header
p http.response
EventMachine.stop
end
http.errback do
EventMachine.stop
fail "Request failed"
end
end
:
Bitmesini uca sınamak için aşağıdaki basit kod bloğunu yazdım. :verify_peer
hem true hem de false ayarıyla çalışmayı denedim ve bana aynı hatayı veriyor. :ssl
seçeneği olmadan EventMachine::HttpRequest#get
'un çalıştırılması aynı şeyi yapar.
:ssl
seçeneğinin olmadığı GMail (
https://mail.google.com) isteği gönderme denedim ve o durum kodu 200, başlıkları ve vücudu çıkışı çalışır.
Ben Kıvrık web servisine aynı talebi yapıyor denedim ve o çalışır:
curl --silent --cert /tmp/private.key --cacert /tmp/ca.pem https://foobar.com/
Ben yanlış ben de em-http-istek mücevher veya EventMachine kullanıyorum düşünerek veya SSL o am dosyalar, Curl ile birlikte çalışan ancak EventMachine olmayan bir biçimde.
Birisi yukarıdaki örneği nasıl çözeceğimi bilir veya EventMachine'i kullanarak benzer bir örnek sağlamayı çok isterim.