この例は、サーバー鍵ストアおよびサーバー・ルート証明書を作成して Rational® DOORS® で使用する方法、および Microsoft 証明書ストア (MCS) を設定してサーバー証明書を検証する方法を示します。 サンプル・ファイルの後には、コマンドおよびパラメーターの明細が示されています。
ファイルの例
REM サーバー鍵ストア・ファイルの作成
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
REM server.kdb でのサーバー・ルート証明書の作成、および MCS への追加
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
REM サーバー証明書の作成および署名
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
REM MCS からルート証明書を抽出し、サーバー kdb ファイルに追加する
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
サーバー鍵ストアファイルの作成
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
- gsk8capicmd -keydb -create
- gsk8capicmd コマンドは、鍵データベース内の鍵、証明書、および証明書要求を管理するためのツールです。 gsk8capicmd の構文は次のとおりです。gsk8capicmd modifiers object action options。
この例で、-keydb は鍵データベースの object、-create は行う action、-db は option です。 このコマンドは、鍵データベースを作成します。
- -db server.kdb -pw ser123
- 鍵データベースは、server.kdb という名前で、パスワード付きです (-pwd)。 この例では、パスワードは ser123 です。
- -stash
- 作成後に、鍵データベースのパスワードを隠しておきます。 stash ファイルは、パスワードを自動的に提供する方法として使用されます。 鍵データベースにアクセスする際、システムはまず、stash ファイルが存在するかどうかチェックします。 存在する場合、このファイルの内容が復号され、パスワードの入力として使用されます。 作成アクション中に -stash タグが指定された場合、パスワードは、次のような名前のファイルに隠しておかれます。key_database_name.sth。
鍵ストア内でのルート証明書の作成、および MCS への追加
ルート証明書は、サーバー証明書を作成するために使用されます。 ルート証明書は MCS 内にあるので、Rational DOORS クライアントは、MCS を使用してサーバー証明書を検証できます。
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
- -cert -create
- これは create certificate コマンドです (-create アクションおよび -cert オブジェクト)。
- -label "IBMEDCA1"
- ラベルが証明書に付加されます。 この例では、名前は "IBMEDCA1" です。 ラベルは、ユーザーが証明書を一意に識別するため使用されます。
- -dn "CN=IBMEDCA1"
- -dn 識別名は、証明書を一意に識別します。 ここでの入力は、以下の形式を引用符で囲んだストリングにする必要があります (CN のみが必須です)
- CN=共通名
- O=組織
- OU=組織単位
- L=ロケーション
- ST=都道府県
- C=国
- DC=ドメイン・コンポーネント
- EMAIL=E メール・アドレス
この例では、識別名は "CN=IBMEDCA1" です。
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
- -cert -extract -label "IBMEDCA1"
- これは extract certificate コマンドです (-extract アクションおよび -cert オブジェクト)。 このコマンドは、指定された証明書データ (-label"IBMEDCA1") を鍵データベースから抽出し、ファイルに配置します。
- -target temp1.arm
- 証明書の抽出先となるファイル。
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
- -cert -add -db GSK_MS_CERTIFICATE_STORE
- これは add certificate コマンドです (-add アクションおよび -cert オブジェクト)。 このコマンドは、抽出された証明書 (-label"IBMEDCA1" -file temp1.arm) を MCS (-db GSK_MS_CERTIFICATE_STORE) に追加します。
ルート証明書で署名されたサーバー証明書の作成
サーバー証明書は、鍵ストアに格納されています。
この例では、識別名は、
IBMEDSERV という名前のコンピューター上で動作するサーバー用に書き込まれます。
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
- -certreq -create
- これは create certificate request コマンドです (-create アクションおよび -certreq オブジェクト)。
- -label IBMSV1
- ラベルが証明書に付加されます。 この例では、名前は IBMSV1 です。 ラベルは、ユーザーが証明書を一意に識別するため使用されます。IBMSV1 は、サーバー始動時に名前が指定されていない場合に、Rational DOORS サーバーによって使用されるデフォルトの証明書名です。
- -dn "CN=IBMEDSERV,dc=ukednode1"
- -dn 識別名は、証明書を一意に識別します。 この例では、識別名は "CN=IBMEDSERV,dc=ukednode1" です。
注: 識別名の IBMEDSERV の部分は、サーバーの名前、またはサーバー始動時に -serverhostname を使用する場合にこのオプションで使用する値のいずれかでなければなりません。
- -file temp2.arm
- 証明書要求の作成プロセス中に証明書要求が抽出されるファイル名。
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
- -cert -sign
- これは sign certificate コマンドです (-sign アクションおよび -cert オブジェクト)。 このコマンドにより、鍵データベース内に格納されている既存の証明書による証明書要求の署名が可能になります。 このコマンドは、指定されたファイル形式の証明書要求、および署名プロセス中に使用される秘密鍵を含む証明書の詳細を受け入れます。
- -file temp2.arm
- 署名される証明書要求の名前および場所。
- -target temp3.arm
- 署名済みの証明が格納されるファイルの名前。
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
- -cert -receive
- これは receive certificate コマンドです (-receive アクションおよび -cert オブジェクト)。 このコマンドは、証明書要求に署名するよう要求された証明書を格納します。 受け取る証明書のファイル名。
- -file temp3.arm
- 受け取る証明書のファイル名。
MCS からの証明書のルート証明書のコピー、およびサーバー鍵ストアへの追加
例の中のこの部分により、サーバーは証明書を検証できます。
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
- -cert -extract -db GSK_MS_CERTIFICATE_STORE -label -"CN=Coy
Root" target temp4.arm
- これは extract certificate コマンドです (-extract アクションおよび -cert オブジェクト)。 このコマンドは、指定された証明書データ (-label"CN=Coy Root") を MCS データベース (-db GSK_MS_CERTIFICATE_STORE) から抽出し、ファイル (temp4.arm) に配置します。
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
- -cert -add -label "CN=Coy Root" -file temp4.arm
- これは add certificate コマンドです (-add アクションおよび -cert オブジェクト)。 このコマンドは、指定された鍵ストアに証明書を追加します。
注: これらのコマンドでは、ルート証明書の名前は CN=Coy Root です。 使用するルート証明書は、これより長い名前となります。 また、複数のルート証明書を組織が使用する場合、各ルート証明書を個々に抽出して追加する必要があります。 例えば、あるルート証明書が、500 人のユーザーによって使用されるカードに適用され、別のルート証明書が、残りの 2000 人のユーザーに適用される場合があります。 この場合、これらのルート証明書 server.kdb の両方を追加する必要があります。