此示例文件向您说明如何创建服务器密钥库和服务器根证书以与 Rational® DOORS® 配合使用,以及如何设置 Microsoft 证书库 (MCS) 以验证服务器证书。示例文件后跟命令和参数的细分。
示例文件
REM Create a server keystore file
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
REM Create a server root certificate in server.kdb, and add it to the 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 Create and sign a server certificate
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 Extract the root certificate from the MCS and add it to the server kdb file
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修饰符 对象 操作 选项。
在此示例中,-keydb 是数据库对象,-create 是要采取的操作,-db 是选项。此命令将创建一个密钥数据库。
- -db server.kdb -pw ser123
- 密钥数据库名为 server.kdb,密码为 (-pwd)。在此示例中,密码为 ser123。
- -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 表示电子邮件地址
在此示例中,专有名称为 "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。标签用于按照用户来唯一标识证书。如果未指定名称,那么在 Rational DOORS 服务器启动时,其使用的缺省证书名称为 IBMSV1。
- -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 对象)。此命令从 MCS 数据库 (-db GSK_MS_CERTIFICATE_STORE) 中抽取指定证书数据 (-label"CN=Coy Root") 并将其放入到文件 (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。