littlebangkok回答ポイント 70ptウォッチ 1

Ruby の OpenSSL::X509::Certificate の証明書の取得について質問です。

下記コードから生成される「amazon.pem」と FireFox から取得する PEM (証明書パスを含む X509 証明書)の内容が異なるのは何故でしょうか? Ruby で取得した PEM を指定して、net/https を使うとエラーが出ます。後者の PEM はエラーが発生しません。
文字数制限のため詳細を掲載できませんが、Ruby は2つの証明書、FireFoxは3つの証明書ができていました。

あと PEM とか DER、 CER 等いまいち理解していないので、参考になる WEB サイトを教えて頂けると幸いです。
---------- Ruby のコード ----------
require 'socket'
require 'openssl'
require 'uri'
include OpenSSL
uri = URI('https://affiliate.amazon.co.jp/gp/associates/join/landing/main.html')
soc = TCPSocket.new(uri.host, 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.write("GET #{uri.request_uri} HTTP/1.0\n")
ssl.write("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\n")
ssl.write("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\n")
ssl.write("Accept-Language: ja,en-us;q=0.7,en;q=0.3\n")
ssl.write("Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7\n")
ssl.write("\r\n\r\n")
pem = ssl.peer_cert_chain.to_s
ssl.close
soc.close
fp = File.open('amazon.pem', 'w+')
fp.puts pem
fp.close

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2008-12-08 20:58:42
終了日時
2008-12-13 11:04:25
回答条件
1人1回まで

この質問のカテゴリ

この質問に含まれるキーワード

REQUEST_URI42Mozilla82firefox2005Gecko27XHTML194SSL492XML844Ruby760Shift_JIS88HTTPS331UTF-8628URI127Amazon1135Windows5693M&A94Windows NT66HTML5036HTTP777accept45

人気の質問

メニュー

PC版