SSL (Secure Sockets Layer) と TLS (Transport Layer Security)

セキュア通信のための X.509 公開鍵証明書の検証

この数年、インターネットに接続するコンピューティング機器が爆発的に増えていることから、通信およびコンピューター・システムのセキュリティーは今まで以上に重要になっています。この記事では、セキュア通信の歴史、SSL/TLS プロトコル、ハンドシェイク、ネットワーク層、そして SSL/TLS 接続の検証を簡易化するツールについて学びます。

Jinwoo Hwang, Senior Software Engineer, IBM

Jinwoo HwangJinwoo Hwang (http://jinwoohwang.ulitzer.com/) は、ノースカロライナ州リサーチ・トライアングル・パーク所在の IBM WebSphere Application Server Technical に勤務するソフトウェア・エンジニア、発明家、著者、および技術リーダーとして、これまで IBM HeapAnalyzer (http://www.alphaworks.ibm.com/tech/heapanalyzer) やその他多くの技術を設計、作成してきました。著書には『C Programming for Novices』(ISBN:9788985553643、Yonam Press、1995年) がある他、ウェブキャストや記事でも活躍しています。彼は IBM 認定ソリューション開発者、IBM 認定 WebSphere Application Server システム・アドミニストレーターであり、さらに Java プラットフォームの SUN 認定プログラマーの資格を持っています。彼の記事やウェブキャスト、プロジェクトについて詳しくは http://jinwoohwang.ulitzer.com を訪ねてください。



2012年 7月 05日

はじめに

インターネットがセキュリティーに関して厳しい目にさらされるようになり、Netscape Communications が 1994年に SSL (Secure Sockets Layer) プロトコルを考案して以来、インターネット暗号化の分野では、コードを破ろうとする者とコード作成者との間の攻防がどんどん激しさを増してきています。

この記事では、まず暗号学の歴史と、非セキュアなネットワークでの通信セッションをセキュアにするための業界標準となった、SSL (Secure Sockets Layer) と TLS (Transport Layer Security) のハンドシェイク・プロトコルを含め、セキュア通信の基本について簡単に説明します。続いて、IBM Connection and Configuration Verification Tool for SSL/TLS を利用して、実際の SSL/TLS サーバーおよびクライアントを起動する方法、オンライン SSL/TLS サーバーからの X.509 公開鍵証明書を確認する方法、そして信頼できる本番用 SSL/TLS サーバーから X.509 公開鍵証明書を抽出する方法を実演します。

セキュア通信の歴史

メッセージの暗号化と解読の科学およびその研究 (つまり、暗号学) の起源は、何千年も昔のギリシャに遡ります。ギリシャがこの科学分野に関係していることを知る手掛かりは、暗号学 (cryptography) という言葉の語源にあります。「crypto」の語源は、ギリシャ語で「隠された、秘められた、秘密」を意味する「kryptos」という言葉です。「graphy」の語源も同じく、ギリシャ語で「書く」を意味する「graphia」です。つまり、「cryptography」とはギリシャ語で、秘密を書くことを意味します。

では、秘密を書くための科学を表す言葉に、なぜギリシャ語が用いられるのでしょう?ギリシャ語でメッセージを書いたほうが安全性に優れるのかと言えば、そういうわけでもありません (例えば、「It was Greek to me (私にはチンプンカンプンだ)」という有名な台詞もあります。これは、ウィリアム・シェークスピアの「ジュリアス・シーザー」で、カッシウスと話しているときにカスカが言った台詞です)。

ギリシャ人は賞賛に値します。ギリシャの詩人、アリキロコスの記録によると、古代ギリシャ人とスパルタ人は紀元前 600年頃にスキュタレーという道具を使っていました。単なる伝説だと言う人もいますが、これは歴史上初の暗号化装置です。スキュタレーは、現代のキッチンにある麺棒のような形をしていて、この棒には細長い羊皮紙が巻きつけられます。この羊皮紙に書かれた秘密のメッセージは、同じ直径のスキュタレーを使用しない限り、受け取った側で解読することはできません。スキュタレーが使用しているルート暗号方式は、転置式暗号の実装の 1 つです。驚くべきことに、スキュタレーは American Cryptography Association (米国暗号協会) の標章として (本来の用途ではありませんが) 今でも使用されています。

民間で暗号学が使用されていたことを示す初めての記録は、時代をさらに遡り、紀元前 1900年頃のエジプトの都市、Menet Khufu にあります。カーヌムホテップ二世の玄室で見つかった碑文には、象形文字で置換された単純なコードによる換字暗号が使用されていました。

時代を 4,000 年飛び越えて 20世紀まで戻すと、人類はこの時代に、コンピューター、インターネット、自動車、飛行機、電子機器など、数々の技術的な成果を実現しました。

1990年 11月、欧州合同原子核研究機構 (CERN:Conseil Européen pour la Recherche Nucléaire) で初めて HTTP (Hypertext Transfer Protocol) が使用されたことをきっかけに、World Wide Web でのインターネットの使用が急増します。HTTP は、互いに通信する 2 つのアプリケーションが接続のリクエストとレスポンスを交換するためのアプリケーション層プロトコルです。これが、私たちが現在使用している World Wide Web の基礎となっています。けれども、HTTP のセキュリティーは e-コマースなどでの送金に使用するには十分ではなかったため、セキュアな HTTP 接続の必要性が高まってきました。

そこで、Allan Schiffman 氏と Eric Rescorla 氏が 1993年の後半に開発したのが、S-HTTP (Secure HTTP) です。Schiffman 氏は、これをインターネット初の暗号プロトコルであると主張しています。彼はまた、Secure Mosaic が初のセキュア Web ブラウザーであるとも主張しています。

1994年、Netscape Communications 社は、インターネットなどの保護されていないネットワークでのクライアントとサーバー・アプリケーションとの間の通信を保護するためのプロトコル、SSL (Secure Sockets Layer) を考案しました。それ以来、SSL プロトコルは暗号プロトコルのデファクト・スタンダードとなっています。SSL は、クライアントとサーバー・アプリケーションが交換するデータに機密性と完全性をもたらし、通信セッションの一方または両方のエンドポイントを認証できるようにします。

HTTPS (Hypertext Transfer Protocol Secure) は、HTTP に SSL/TLS プロトコルを組み合わせたものです。Secure HTTP に勝る SSL の利点の 1 つは、SSL 仕様はアプリケーション・プロトコルに依存しないプロトコルとして設計されていることです。つまり、SSL は Web ブラウザーとサーバーとの間の通信だけを保護するわけではありません。

SSL は現在、e-メール (SMTP (Simple Mail Transfer Protocol)) での通信、電話 (VoIP (Voice over IP)) での通信、そして FTP (File Transfer Protocol) やその他多くのプロトコルでの通信をセキュアにするために使用されています。もちろん、Web ブラウジング (HTTP) をセキュアにするために使用されていることは言うまでもありません。さらに、1970年代の IBM 3270 または 5250 ターミナル・プロトコルを SSL でセキュアにすることさえできます。その場合、近頃では SNA ネットワークがほとんど姿を消しているため、当然 TN 3270 (Telnet 3270) または TN 5250 が必要になってくると思います。

Netscape Communication は SSL の特許を所有しています (米国特許番号 5,657,390「Secure socket layer application program apparatus and method」)。ということは、SSL 技術を実装するには、Netscape Communication に支払わなければならないのでしょうか?幸い、Netscape Communications では、特許請求または IETF (Internet Engineering Task Force) TLS 仕様の範囲で実装を作成しようとするあらゆる当事者に、無償で使用できる権利を与えました。

1999年 1月、IETF は RFC (Request for Comments) 2246 に定義されている SSL 3.0 の拡張版、TLS (Transport Layer Security) 1.0 (SSL 3.1) を採択しました。21 世紀を迎えたあたりに (正確には 2008年 8月)、この記事を執筆している時点で最新の TLS 仕様である TLS 1.2 (SSL 3.3) が制定されました。TLS 1.2 は RFC 5246 に定義されています。


暗号化に関する専門用語

暗号化の世界に踏み込む前に、基礎知識を学んでおきましょう。暗号化で用いられる言葉は、多くの点で、現実世界のなかでそれに対応する言葉と似ています。まずは、「鍵」について説明します。

暗号学で言う「鍵」は、暗号化に関する処理 (暗号化や解読など) の出力に影響を及ぼす一連のデータです。鍵は、e-メール・アカウントのユーザー ID とパスワードのようなもので、e-メールの場合、ユーザー ID とパスワードは e-メール保管庫の鍵の役割をしているため、これらを忘れてしまうと、e-メールを読むことができなくなってしまいます。これと同様に、暗号化の鍵を忘れてしまうと、暗号化した対象を解読することができなくなってしまいます。

次に、「証明書」とは何でしょう?もう少し具体的な (ただし、難しすぎない) 呼び方としては、「公開鍵証明書」、「デジタル証明書」、「身元証明書」などがあります。公開鍵証明書は、公開鍵と、その鍵を所有する主体者を結びつけるデータに、信頼できる認証局または単なる証明局によるデジタル署名を付与した構造をしています。証明書とは、運転免許証やパスポートなどの、地方自治体や州政府が発行する写真付き身分証明書のようなものです。この場合、地方自治体または州政府が認証局に相当します。

鍵ストアには暗号鍵と証明書を保管され、トラスト・ストアには信頼している認証局の X.509 証明書に至るまでの証明書チェーンが保管されます。


プロトコル、SSL、TLS

プロトコル・ネットワーク層

TLS (Transport Layer Security) は、トランスポート層 (TCP など) の上位層として配置されます。TLS プロトコルは、TLS レコード層と TLS ハンドシェイク層という 2 つの層からなります。

TLS レコード層は、その上位の各種プロトコル (ハンドシェイク・プロトコル、アラート・プロトコル、暗号仕様変更プロトコル、およびアプリケーション・データ・プロトコル) をカプセル化するために使用されます。

TLS ハンドシェイク層は、ハンドシェイク・プロトコル、アラート・プロトコル、暗号仕様変更プロトコルからなります。図 1 で、TLS レコード層や HTTP1 層などを一緒に囲んでいるオレンジの枠が、HTTPS (Hypertext Transfer Protocol Secure) を構成します。HTTP1 層を FTP に置き換えると、オレンジの枠は FTPS (File Transfer Protocol Secure) となります。言うまでもなく、オレンジの枠の外側にある HTTP2 は、セキュリティーのサポートがまったくないプレーン HTTP です。

図 1. SSL/TLS プロトコル層
SSL/TLS プロトコル層

ハンドシェイクとプロトコルのフロー

以下に、クライアントとサーバーとの間のプロトコルのフローを示します。

図 2. TLS プロトコルの標準的なフロー
TLS プロトコルの標準的なフロー

まず、クライアントがサーバーに client hello メッセージを送信します。client hello メッセージには、以下の情報が含まれています。

  • ProtocolVersion: クライアントがこのセッションでの通信に使用することを希望する TLS プロトコルのバージョン。
  • Random: 現在の日時と、クライアントが生成した 28 バイトのセキュア乱数が格納されたランダム構造体。
  • SessionID: クライアントがこの接続での使用を希望するセッション ID。
  • CipherSuite: クライアントがサポートする暗号化アルゴリズムの組み合わせが含まれた暗号スイートのリスト。
  • CompressionMethod: クライアントがサポートする圧縮アルゴリズムのリスト。

サーバーは、クライアントからの client hello メッセージの中に受け入れ可能なアルゴリズムがある場合、client hello メッセージへの応答として server hello メッセージを送信します。その server hello メッセージには、以下の情報が含められます。

  • ProtocolVersion: このセッション中にクライアントとの通信に使用することに同意した TLS プロトコルのバージョン。
  • Random: 現在の日時と、サーバーが生成した 28 バイトのセキュア乱数が格納されたランダム構造体。
  • SessionID: サーバーがこの接続での使用を希望するセッション ID。
  • CipherSuite: client hello メッセージに含まれている暗号化スイートのリストからサーバーが選択した唯一の暗号化スイート。
  • CompressionMethod: client hello メッセージに含まれている圧縮方式のリストからサーバーが選択した唯一の圧縮アルゴリズム。

サーバーはクライアントに server hello メッセージを送信するとすぐに、server certificate メッセージと server key exchange メッセージを送信します。サーバーがクライアント認証を行う場合には、サーバーはクライアントに証明書を送信するよう要求する certificate request メッセージを送信することもできます。その後、サーバーは server hello done メッセージを送信して、クライアントからの応答を待ちます。

サーバーが証明書を要求してきた場合には、クライアントは server hello done メッセージに応答して client certificate メッセージを送信します。client certificate メッセージの送信直後、クライアントは client key exchange メッセージと certificate verify メッセージを送信します。さらに、サーバーがクライアント証明書を検証できるように、certificate verify メッセージを送信します。

サーバーが証明書を要求しない場合、client key exchange メッセージがクライアントから送信される最初のメッセージとなります。さらに、クライアントから change cipher spec メッセージと finished メッセージも送信されます。サーバーはこれに応答し、change cipher specification メッセージと finished メッセージを送信します。この時点で、クライアントとサーバーはアプリケーション層のデータを交換できるようになります。プロトコルの全体像を理解するには、今のところはこれで十分でしょう。ここからは実際に体験することによって、プロトコルがどのように機能するかを徹底的に探ります。詳細を探るには、実際のシナリオが必要です。まずは、そのシナリオを見てみましょう。


テスト・ケース

最初にテストするのは、SSL サーバーにアクセスするための正式な証明書がない場合のシナリオです。次に、SSL サーバーから正式な証明書を入手し、その証明書を使用して SSL でサーバーと通信するというシナリオをテストします。この 2 つのシナリオを、Java ランタイム環境では提供していないツールを使用した場合と、使用しない場合とで行ってみます。

最初のシナリオを実行するために必要な具体的なステップは、一から始めるとしたら、以下のようになります。

  1. サーバーの鍵ストアを作成します。
  2. 鍵ストア内に、鍵ペアおよび X.509 自己署名公開鍵証明書を作成します。
  3. 鍵ストアに保管されている鍵の情報を確認します。
  4. クライアントの空のトラスト・ストアを作成します。
  5. トラスト・ストアを確認し、必ずその中に何も含まれていないようにします。
  6. 鍵ストアを使用して SSL サーバーを起動します。
  7. トラスト・ストアを使用して SSL クライアントを起動します。
  8. クライアントをサーバーに接続します。

もう一方のシナリオでは、以下のステップを行います。

  1. サーバーの鍵ストアから証明書をエクスポートします。
  2. 証明書をクライアントのトラスト・ストアにインポートします。
  3. トラスト・ストアに保管されている証明書の情報を確認します。
  4. 鍵ストアを使用して SSL サーバーを起動します。
  5. トラスト・ストアを使用して SSL クライアントを起動します。
  6. クライアントをサーバーに接続します。

テスト・ケースは以上のとおりです。作業をするにあたっては、IBM Connection and Configuration Verification Tool for SSL/TLS などのツールを用意するに越したことはありません。このツール以外にも同等の機能をこのシナリオで使えるツールであれば、任意のツールを使用することができます。


ツール: IBM Connection and Configuration Verification Tool for SSL/TLS

IBM Connection and Configuration Verification Tool for SSL/TLS は、SSL/TLS クライアントまたは SSL/TLS サーバーとして、SSL (Secure Sockets Layer) プロトコルおよび TLS (Transport Layer Security) プロトコルでのネットワーク接続と構成を検証する機能を備えたツールです。このツールを使用することで、鍵ストアおよびトラスト・ストア内の秘密鍵と証明書を確認できるだけでなく、必要な場合には、信頼できる SSL/TLS サーバーから証明書をインポートすることもできます。このツールには、鍵ストアから証明書をインポートして、別の鍵ストアに証明書をエクスポートする機能が用意されています。

前提条件

  • Java ランタイム環境バージョン 6 以上
  • セキュア通信のための鍵ストアまたはトラスト・ストア、あるいはその両方

機能

  • 鍵ストアのオープン
  • トラスト・ストアのオープン
  • 新規鍵ストアの作成
  • 新規トラスト・ストアの作成
  • 秘密鍵の一覧表示
  • X.509 証明書の一覧表示
  • 鍵ストア内の秘密鍵に関する情報の読み込み
  • 鍵ストアおよびトラスト・ストア内の X.509 証明書に関する情報の読み込み
  • X.509 証明書のエクスポート
  • X.509 証明書のインポート
  • SSL/TLS サーバー・ソケットのオープン
  • SSL/TLS クライアント・ソケットのオープン
  • クライアント認証のサポート
  • X.509 証明書の検証
  • SSL/TLS サーバーからの X.509 証明書の受信
  • SSL/TLS サーバーへの X.509 証明書の送信
  • SSL/TLS ハンドシェイクの実行
  • デフォルト接続パラメーターの設定
  • SSL/TLS サーバーからの X.509 証明書の自動インポート

IBM Connection and Configuration Verification Tool for SSL/TLS の起動方法

このツールを実行するには、Java ランタイム環境バージョン 6 以上を使用する必要があります。お使いのシステムの Java ランタイム環境によっては、オペレーティング・システムのグラフィカル・ユーザー・インターフェースからファイルをクリックするだけで jar ファイルを実行できることもあれば、通常の実行可能ファイルと同じく、コマンドライン・インターフェースから jar ファイルのパス名を入力してファイルを実行しなければならないこともあります。

グラフィカル・ユーザー・インターフェースがサポートされていない場合には、コマンドライン・インターフェースから以下のようにファイルを実行します。

起動方法: <Java パス>java -jar cvt<バージョン番号>.jar

例えば、/usr/java6/bin/java -jar cvt101.jar と入力すると、/usr/java6/bin/ ディレクトリーの Java ランタイムで、このツールのバージョン 1.0.1 が起動されます。

IBM Connection and Configuration Verification Tool for SSL/TLS の使用方法

このツールを初めて起動すると、ツールの使用条件を読んで、それに同意することになります。この使用条件に同意しない場合には、プログラムが終了するので、払い戻しのために速やかに、使用することのないメディアとマニュアルをその購入元に返却する必要があります。プログラムをダウンロードした場合は、プログラムのすべてのコピーを破棄してください。

図 3. 「License Agreement (ご使用条件)」
「License Agreement (ご使用条件)」

使用条件に同意すると、以下に示すツールの初期画面が表示されます。

図 4. 初期画面
初期画面

ツールをナビゲートするには、メニュー、ツールバーに表示されたアイコン、およびショートカット・キー (例えば、Ctrl + x を押すとツールが終了します) を使用します。コンソール・フレームには、ツールからのメッセージが表示されます。
ツールが用意できたところで、最初のテスト・ケースに取り掛かりましょう。


テスト・ケース 1

SSL サーバーにアクセスするための正式な証明書がない場合のシナリオをテストします。ここでは、次のステップを順に実行します。

  1. サーバーの鍵ストアを作成します。
  2. 鍵ストア内に、鍵ペアおよび X.509 自己署名公開鍵証明書を作成します。

まずは、SSL 証明書を取得する必要があります。SSL 証明書プロバイダーから SSL 証明書を取得する場合、さまざまな選択肢がありますが、SSL 証明書プロバイダーを選択するには、その前にビジネス・ニーズを評価する必要があります。SSL 証明書を持っていない場合、証明書を作成することもできますが、自作の証明書は、実際には役に立ちません。それは、近所の酒屋でビールの 6 缶パックを買うときに、手作りの身分証明書をレジに提示しても売ってもらえないのと同じことです。

自己署名証明書を作成する方法は、以下のとおりです。
Java ランタイム環境には、暗号鍵、X.509 証明書、および鍵ストアを管理する、keytool というコマンド・インターフェースが用意されています。ほとんどの Java 仮想マシンでは、このコマンド・インターフェースは Java ホーム・ディレクトリーの bin ディレクトリー内にあります。keytool には -genkeypair、-alias、-keyalg、-keystore、-dname などのコマンドおよびオプションを指定する必要があります。

以下に、一例を記載します。

$ keytool -genkeypair -alias sscert -keyalg RSA -keystore keystore -dname "CN=localhost, OU=Software Group, O=IBM, L=Research Triangle Park, S=North Carolina, C=US"

上記のコマンドとオプションによって、サーバーの鍵ストアを作成すると同時に、そのサーバーの鍵ストア内に鍵ペアと X.509 自己署名公開鍵証明書を作成することができます。

以下に、これらのコマンドおよびオプションのそれぞれが何を意味するのかを細かく説明します。

-genkeypair
このコマンドは、秘密鍵と、X.509 v4 自己署名証明書が含まれる証明書チェーンを生成します。

-alias
このオプションは、エントリーの名前を指定します。上記の例では、エイリアスとして「sscert」を指定しました。

-keyalg
このオプションは、鍵ペアのアルゴリズムを指定します。私たちが鍵ペアを生成するために使用するのは、RSA (Rivest, Shamir and Adleman) アルゴリズムです。

-keystore
このオプションは、鍵ストアの名前を指定します。

-dname
このオプションは、X.500 の Distinguished Name (識別名) を指定します。X.500 の識別名は、エントリーに一意の ID を提供するために使用されます。X.500 に関する詳細は、IETF (Internet Engineering Task Force) の RFC (Request for Comments) 2253 に定義されています。この例では、一般名、組織内単位名、組織名、地域名、州名、国名だけを指定しました。以下に、X.500 識別名で使用されるキーワードを説明します。

表 1. X.500 識別名に含まれるキーワードの説明
キーワード属性のタイプ
CNCommon Name (一般名)localhost
OUOrganization Unit Name (組織内単位名)Software Group
OOrganization Name (組織名)IBM
LLocality Name (地域名)Research Triangle Park
SState/province Name (州名)North Carolina
CCountry Name (国名)US

識別名の文字列表現は、1995年に IETF が RFC 1779 で規定しました。-dname を指定しない場合は、以下に示すように対話形式で、keytool に情報を提供する必要があります。

What is your first and last name?
  [Unknown]:  localhost
What is the name of your organizational unit?
  [Unknown]:  Software Group
What is the name of your organization?
  [Unknown]:  IBM
What is the name of your City or Locality?
  [Unknown]:  Research Triangle Park
What is the name of your State or Province?
  [Unknown]:  NC
What is the two-letter country code for this unit?
  [Unknown]:  US
Is CN=localhost, OU=Software Group, O=IBM, L=Research Triangle Park, ST=NC, C=US
correct?
  [no]:  yes

コマンドとオプションのすべてが正しければ、鍵ストアと鍵のパスワードの入力を求められます。

Enter keystore password:******
Re-enter new password:******
Enter key password for <sscert>:
        (RETURN if same as keystore password):

これで、ステップ 1 とステップ 2 は完了しました。SSL サーバーの鍵ストア内に証明書が取り込まれたら、次は以下のステップを実行します。

3. 鍵ストアに保管されている鍵の情報を確認します。

keytool の各種機能を理解していれば、ここでも keytool を使用して鍵ストアに保管されている鍵の情報を確認することができます。

$keytool -list -v -keystore keystore
Enter keystore password: ******
 
Keystore type: JKS
Keystore provider: IBM
 
Your keystore contains 1 entry
 
Alias name: sscert
Creation date: May 25, 2012
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=localhost, OU=Software Group, O=IBM, L=Research Triangle Park, ST=NC, C=US
Issuer: CN=localhost, OU=Software Group, O=IBM, L= Research Triangle Park, ST=NC, C=US
Serial number: 4ddcfd20
Valid from: May 25 08:59:12 EDT 2012 until: Jul 20 10:20:23 EDT 2032
Certificate fingerprints:
         MD5:  ...CC:72:A9:AF:83:14:C7:43:D4...
         SHA1: ...53:8A:FF:28:1A:C8:1A:23:91:F6:2F:D5:39...
         SHA256: ...07:51:4A:CD:8B:A1:C5:8A:EC:45:30:8A...
         Signature algorithm name: SHA256withRSA
         Version: 3
 
Extensions:
 
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 58 78 C4 52 8D CB 4D 32   ...
0010: DD 44 DE …                            
]
]

これよりも簡単な方法を試してみたいという場合には、IBM Connection and Configuration Verification Tool for SSL/TLS を使用することができます。では早速、このツールを起動してください。


鍵の情報

「File (ファイル)」メニューには、「Open Trust Store (トラスト・ストアを開く)」、「Open Key Store (鍵ストアを開く)」、「Create Key/Trust Store (鍵/トラスト・ストアの作成)」、「Exit (終了)」といったメニュー項目があります。「File (ファイル)」 > 「Open Key Store (鍵ストアを開く)」の順にメニュー項目を選択するか、Ctrl+K キーを押すと、鍵ストアが開きます。この機能を使って、秘密鍵とそれに関連付けられた証明書を確認することができます。

図 5. 「File (ファイル)」メニュー
「File (ファイル)」メニュー

作成した鍵ストア・ファイルを選択します。この例で鍵ストア・ファイルに指定した名前は、「keystore」です。このファイルを選択して、「Open (開く)」ボタンをクリックしてください。

図 6. 鍵ストアを開く
鍵ストアを開く

鍵ストアのタイプを選択する必要があります。鍵ストアのタイプには、「JKS」を選択することができます。

図 7. 鍵ストアのタイプを選択する
鍵ストアのタイプを選択する

鍵ストアのパスワードを入力して、「Open (開く)」ボタンをクリックします。

図 8. 鍵ストアのパスワードを入力する
鍵ストアのパスワードを入力する

「Key Store (鍵ストア)」ウィンドウの「Keys (鍵)」タブに、「sscert」という名前の秘密鍵と「localhost」という名前の証明書が示されます。証明書を選択すると、この主体者の一般名、組織内単位名、組織名、地域名、州名、国名、ならびに証明書のバージョン、シリアル番号、SHA-1 (セキュア・ハッシュ・アルゴリズム) フィンガープリント、MD5 (メッセージ・ダイジェスト・アルゴリズム) フィンガープリント、有効期限、発行者の X.500 識別名、公開鍵アルゴリズム、フォーマット、鍵のサイズ、署名フォーマット、署名のサイズ、公開鍵、署名などを確認することができます。

図 9. 鍵ストア内の鍵
鍵ストア内の鍵

クリックして大きなイメージを見る

図 9. 鍵ストア内の鍵

鍵ストア内の鍵

鍵ストアの情報

「KeyStore Information (鍵ストア情報)」タブを選択すると、プロバイダー名、プロバイダー・バージョン、鍵ストアのタイプ、クラス名、署名アルゴリズム、暗号化アルゴリズム、メッセージ・ダイジェスト・アルゴリズムなどを確認することができます。

図 10. 鍵ストア情報
鍵ストア情報

次のステップに進みましょう。

4. クライアントの空のトラスト・ストアを作成します。


トラスト・ストアの作成

「File (ファイル)」 > 「Create Key/Trust Store (鍵/トラスト・ストアの作成)」を選択して、トラスト・ストアのタイプとして「JKS」を選択します。

図 11. トラスト・ストアのタイプを選択する
トラスト・ストアのタイプを選択する

トラスト・ストアのパスワードを 2 回入力し、トラスト・ストアのファイル名を指定してから「Create (作成)」ボタンをクリックします。

図 12. トラスト・ストアのファイル名を指定する
トラスト・ストアのファイル名を指定する

トラスト・ストアが正常に作成されると、以下のメッセージが表示されます。

図 13. トラスト・ストアが正常に作成される
トラスト・ストアが正常に作成される

作業を続ける前に、空のトラスト・ストアのコピーを作成しておく必要があります。こうしておくことで、後で空のトラスト・ストアが必要になった際に、再度空のトラスト・ストアを作成する手間を省くことができます。

5. トラスト・ストアを確認し、必ずその中に何も含まれていないようにします。


トラスト・ストアのオープン

「File (ファイル)」 > 「Open Trust Store (トラスト・ストアを開く)」の順にメニュー項目を選択して、新しく作成したトラスト・ストアを検証してみましょう。トラスト・ストア内の X.509 証明書、発行者、有効期限を確認することができます。

「Open Trust Store (トラスト・ストアを開く)」ダイアログが表示されたら、トラスト・ストア・ファイルを選択して「Open (開く)」ボタンをクリックします。

図 14. トラスト・ストアを開く
トラスト・ストアを開く

トラスト・ストアのタイプには「JKS」を選択します。

図 15. トラスト・ストアのタイプを選択する
トラスト・ストアのタイプを選択する

トラスト・ストアのパスワードを入力して「Open (開く)」ボタンをクリックします。

図 16. トラスト・ストアのパスワードを入力する
トラスト・ストアのパスワードを入力する

ツールから、トラスト・ストアに保管されている X.509 証明書がないことが通知されます。

図 17. 証明書がないことが通知される
証明書がないことが通知される

X.509 証明書の情報

「X.509 Certificates (X.509 証明書)」リストに X.509 証明書が 1 つも示されないのは、想定どおりの結果です。

図 18. X.509 証明書
X.509 証明書

証明書が存在していて、その証明書を選択したとすると、この主体者の一般名、組織内単位名、組織名、地域名、州名、国名、ならびに証明書のバージョン、シリアル番号、SHA-1 (セキュア・ハッシュ・アルゴリズム) フィンガープリント、MD5 (メッセージ・ダイジェスト・アルゴリズム) フィンガープリント、有効期限、発行者の X.500 識別名、公開鍵アルゴリズム、フォーマット、鍵のサイズ、署名フォーマット、署名のサイズ、公開鍵、署名などが示されます。


トラスト・ストアの情報

「Trust Store Information (トラスト・ストア情報)」タブを選択することで、プロバイダー名、プロバイダー・バージョン、クラス名、ストアのタイプ、署名アルゴリズム、暗号化アルゴリズム、メッセージ・ダイジェスト・アルゴリズムを確認することができます。

図 19. トラスト・ストア情報
トラスト・ストア情報

鍵ストアと空のトラスト・ストアが用意できたところで、次はサーバーとクライアントを起動して、鍵ストアとトラスト・ストアをテストする作業に移ります。

6. 鍵ストアを使用して SSL サーバーを起動します。


SSL サーバーの起動

「Network (ネットワーク)」メニューには、「Start Client (クライアントの起動)」と「Start Server (サーバーの起動)」というメニュー項目があります。サーバーを起動するには、「Start Server (サーバーの起動)」メニュー項目を選択するか、ショートカットの Ctrl+S を使用します。

図 20. 「Network (ネットワーク)」メニュー
「Network (ネットワーク)」メニュー

入力する必要がある情報は、暗号プロトコル (例えば SSLv3)、暗号化対応ポート番号、鍵管理アルゴリズム、鍵ストアのタイプ、鍵ストアの場所、パスワードなどです。

図 21. サーバーを起動する
サーバーを起動する

クライアント認証を行う場合は、「Client Authentication Enabled (クライアント認証の有効化)」チェック・ボックスを選択して、トラスト管理アルゴリズム、トラスト・ストアのタイプ、トラスト・ストアの場所、パスワードを指定した上で、サーバーを起動する必要があります。

「Start (起動)」ボタンをクリックすると、ツールは指定されたポートを指定されたプロトコルでリッスンします。以下の図には、ツールがポート 443 を SSL プロトコル・バージョン 3 でリッスンしていることが示されています。「Pause (一時停止)」ボタン、「Resume (再開)」ボタンをクリックすると、サーバーを一時停止または再開することができます。

クライアントとの接続が確立されるまでは、リモート・アドレスやポート、暗号スイート、接続時間、そしてセッション ID などの情報は表示されないことに注意してください。

図 22. 起動後のサーバー
起動後のサーバー

SSL クライアントの起動

7. トラスト・ストアを使用して SSL クライアントを起動します。

現在、サーバーは稼働中なので、次は SSL クライアントまたは TLS クライアントを起動するために、「Network (ネットワーク)」 > 「Start Client (クライアントの起動)」の順にメニュー項目を選択します。クライアントを起動するには、暗号プロトコル (例えば SSLv3)、ホスト名、ポート番号、トラスト管理アルゴリズム、トラスト・ストアのタイプ、トラスト・ストアの保管場所、パスワードを入力する必要があります。

クライアント認証を行う場合は、クライアントを起動する前に、「Client Authentication Enabled (クライアント認証の有効化)」チェック・ボックスを選択して、鍵管理アルゴリズム、鍵ストアのタイプ、鍵ストアの場所、パスワードを指定する必要があります。ただし、このテスト・ケースにはクライアント認証を使用しないでください。

図 23. クライアントを起動する
クライアントを起動する

クライアントとサーバーの接続

8. クライアントをサーバーに接続します。

「Start (起動)」ボタンをクリックすると同時に、「SSLHandshakeException : Received fatal alert: certificate_unknown (SSLHandshakeException : 致命的アラートが受信されました: certificate_unknown)」というメッセージが表示されます。これは、トラスト・ストア内に証明書が 1 つも保管されていないためです。「OK」ボタンをクリックして、メッセージに確認応答してください。

図 24. SSL ハンドシェイク例外
SSL ハンドシェイク例外

サーバーを信頼するかどうかを尋ねるメッセージが表示されます。とりあえず今は、「No (いいえ)」ボタンをクリックしてください。

図 25. 信頼するかどうかを尋ねるメッセージ
信頼するかどうかを尋ねるメッセージ

セキュア接続に関する情報は、「Connection (接続)」タブで調べることができます。このタブに表示される情報は、プロトコル、ローカル・アドレス、ローカル・ポート、リモート・アドレス、リモート・ポート、暗号スイート、接続時間、セッション ID、クライアント認証、サポートされるプロトコル、有効にされているプロトコル、サポートされる暗号スイート、有効にされている暗号スイートなどです。

図 26. 接続情報
接続情報

これまでのところ、空のトラスト・ストアでサーバーと接続しようとして、ツールから、サーバーを信頼するための証明書がないことを通知されました。


テスト・ケース 2

このシナリオでは、SSL サーバーから正式な証明書を入手し、その証明書を使用して SSL でサーバーと通信します。最初のステップは以下のとおりです。

1. サーバーの鍵ストアから証明書をエクスポートします。


証明書のエクスポート

keytool による証明書のエクスポート

証明書をエクスポートする手段としては、keytool の export コマンドを使用することができます。

$keytool -export -alias sscert -keystore keystore -rfc –file sscert
Enter keystore password:
Certificate stored in file <sscert>
 
-----BEGIN CERTIFICATE-----
…
CBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxDDAKBgNVBAoTA0lCTTEXMBUGA1UECxMOU29mdHdhcmUg
R3JvdXAxIDAeBgNVBAMTF1NlbGYgU2lnbmVkIENlcnRpZmljYXRlMB4XDTExMDQyMTE0MjAyM1oX
DTExMDcyMDE0MjAyM1owdTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxl
…
-----END CERTIFICATE-----

-export コマンドは、デフォルトで、証明書をバイナリー・エンコード方式でエクスポートします。-rfc オプションを指定すると、インターネット RFC 1421 標準で定義された印字可能なエンコード・フォーマット、別名「Base 64エンコード方式」で証明書がエクスポートされます。

IBM Connection and Configuration Verification Tool for SSL/TLS による証明書のエクスポート

「File (ファイル)」 > 「Open Key Store (鍵ストアを開く)」の順にメニュー項目を選択するか、Ctrl+K キーを押して、鍵ストアを開きます。

図 27. 鍵ストアを開くための「File (ファイル)」メニュー
鍵ストアを開くための「File (ファイル)」メニュー

「keystore」を選択してから、「Open (開く)」ボタンをクリックします。

図 28. 鍵ストアを選択する
鍵ストアを選択する

鍵ストアのタイプを選択し、鍵ストアのパスワードを入力してから、「Open (開く)」ボタンを選択します。

図 29. 鍵ストアのタイプとパスワードを入力する
鍵ストアのタイプとパスワードを入力する

「sscert」鍵とその証明書が表示されます。

図 30. 鍵と証明書を確認する
鍵と証明書を確認する

クリックして大きなイメージを見る

図 30. 鍵と証明書を確認する

鍵と証明書を確認する

例として、Base 64 (インターネット RFC 1421 標準で定義されたエンコード形式) でエンコードしたファイルに証明書をエクスポートします。それには、証明書チェーン・リストの証明書を選択した後、「Certificate Management (証明書管理)」 > 「Export a certificate (証明書のエクスポート)」の順にメニューを選択します。

図 31. 証明書をエクスポートする
証明書をエクスポートする

証明書を格納するファイルの名前を指定し、「OK」ボタンを選択します。

図 32. エクスポート・ファイルの名前を指定する
エクスポート・ファイルの名前を指定する

証明書が正常にエクスポートされると、以下のメッセージが表示されます。

図 33. 証明書のエクスポート完了
証明書のエクスポート完了

これで、インターネット RFC 1421 標準で規定されたエンコード形式によって自己署名証明書がエクスポートされました。エクスポートされた証明書を表示すると、以下のような内容になっているはずです。

-----BEGIN CERTIFICATE-----
…
CBMCTkMxEDAOBgNVBAcTB1JhbGVpZ2gxDDAKBgNVBAoTA0lCTTEXMBUGA1UECxMOU29mdHdhcmUg
R3JvdXAxIDAeBgNVBAMTF1NlbGYgU2lnbmVkIENlcnRpZmljYXRlMB4XDTExMDQyMTE0MjAyM1oX
DTExMDcyMDE0MjAyM1owdTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxl
…
-----END CERTIFICATE-----

証明書のインポート

次は、以下のステップを実行します。

2. 証明書をクライアントのトラスト・ストアにインポートします。

証明書をインポートする前に、必ず空のトラスト・ストアのコピーを作成してください。後で、ツールの主要な機能の 1 つをテストする際に、空のトラスト・ストアが必要になります。

keytool による証明書のインポート

keytool を使用してインポートする場合は、以下の import コマンドを使用することができます。

$keytool -import -alias cert -file sscert -keystore truststore
 
Enter keystore password:
Re-enter new password:
Owner: CN=localhost, OU=Software Group, O=IBM, L=Research Triangle Park, ST=NC, C=US
Issuer: CN= localhost, OU=Software Group, O=IBM, L= Research Triangle Park, ST=NC,C=US
Serial number: 1c69387c
Valid from: Thu Apr 21 10:20:23 EDT 2012 until: Wed Jul 20 10:20:23 EDT 2021
Certificate fingerprints:
         MD5:  CC:72:A9:AF:83:14:C7:43:D4:CB:C5:61:61:E9:55:C2
         SHA1: 53:8A:FF:28:1A:C8:1A:23:91:F6:2F:D5:39:12:90:EB:A9:47:14:2C
         SHA256: 07:51:4A:CD:8B:A1:C5:8A:EC:E9:5D:6E:66:38:6C:89:E0:46:6C
         Signature algorithm name: SHA256withRSA
         Version: 3
 
Extensions:
 
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 58 78 C4 52 8D CB 4D 32   4D AF 71 F5 F7 E1 3A 9F...
0010: DD 44 DE …
]
]
 
Trust this certificate? [no]:  yes
Certificate was added to keystore

IBM Connection and Configuration Verification Tool for SSL/TLS による証明書のインポート

「File (ファイル)」 > 「Open Trust Store (トラスト・ストアを開く)」の順にメニュー項目を選択し、「Certificate Management (証明書管理)」 > 「Import X.509 Certificate (X.509 証明書のインポート)」の順に選択するか、Ctrl+I を押して証明書をインポートします。

図 34. 証明書をインポートする
トラスト・ストアを開いて証明書をインポートする

証明書が正常にインポートされると、以下のメッセージが表示されます。

図 35. 証明書のインポート完了
証明書のインポート完了

次に、以下のステップを実行します。

3. トラスト・ストアに保管されている証明書の情報を確認します。

図 36. 証明書を確認する
トラスト・ストアを開いて証明書を確認する

クリックして大きなイメージを見る

図 36. 証明書を確認する

トラスト・ストアを開いて証明書を確認する

これと同じタスクを実行するには、keytool の list コマンドを使用することもできます。

$keytool -list -v -keystore truststore
Enter keystore password:
 
Keystore type: JKS
Keystore provider: IBM
 
Your keystore contains 1 entry
 
Alias name: cert
Creation date: Apr 21, 2012
Entry type: trustedCertEntry
 
Owner: CN=localhost, OU=Software Group, O=IBM, L=Research Triangle Park, ST=NC, C=US
Issuer: CN= localhost, OU=Software Group, O=IBM, L= Research Triangle Park, ST=NC, C=US
Serial number: 1c69387c
Valid from: Apr 21 10:20:23 EDT 2012 until: Jul 20 10:20:23 EDT 2021
Certificate fingerprints:
         MD5:  CC:72:A9:AF:83:14:C7:43:D4:CB:C5:61:61:E9:55:C2
         SHA1: 53:8A:FF:28:1A:C8:1A:23:91:F6:2F:D5:39:12:90:EB:A9:47:14:2C
         SHA256: B1:E9:5D:6E:66:38:6C:89:E0:46:6C
         Signature algorithm name: SHA256withRSA
         Version: 3
 
Extensions:
 
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 58 78 C4 52 8D CB 4D 32   4D AF 71 F5 F7 E1 3A 9F  Xx.R..M2M.q...:.
0010: DD 44 6D DE                                        .Dm.
]
]

次に、以下のステップを実行します。

4. 鍵ストアを使用して SSL サーバーを起動します。

図 37. サーバーを起動する
「Network (ネットワーク)」メニューからサーバーを起動する

暗号プロトコル (例えば SSLv3)、暗号化に対応するポート番号、鍵管理アルゴリズム、鍵ストアのタイプ、鍵ストアの保管場所、パスワードなどを入力した後、「Start (起動)」ボタンをクリックします。

図 38. 起動後の SSL V3 サーバー
起動後の SSL V3 サーバー

鍵ストアを使用して SSL サーバーが起動されて稼働状態になったら、次のステップを実行します。

5. トラスト・ストアを使用して SSL クライアントを起動します。


SSL クライアントの起動

この時点で、サーバーの鍵ストア内の証明書と同じ証明書が保管されたトラスト・ストアを使用して、クライアントを起動することができます。「Network (ネットワーク)」 > 「Start Client (クライアントの起動)」の順にメニュー項目を選択して、クライアントを起動してください。

図 39. クライアントを起動するための「Network (ネットワーク)」メニュー
クライアントを起動するための「Network (ネットワーク)」メニュー

クライアントを起動するには、暗号プロトコル (例えば SSLv3)、ホスト名、ポート番号、トラスト管理アルゴリズム、トラスト・ストアのタイプ、トラスト・ストアの保管場所とパスワードを入力する必要があります。IBM Java ランタイム環境で鍵ストアのタイプとして選択できるのは、JKS、PKCS12、またはJCEKS です。暗号プロトコルには TLS または SSL を選択することができます。トラスト・ストア管理アルゴリズムの選択肢には、IBMPKIX、IBMX509、X509、および PKIX があります。
証明書をインポートしたトラスト・ストアを選択し、「Start (起動)」ボタンをクリックします。

図 40. SSL V3 クライアントを起動する
SSL V3 クライアントを起動する

今後のテストでクライアント認証を行う場合には、クライアントを起動する前に、「Client Authentication Enabled (クライアント認証の有効化)」チェック・ボックスを選択して、鍵管理アルゴリズム、鍵ストアのタイプ、鍵ストアの場所、パスワードなどを指定してください。

図 41. クライアント認証を有効にして SSL V3 クライアントを起動する
クライアント認証を有効にして SSL V3 クライアントを起動する

ただし今回は、クライアント認証を使用しないでください。「Start (起動)」ボタンをクリックするとすぐに、次のステップが開始されます。

6. クライアントをサーバーに接続します。

おめでとうございます!サーバーの鍵ストアから抽出した証明書によって、SSL サーバーとの接続を確立することができました。

図 42. 接続の確立
接続の確立

証明書をサーバーの鍵ストアから抽出してクライアントのトラスト・ストアにインポートする作業は面倒でした。この作業を、今度はツールを利用して単純化します。


IBM Connection and Configuration Verification Tool for SSL/TLS の自動証明書インポートによるテスト・ケース 2 の単純化

ここでは、空のトラスト・ストアが必要です。用意できていると思いますが、空のトラスト・ストアがないとしたら、「File (ファイル)」 > 「Create Key/Trust Store (鍵/トラスト・ストアの作成)」の順にメニュー項目を選択する手順に戻ることで、いつでも作成することができます。

「Network (ネットワーク)」 > 「Start Client (クライアントの起動)」の順に選択し、プロトコルとトラスト・ストアの情報を入力します。そして「Start (起動)」ボタンをクリックすることで、空の状態のトラスト・ストアを使用してクライアントを起動します。

テスト・ケース 1 と同じく、トラスト・ストア内には証明書が保管されていないため、「Start (起動)」ボタンをクリックすると同時に「SSLHandshakeException : Received fatal alert: certificate_unknown (SSLHandshakeException : 致命的アラートが受信されました: certificate_unknown)」というメッセージが表示されます。

図 43. 証明書が不明であることを通知するメッセージ
証明書が不明であることを通知するメッセージ

このメッセージでは、「OK」ボタンをクリックして構いません。

すると、サーバーを信頼するかどうかを尋ねるメッセージが表示されます。

図 44. 信頼できないサーバーであることを通知するメッセージ
信頼できないサーバーであることを通知するメッセージ

今回は「Yes (はい)」ボタンをクリックして、どうなるかを確かめます。この操作を行うのが不安な場合、あるいは用心したいという場合は、信頼するかどうかを決める前に、「Certificates (証明書)」タブを選択してサーバーの証明書を調べることができます。

図 45. 証明書を確認する
証明書を確認する

サーバーを信頼することを選択すると、ツールが自動的にサーバーから証明書を取得して、その証明書をトラスト・ストアにインポートします。インポートが完了すると、以下のメッセージが表示されます。

図 46. 証明書のインポート完了
証明書のインポート完了

クライアントのトラスト・ストアの内容を確認することで、証明書が実際にインポートされていて、自動テストの完了後に問題なく接続できることを確実にすることができます。そこで、トラスト・ストアを調べるために「File (ファイル)」 > 「Open Trust Store (トラスト・ストアを開く)」の順にメニュー項目を選択してください。この操作によって、トラスト・ストアに保管されている証明書を確認することができます。

図 47. トラスト・ストア内の X.509 証明書
トラスト・ストア内の X.509 証明書

クリックして大きなイメージを見る

図 47. トラスト・ストア内の X.509 証明書

トラスト・ストア内の X.509 証明書

上記の内容は、今後はこのトラスト・ストアで問題なくサーバーに接続できることを意味します。

クライアントを停止して、もう一度「Network (ネットワーク)」 > 「Start Client (クライアントの起動)」の順にメニュー項目を選択し、このトラスト・ストアを使用してクライアントを起動してください。すると、この先、このトラスト・ストアでサーバーとのセキュア接続を確立できることがわかるはずです。

図 48. 接続成功
接続成功

セキュア接続に関する情報は、「Connection (接続)」タブで調べることができます。このタブには、プロトコル、ローカル・アドレス、ローカル・ポート、リモート・アドレス、リモート・ポート、暗号スイート、接続時間、セッション ID、クライアント認証、サポートされるプロトコル、有効にされているプロトコル、サポートされる暗号スイート、有効にされている暗号スイートが表示されます。

図 49. 接続情報
接続情報

その他の機能

ここからは、IBM Connection and Configuration Verification Tool for SSL/TLS が提供するその他の機能を見ていきます。

「View (表示)」メニューには、「Options (オプション)」、「User Interface Profiles (ユーザー・インターフェース・プロファイル)」、「Help Contents Browser (ヘルプ・コンテンツ・ブラウザー)」、「Show Console (コンソールの表示)」、「Clear Console (コンソールのクリア)」メニュー項目があります。

図 50. 「View (表示)」メニュー
「View (表示)」メニュー

デフォルト・オプションの設定

「View (表示)」 > 「Options (オプション)」の順に選択すると、暗号ポート、暗号プロトコル、トラスト・ストアのタイプ、鍵ストアのタイプ、トラスト管理アルゴリズム、鍵管理アルゴリズム、接続タイムアウト (秒) などのデフォルト設定を変更することができます。

図 51. 「Options (オプション)」メニュー
「Options (オプション)」メニュー

ユーザー・インターフェース・プロファイルの設定

ユーザー・インターフェースのエクスペリエンスを変更するには、「View (表示)」 > 「User Interface Profiles (ユーザー・インターフェース・プロファイル)」の順にメニュー項目を選択します。ユーザー・インターフェースのオプションには、「Nimbus (ニンバス)」、「System (システム)」、「Java」があります。

図 52. ユーザー・インターフェース・プロファイル
ユーザー・インターフェース・プロファイル

デフォルトのヘルプ・コンテンツ・ブラウザーの設定

ツールのヘルプ・コンテンツ文書を読むためのブラウザーは、「View (表示)」 > 「Help Contents Browser (ヘルプ・コンテンツ・ブラウザー)」の順にメニュー項目を選択し、システムの Web ブラウザーまたはツールの内部 Web ブラウザーのどちらかを選択することができます。

図 53. デフォルトのヘルプ・コンテンツ・ブラウザーの設定
デフォルトのヘルプ・コンテンツ・ブラウザーの設定

ヘルプ・メニューの使い方

「Help (ヘルプ)」メニューには、「Help Contents (ヘルプ・コンテンツ)」、「About (製品情報)」、「License Agreement (ご使用条件)」といったメニュー項目があります。

図 54. 「Help (ヘルプ)」メニュー
「Help (ヘルプ)」メニュー

ヘルプ・コンテンツ

このツールのヘルプ文書を読むには、「Help (ヘルプ)」 > 「Help Contents (ヘルプ・コンテンツ)」の順に選択します。

図 55. ヘルプ・コンテンツ
ヘルプ・コンテンツ

「About (製品情報)」メニュー

ツールに関する基本情報を読むには、「Help (ヘルプ)」 > 「About (製品情報)」の順にメニュー項目を選択します。

図 56. ツールに関する情報
ツールに関する情報

「License Agreement (ご使用条件)」メニュー

「Help (ヘルプ)」 > 「License Agreement (ご使用条件)」メニュー項目を選択すると、ご使用条件が表示されます。

図 57. ご使用条件の文書
ご使用条件の文書

まとめ

この記事では、暗号学の歴史と、TLS および SSL のハンドシェイク・プロトコルをはじめとするセキュア通信に関する基本情報を説明しました。それに続き、IBM Connection and Configuration Verification Tool for SSL/TLS の基本機能として、SSL/TLS サーバーおよびクライアントを起動する方法、SSL/TLS サーバーの X.509 公開鍵証明書を確認する方法、そして信頼できる本番用 SSL/TLS サーバーから X.509 公開鍵証明書を抽出する方法を説明しました。さらに実際のシナリオを用いて、このツールを使用しました。

IBM Connection and Configuration Verification Tool for SSL/TLS のコピー、またはこのツールに関する詳細情報が必要な場合には、IBM developerWorks にアクセスしてください。リンクは、「参考文献」セクションに記載されています。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=SOA and web services
ArticleID=823684
ArticleTitle=SSL (Secure Sockets Layer) と TLS (Transport Layer Security)
publish-date=07052012