Ruby で HTTPS クライアントを作成しようとしています。HTTPS を使用してサーバーに接続し、認証トークン (別のログイン プロセスで取得) と SSL クライアント証明書を渡します。
私はrest-clientで次のことをしています:
client = RestClient::Resource.new(url,
:ssl_client_cert => OpenSSL::X509::Certificate.new(File.read('./certificate/client-2048.pem')),
:ssl_client_key => OpenSSL::PKey::RSA.new(File.read('./certificate/client-2048.key'), ''),
:verify_ssl => OpenSSL::SSL::VERIFY_NONE)
# ...
headers = {
'X-Application' => APP_KEY,
'X-Authentication' => @session_token,
'content-type' => 'application/json',
'Accept' => 'application/json'
}
response = client.post(request, headers)
これは機能しますが、私がやりたいのは、キープアライブを使用して、リクエストを行うたびに接続を確立するプロセス全体を実行する必要がないようにすることです。これに伴う遅延により、私が作成している監視アプリケーションの有用性が大幅に低下します。
しかし、私が見つけられないように見えるのは、以下を提供する Ruby ライブラリです。
- HTTPS サポート
- SSL クライアント証明書のサポート
- 生き続ける
それを提供する必要があるrest-client のプルリクエストが苦しんでいます。httpartyにはpersistent_httpartyがありますが、SSL クライアント証明書をサポートしている場合、ドキュメントはありません。
rest-client を fork して、ちょっと腐った pull-request をマージして、それを使うことができました。しかし、確かにここに何かが欠けています...探しているものを提供する既存のライブラリはありますか? または、そのライブラリでの SSL クライアント証明書の使用を説明する httparty のドキュメントはありますか?
どんな援助でも大歓迎です。