無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

HTTPSでサーバーに接続

net/httpsを使ってHTTPSでサーバーに接続します。

サーバーの公開鍵証明書を得る

接続したいサーバーの公開鍵証明書を取得します。Windows環境であればIEを使うのが簡単です。(IE 6で確認)

  1. IEで接続したいサーバーにhttpsでアクセス。
  2. SSL通信の場合右下に表示される「鍵」マークをダブルクリック。
  3. 「証明書」ダイアログが表示されるので、「詳細」タブの「ファイルにコピー」ボタンを押す。
  4. 「証明書エクスポートウィザード」が開始される。「次へ」ボタンを押す。
  5. ファイル形式を「Base64 Encoded X509」(PEM形式)とする。
  6. あとはウィザードに従って、適当なファイルにエクスポートする。

接続する。

サンプルは、「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