HTTPSã§ãµã¼ãã¼ã«æ¥ç¶
net/httpsã使ã£ã¦HTTPSã§ãµã¼ãã¼ã«æ¥ç¶ãã¾ãã
ãµã¼ãã¼ã®å ¬ééµè¨¼ææ¸ãå¾ã
æ¥ç¶ããããµã¼ãã¼ã®å ¬ééµè¨¼ææ¸ãåå¾ãã¾ããWindowsç°å¢ã§ããã°IEã使ãã®ãç°¡åã§ãã(IE 6ã§ç¢ºèª)
- IEã§æ¥ç¶ããããµã¼ãã¼ã«httpsã§ã¢ã¯ã»ã¹ã
- SSLéä¿¡ã®å ´åå³ä¸ã«è¡¨ç¤ºããããéµããã¼ã¯ãããã«ã¯ãªãã¯ã
- ãè¨¼ææ¸ããã¤ã¢ãã°ã表示ãããã®ã§ãã詳細ãã¿ãã®ããã¡ã¤ã«ã«ã³ãã¼ããã¿ã³ãæ¼ãã
- ãè¨¼ææ¸ã¨ã¯ã¹ãã¼ãã¦ã£ã¶ã¼ãããéå§ãããããæ¬¡ã¸ããã¿ã³ãæ¼ãã
- ãã¡ã¤ã«å½¢å¼ããBase64 Encoded X509ã(PEMå½¢å¼)ã¨ããã
- ãã¨ã¯ã¦ã£ã¶ã¼ãã«å¾ã£ã¦ãé©å½ãªãã¡ã¤ã«ã«ã¨ã¯ã¹ãã¼ãããã
æ¥ç¶ããã
ãµã³ãã«ã¯ããRubyリファレンスマニュアル - net/httpsãè¨è¼ã®ãã®ã¨ã»ã¼åãã§ãããhttps.ca_fileãã§ãä¸ã§åå¾ããæ¥ç¶å
ãµã¼ãã¼ã®å
¬ééµè¨¼ææ¸ããä¿¡é ¼ãããµã¼ãã¼ã®å
¬ééµè¨¼ææ¸ã¨ãã¦æå®ãã¾ãã
ãµã³ãã«:
require 'net/https' https = Net::HTTP.new('<æ¥ç¶å ãµã¼ãã¼>', 443) https.use_ssl = true https.ca_file = './base64.cer' # ãµã¼ãã¼ã®å ¬ééµè¨¼ææ¸ãæå® https.verify_mode = OpenSSL::SSL::VERIFY_PEER https.verify_depth = 5 https.start { |w| response = w.get('/') puts response.body }
ãhttps.ca_fileããè¨å®ããªãã¨ããcertificate verify failedãã«ãªãã¾ãã
require 'net/https' https = Net::HTTP.new('<æ¥ç¶å ãµã¼ãã¼>', 443) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_PEER https.verify_depth = 5 https.start { |w| response = w.get('/') puts response.body }
å®è¡çµæ:
/usr/lib/ruby/1.8/net/http.rb:586:in `connect': certificate verify failed (OpenSSL::SSL::SSLError) from /usr/lib/ruby/1.8/net/http.rb:586:in `connect' from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start' from /usr/lib/ruby/1.8/net/http.rb:542:in `start' ...
åè:Rubyリファレンスマニュアル - net/https