2017-09-12 12 views
2

ここでは、PEM証明書を使用してHTTPS Webサービスをリクエストする簡単なクラスです。PEM証明書を使用したHTTPリクエスト

require [omit verbose] 

class Api 

    def initialize 
     @ctx = OpenSSL::SSL::Context::Client.new 
     @ctx.private_key = "/home/XXXXXX/development.pem" 
     @ctx.verify_mode = LibSSL::VerifyMode::NONE 
    end 

    def customers 
     response = HTTP::Client.get "https://XXX.XXX.XXX.XXX:XXXX/api/customers", nil, nil, @ctx 
     puts response.status_code 
     puts response.body 
     puts response.inspect 
     nil 
    end 

end 

Api.new.customers 

しかし、私は唯一の401認可結晶の実行はsrc/api.crを必要と受け取ります。

+0

検証を無効にする必要はありませんで、この行を追加します。 CAがシステムバンドルにない場合は、明示的にコンテキストに設定することを推奨する必要があります。 –

答えて

3

また、certificate_chainも設定する必要があります。

はinitializeメソッド

@ctx.certificate_chain = "/home/XXXXXX/development.pem" 
関連する問題