セキュア・ネットワーク通信を持つには、 セキュア・ネットワーク通信の鍵を作成し、 サーバー上にトラステッド CA として指定された認証局 (CA) から認証を受け取ります。 キー・データベース、公開鍵と秘密鍵のペア、および認証要求を作成するには、IKEYMAN を使用します。 独自の CA として活動している場合には、IKEYMAN を使用して、自己署名付き証明書を作成することができます。 私設 Web ネットワークに対する独自の CA として活動している場合には、サーバーの CA ユーティリティーを使用し、私用ネットワーク内のクライアントおよびサーバーに対して署名付き証明書を生成し、発行するオプションがあります。
公開鍵と秘密鍵の作成および管理と関連した構成タスクに IKEYMAN を使用します。 IKEYMAN は、サーバー構成ファイル httpd.conf を更新する構成オプションには使用できません。 サーバー構成ファイルを更新するオプションの場合には、IBM 管理サービスを使用する必要があります。
Linux for S/390 ユーザー: IKEYCMD コマンド行インターフェースを使用して、 IKEYMAN を同じような機能を実行します。 IKEYCMD に関する詳細情報に ついては、IKEYCMD コマンド行インターフェースの使用 を参照してください。
この付録では、IBM 鍵管理ユーティリティー (IKEYMAN) を使って、 実行できるタスクについての詳しい情報を提供します。 この情報は、サーバー構成ファイルの更新が必要な セキュリティー・オプションの構成方法については説明していません。
IKEYMAN GUI は Java ベースなので実行するのに JDK または JRE が必要です。 IKEYMAN サポートのために少なくとも以下の JDK レベルが必要です :
Windows および Solaris では、SSL コンポーネントの一部としてインストールされた GSKit ライブラリーは JRE を含みます。 これらのプラットフォームには、追加の環境セットアップは必要ありません。 AIX、HP、または Linux で実行する場合または、Solaris 上の別の JDK を使用するには、 以下のガイドラインを使ってシステム環境を設定してください。
EXPORT JAVA_HOME=JDK のホーム・ディレクトリーの全パス名
EXPORT PATH = <JDK のホーム・ディレクトリーの全パス名> /jre/sh:<JDK のホーム・ディレクトリーの全パス名>/sh:$PATH
EXPORT PATH=$IKEYMAN_HOME/bin:$PATH
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報については IKEYCMD コマンド行インターフェースの使用 を参照してください。 Linux for S/390 で IKEYMAN を実行するには、 IKEYCMD コマンド行インターフェースを使用するために環境変数を以下のようにセットアップします:
EXPORT PATH=/opt/IBMJava/bin:$PATH
EXPORT CLASSPATH=/usr/local/ibm/gsk/classes/cfwk.zip:/usr/local/ibm/ gsk/classes/gsk4cls.jar:$CLASSPATH
完了後、IKEYCMD はどのディレクトリーからも実行するはずです。IKEYCMD コマンドを実行するには、 次の構文を使用してください。
java com.ibm.gsk.ikeyman.ikeycmd <コマンド>注: JRE を使用しているか、JDK を使用しているかによって Java を JRE で置き換えることができます。 たとえば:
jre com.ibm.gsk.ikeyman.ikeycmd <コマンド>
それぞれの IKEYCMD (データベースの作成以外) は、 キー・データベースおよびキー・データベースのパスワードを指定する必要があります。 データベースはそれぞれのコマンドでオープンされるため、 これは必要なアクションです。 IKEYCMD に関する詳細情報に ついては、IKEYCMD コマンド行インターフェースの使用 を参照してください。
以下のセクションでは、IKEYMAN または IKEYCMD コマンド行インターフェースを始め、使用する方法を説明しています。
IKEYMAN グラフィカル・ユーザー・インターフェースを始動するには、次のようにしてください。
注: 新しいキー・データベース・ファイルを作成するために IKEYMAN を始動する場合は、 このファイルは IKEYMAN を始動したディレクトリーに保管されます。
セキュア・ネットワーク通信を持つには、 セキュア・ネットワーク通信の鍵を作成し、 サーバー上にトラステッド CA として指定された認証局 (CA) から認証を受け取ります。 キー・データベース・ファイル、公開鍵と秘密鍵のペア、 および認証要求を作成するには IKEYMAN (または Linux for S/390 上の IKEYCMD) を使用します。 CA 署名付き証明書を受け取ったあと、 IKEYMAN (または Linux for S/390 上の IKEYCMD) を使ってオリジナルの認証要求を作成したキー・データベースに認証を受け取ります。
このセクションでは IKEYMAN および IKEYCMD タスクおよび共通タスクの説明を提供します。
IKEYMAN ユーザー・インターフェースおよび IKEYCMD
コマンド行インターフェース・タスクは次の表にまとめられています。
IKEYMAN および IKEYCMD タスク | 指示については、次へ移動: |
---|---|
新しいキー・データベースを作成して、そのデータベースのパスワードを指定する |
|
新しい鍵のペアと認証要求を作成する |
|
自己署名付き証明書を作成する |
|
鍵を別のデータベースまたは PKCS12 ファイルにエクスポートする |
|
別のデータベースまたは PKCS12 ファイルから鍵をインポートする |
|
認証局 (CA) と認証要求をリストする |
|
キー・データベースをオープンする |
|
CA 署名付き証明書をキー・データベースに受け取る |
|
キー・データベースのデフォルト鍵を表示する |
|
CA のルート証明書を保管する |
|
暗号化されたデータベース・パスワードを stash ファイルに保管する |
|
キー・データベースとは、 サーバーが 1 つまたは複数の鍵のペアと証明書を保管するために使用するファイルのことです。 すべての鍵のペアと認証に対して1つのキー・データベースを使うこともできれば、 複数のデータベースを作成することもできます。
新しいキー・データベースを作成するには、次のようにしてください。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報については IKEYCMD コマンド行インターフェースの使用 を参照してください。 各キー・データベース操作には、パスワードが必要です。 データベースのタイプ sslight は、指定されたパスワードが必要ですが、 パスワードは NULL ストリングも使用できます。("" として指定)。 IKEYCMD コマンド行インターフェースを使用して新規キー・データベースを作成するには、 次のコマンドを入力してください。
java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <ファイル名>.kdb -pw <パスワード> -type cms -expire <日数> -stash
キー・データベース作成時に -stash オプションが指定された場合、 以下のファイル名で作成されたファイル内に stash されます。
<キー・データベースのファイル名>.sthたおえば、作成されたデータベース名が keydb.kdb である場合、 stash ファイル名は keydb.sth です。
新しいキー・データベースを作成した場合は、キー・データベース・パスワードを指定します。 このパスワードは、秘密鍵を保護します。 秘密鍵は、ドキュメントに署名したり、公開鍵で暗号化されたメッセージを復号することのできる唯一の鍵です。 キー・データベースのパスワードを頻繁に変更するのはよい習慣です。
パスワードを指定する場合、次のガイドラインを使用してください。
注: | パスワードの有効期限を覚えておいてください。 パスワードが失効すると、エラー・ログにメッセージが書き込まれます。 サーバーは始動されますが、 パスワードが期限切れになっている場合はセキュア・ネットワーク接続が使用できません。 |
データベースのパスワードを変更するには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報に ついては、IKEYCMD コマンド行インターフェースの使用 を参照してください。 データベースのパスワードを変更するには、以下を入力します:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -changepw -db <ファイル名> .kdb -pw <パスワード> -new_pw <新規パスワード> -expire <日数> -stash
デフォルトのキー・データベースの初期構成設定は key.kdb です。 デフォルトのキー・データベース名として key.kdb を使用している場合は、 サーバーにデータベースを登録する必要はありません。 サーバーは、構成ファイルの中の KeyFile ディレクティブの初期設定を使用します。 デフォルトのキー・データベース名として key.kdb を使用していなかったり、 追加のキー・データベースを作成した場合は、これらのデータベースを登録しなければなりません。
鍵のペアと認証要求はキー・データベースの中に保管されます。 公開鍵と秘密鍵のペア、および認証要求を作成するには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 公開鍵と秘密鍵のペア、および認証要求を作成するには、次のようにします。
java com.ibm.gsk.ikeyman.ikeycmd -certreq -create -db <データベース名>.kdb -pw <パスワード> -size <1024 | 512> -dn<識別名> -file <ファイル名> -label <ラベル>オプション:
"CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"
java com.ibm.gsk.ikeyman.ikeycmd -certreq -list -db <ファイル名> -pw <パスワード>今、作成したラベルのリストを見ることができます。
予約済みの CA から証明書を取得するには通常、2 - 3 週間を要します。 発行された証明書を待つ間 IKEYMAN を使って、 クライアントとサーバー間の SSL セッションを可能にする自己署名付き証明書を作成することができます。 私設 Web ネットワークで、そのネットワーク内の CA として活動している場合に、この手順を使用します。
自己署名付き証明書を作成するには、次のようにします。
Linux for S/390 ユーザー:
IKEYCMD に関する詳細情報について
IKEYCMD コマンド行インターフェースの使用 を参照してください。 自己署名付き証明書を作成するには、次のようにします。
以下のコマンドを入力してください:
java com.ibm.gsk.ikeyman.ikeycmd -cert -create -db <db_name>.kdb -pw <パスワード> -size <1024 | 512> -dn<識別名> -label <ラベル> -default_cert <yes または no>オプション:
"CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。
キー・データベースの中のトラステッド認証局 (CA) のリストを表示するには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 キー・データベースの中のトラステッド CA のリストを表示するには、次のようにします。
java com.ibm.gsk.ikeyman.ikeycmd -cert -list CA -db <dbname>.kdb -pw <パスワード> -type cms
既存のキー・データベースをオープンするには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 キー・データベースの明示的なオープンはありません。 それぞれのコマンドごとにデータベースおよびパスワード・オプションは指定され、 これらの指定により、キー・データベースで操作するために必要な情報を与えます。
この手順を使用して、ご使用のサーバーのトラステッド CA として指定された、 認証局 (CA) から電子メールで送信された証明書を受信します。 デフォルトでは、次の CA 証明書がキー・データベースに保管され、トラステッド CA 証明書としてマークされます。
認証局は複数の証明書を送ることがあります。 ご使用のサーバーの証明書に加え、CA は追加の署名付き証明書や中間 CA 証明書も送ってくることがあります。 たとえば、Verisign がグローバル・サーバー ID 証明書を送るときには、中間 CA 証明書が含まれています。 サーバー証明書を受け取る前に、追加の中間 CA 証明書があれば受け取る必要があります。 CA の証明書の保管 の指示にしたがって、中間 CA 証明書を受け取ってください。
注:CA 署名の証明書を発行する CA がキー・データベースの中でトラステッド CA となっていない場合は、まず最初にその CA の証明書を保管して、 その CA をトラステッド CA に指名する必要があります。そのあとで、CA 署名付き証明書をデータベースに受け取ることができます。 トラステッド CA でない CA から CA 署名付き証明書を受け取ることはできません。 詳しいやり方については、CA の証明書の保管 を参照してください。
CA 署名付き証明書をキー・データベースに受け取るには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 CA 署名付き証明書をキー・データベースに受け取るには、次のコマンドを入力します。
java com.ibm.gsk.ikeyman.ikeycmd -cert -receive -file <ファイル名> -db <db_name> .kdb -pw <パスワード> -format <ascii | binary> -default_cert <yes | no>
デフォルト鍵エントリーを表示するには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 デフォルト鍵エントリーを表示するには、次のようにします。
java com.ibm.gsk.ikeyman.ikeycmd -cert -getdefault -db <dbname>.kdb -pw <パスワード>
トラステッド CA でない CA からの証明書を保管するには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 トラステッド CA でない CA からの証明書を保管するには、次のようにします。
java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db <ファイル名>.kdb -pw <パスワード> -label <ラベル> -format <ascii | binary> -trust <enable |disable> -file <ファイル>オプション:
セキュア・ネットワーク接続を実現するには、 stash ファイルに暗号化されたデータベース・パスワードを保管します。
データベースが作成されている間にパスワードを保管するには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 データベースが作成されている間にパスワードを保管するには、次のようにします。
java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <path_to_db>/<db_name>.kdb -pw <パスワード> -type cms -expire <日数> -stash
データベースが作成されたあとにパスワードを保管するには、次のようにします。
Linux for S/390 ユーザー: IKEYCMD に関する詳細情報について IKEYCMD コマンド行インターフェースの使用 を参照してください。 データベースが作成されたあとにパスワードを保管するには、次のようにします。
java com.ibm.gsk.ikeyman.ikeycmd -keydb -stashpw -db <データベース名>.kdb -pw <パスワード>
Linux for S/390 上で、IKEYCMD、IKEYCMD の Java コマンド行インターフェースは、 鍵の作成および管理、証明書および認証要求を提供します。 独自の CA として活動している場合には、IKEYCMD を使用して、 自己署名付き証明書を作成することができます。 私設 Web ネットワークに対する独自の CA として活動している場合には、サーバーの CA ユーティリティーを使用し、 私用ネットワーク内のクライアントおよびサーバーに対して署名付き証明書を生成し、発行するオプションがあります。
公開鍵と秘密鍵の作成および管理と関連した構成タスクに IKEYCMD を使用します。 IKEYCMD は、サーバー構成ファイル httpd.conf を更新する構成オプションには使用できません。 サーバー構成ファイルを更新するオプションの場合には、IBM 管理サービスを使用する必要があります。
IKEYCMD は、Java および固有コマンド行呼び出しを使用し、IKEYMAN はタスク・スクリプトを使用可能にします。
Java CLI の構文:
java [-Dikeycmd.properties=<プロパティー・ファイル>] com.ibm.gsk.ikeyman.ikeycmd <オブジェクト> <アクション> [オプション]
オプション:
-Dikeycmd.properties |
|
オブジェクト が以下のいずれかです:
-keydb |
|
-cert |
|
-certreq |
|
-help |
|
-version |
|
アクション は、オブジェクトに対して取られる特定のアクションで、オプション は、 オブジェクトおよびアクションのペアに対して指定される必須および、任意指定のオプションです。
注: オブジェクト および アクション キーワードは、 位置が決っていて、選択された順序で指定する必要があります。 しかし、オプションの位置は決っておらず、オプションおよびオペランドのペアで指定され、 どの順序で指定しても構いません。
以下の表は、指定された オブジェクト に実行する、それぞれの アクション を説明します。
オブジェクト | アクション | 説明 |
---|---|---|
-keydb | -changepw | キー・データベースのパスワードを変更します
|
-convert | キー・データベースのフォーマットを変換します
| |
-create | キー・データベースを作成します
| |
-delete | キー・データベースを削除します
| |
-stashpw | キー・データベースのパスワードをファイル内に stash します
| |
-cert | -add | ファイルから CA 証明書をキー・データベースに追加します
|
-create | 自己署名付き証明書を作成します
| |
-delete | CA 証明書を削除します
| |
-details | 特定の証明書のための詳細情報をリストします
| |
-export | パーソナル証明書および関連する
秘密鍵を PKCS#12 ファイルまたは他のキー・データベースにエクスポートします
| |
-extract | キー・データベースから証明書を抽出します
| |
-getdefault | デフォルト・パーソナル証明書を取得します
| |
-import | 証明書からキー・データベースまたは PKCS#12 ファイルをインポートします
| |
-list | すべての証明書をリストします
| |
-modify | 証明書を修正します (注: 現在、修正できるフィールドは
「証明書トラスト」フィールドのみです。)
| |
-receive | ファイルからキー・データベースに証明書を受信します
| |
-setdefault | デフォルト・パーソナル証明書を設定します
| |
-sign | ファイルに保管された証明書と
キー・データベースに保管された証明書に署名し、署名された証明書をファイルに保管します
| |
-certreq | -create | 認証要求を作成します
|
-delete | 認証要求データベースから認証要求を削除します
| |
-details | 特定の認証要求の詳細情報をリストします
| |
-extract | 認証要求データベースから認証要求をファイルに抽出します
| |
-list | 認証要求データベースのすべての認証要求をリストします
| |
-recreate | 認証要求を再作成します
| |
-help | IKEYCMD コマンドのヘルプ情報を表示します
| |
-version | IKEYCMD バージョン情報を表示します
|
以下の表は、コマンド行で使用できる各オプションを表示します。オプションは、 完全なグループとしてリストされます。 しかし、これらの使用法はコマンド行上の オブジェクト および アクション に依存します。
オプション | 説明 |
---|---|
-db | キー・データベースの完全修飾パス名。
|
-default_cert | クライアント認証のためのデフォルト証明書
として使用される証明書を設定します。
デフォルトは no です。
|
-dn | X.500 識別名。以下の書式を引用符付きストリングで入力します。
(CN、O、および C のみが必須です):
"CN=Jane Doe,O=IBM,OU=Java Development,L=Endicott, ST=NY,ZIP=13760,C=country" |
-encryption | 証明書エクスポート・コマンドで使用される暗号化の強度
(strong または weak)。
デフォルトは strong です。
|
-expire | 証明書またはデータベース・パスワードの有効期限
(日数)。 デフォルトは: 証明書には 365 日、データベース・パスワードには 60 日。
|
-file | 証明書または認証書要求のファイル名
(指定された オブジェクト に依存します)。
|
-format | 証明書の形式 (Base64_encoded ASCII には ASCII
またはバイナリー DER データには binary)。 デフォルトは ASCII です。
|
-label | 証明書または認証要求に添付するラベル。
|
-new_format | キー・データベースの新規フォーマット。
|
-new_pw | 新規データベース・パスワード。
|
-old_format | キー・データベースの古い形式。
|
-pw | キー・データベースまたは PKCS#12 ファイルのパスワード。
新規キー・データベースの作成 を参照してください。
|
-size | キー・サイズ (512 または 1024)。 デフォルトは 1024 です。
|
-stash | キー・データベースのパスワードをファイルに stash することを示します。
指定されている場合、パスワードはファイル内に stash されます。
|
-target | 宛先ファイルまたはデータベース
|
-target_pw | -target がキー・データベースを
指定する場合のキー・データベースのパスワード。 新規キー・データベースの作成 を参照してください。
|
-target_type | -target オペランドで指定されたデータベースのタイプ
(-type を参照)。
|
-trust | CA 証明書のトラスト状況 (enable または disable)。
デフォルトは enable です。
|
-type | データベースのタイプ。使用できる値は、cms
(CMS キー・データベースを示す)、webdb (keyring を示す)、sslight (SSLight .class を示す)、または
pkcs12 (PKCS#12 ファイルを示す) です。
|
-x509version | 作成する X.509 証明書のバージョン (1、2 または 3)。
デフォルトは 3 です。
|
以下は、各コマンド行呼び出しのリストで、オプション・パラメーターが イタリック で指定されています。
注: 簡略化のため、実際の Java 呼び出し java com.ibm.gsk.ikeyman,iKeycmd は、各コマンド呼び出しから省略されています。
-keydb -changepw -db <ファイル名> -pw <パスワード> -new_pw <新規パスワード> -stash -expire <日数> -keydb -convert -db <ファイル名> -pw <パスワード> -old_format <cms | webdb> -new_format <cms> -keydb -create -db <ファイル名> -pw <パスワード> -type <cms | sslight> -expire <日数> -stash -keydb -delete -db <ファイル名> -pw <パスワード> -keydb -stashpw -db <ファイル名> -pw <パスワード>
-cert -add -db <ファイル名> -pw <パスワード> -label <ラベル> -file <ファイル名> -format <ascii | binary> -trust <enable | disable> -cert -create -db <ファイル名> -pw <パスワード> -label <ラベル> -dn <識別名> -size <1024 | 512> -x509version <3 | 1 | 2> -default_cert <no | yes> -cert -delete -db <ファイル名> -pw <パスワード> -label <ラベル> -cert -details -db <ファイル名> -pw <パスワード> -label <ラベル> -cert -export -db <ファイル名> -pw <パスワード> -label <ラベル> -type <cms | sslight> -target <ファイル名> -target_pw <パスワード> -target_type <cms | sslight | pkcs12> -encryption <strong | weak> -cert -extract -db <ファイル名> -pw <パスワード> -label <ラベル> -target <ファイル名> -format <ascii | binary> -cert -getdefault -db <ファイル名> -pw <パスワード> -cert -import -db <ファイル名> -pw <パスワード> -label <ラベル> -type <cms | sslight> -target <ファイル名> -target_pw <パスワード> -target_type <cms | sslight> -cert -import -file <ファイル名> -type <pkcs12> -target <ファイル名> -target_pw <パスワード> -target_type <cms | sslight> -cert -list <all | personal | CA | site> -db <ファイル名> -pw <パスワード> -type <cms | sslight> -cert -modify -db <ファイル名> -pw <パスワード> -label <ラベル> -trust <enable | disable> -cert -receive -file <ファイル名> -db <ファイル名> -pw <パスワード> -format <ascii | binary> -default _cert <no | yes> -cert -setdefault -db <ファイル名> -pw <パスワード> -label <ラベル> -cert -sign -file <ファイル名> -db <ファイル名> -pw <パスワード> -label <ラベル> -target <ファイル名> -format <ascii | binary> -expire <日数>
-certreq -create -db <ファイル名> -pw <パスワード> -label <ラベル> -dn <識別名> -size <1024 | 512> -file <ファイル名> -certreq -delete -db <ファイル名> -pw <パスワード> -label <ラベル> -certreq -details -db <ファイル名> -pw <パスワード> -label <ラベル> -certreq -extract -db <ファイル名> -pw <パスワード> -label <ラベル> -target <ファイル名> -certreq -list -db <ファイル名> -pw <パスワード> -certreq -recreate -db <ファイル名> -pw <パスワード> -label <ラベル> -target <ファイル名>
-help
-version
Java CLI 呼び出しで、いくつかの入力を省くために、 プロパティー・ファイル内でユーザー・プロパティーを指定することができます。 プロパティー・ファイルは、-Dikeycmd.properties Java オプションを使用して Java コマンド行呼び出し上で指定することができます。 サンプル・プロパティー・ファイル ikeycmd.properties は、 Java アプリケーションで、そのアプリケーションのデフォルト設定を修正するための サンプルとして提供されています。