IBM HTTP Server 帮助:使用密钥管理实用程序 (IKEYMAN)

使用密钥管理实用程序 (IKEYMAN)

开始之前

要有一个安全的网络连接,创建安全网络通信的密钥,并接收认证中心 CA(服务器上指定为可信 CA)的证书。使用 IKEYMAN 创建密钥数据库、公用-专用密钥对和证书请求。如果您作为您自己的 CA,则可使用 IKEYMAN 创建自签名的证书。如果您作为自己的专用 Web 网络的 CA,则可以选择使用服务器 CA 实用程序,为您的专用网络中的客户机和服务器生成并发出签署的证书。

使用 IKEYMAN 进行与公用-专用密钥创建和管理相关的配置任务。您不能使用 IKEYMAN 进行涉及更新服务器配置文件 httpd.conf 的配置选项。对于更新服务器配置文件的选项,您必须使用 IBM Administration Server。

对于 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,请遵循下列准则设置您的系统环境:

Linux for S/390 用户: 请参阅使用 IKEYCMD 命令行用户以获得关于 IKEYCMD 的更详细的信息。 要在 Linux for S/390 上运行 IKEYMAN,按如下所示设置环境变量以使用 IKEYCMD 命令行接口:

  1. 设置 PATH 到 Java 或 JRE 可执行文件所在处:
    	  EXPORT PATH=/opt/IBMJava/bin:$PATH
    
  2. 设置下列 CLASSPATH 环境变量:
    	  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 <command>
注:根据您正在使用 JRE 还是 JDK,可以用 JRE 替换 Java。示例:
jre com.ibm.gsk.ikeyman.ikeycmd <command>

每个 IKEYCMD(除了创建数据库)要求指定密钥数据库和该密钥数据库的口令。这是一个必需的操作,因为,每条命令执行时数据库都是打开的。 请参阅使用 IKEYCMD 命令行接口,以获得关于 IKEYCMD 的更多的详细信息。

使用 IKEYMAN 图形用户界面

以下部分描述如何入门并使用 IKEYMAN 或 IKEYCMD 命令行接口。

启动 IKEYMAN

要启动 IKEYMAN 图形用户界面:

注:如果正在启动 IKEYMAN 以新建密钥数据库,则该文件将存储在启动 IKEYMAN 的目录中。

使用 IKEYMAN 或 IKEYCMD 命令行接口

要有一个安全的网络连接,创建安全网络通信的密钥,并接收认证中心 (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 签署的证书至密钥数据库
“接收 CA 签署的证书”

显示密钥数据库中的缺省密钥
“显示密钥数据库中的缺省密钥”

存储 CA 的根证书
“存储 CA 证书”

在存储文件中储存加密的数据库口令
“在存储文件中储存加密的数据库口令”

新建密钥数据库

密钥数据库是服务器用于存储一个或多个密钥对和证书的文件。您可以为所有密钥对和证书使用一个密钥数据库或创建多个数据库。

要新建密钥数据库:

  1. 在 UNIX 的命令行中输入 ikeyman,或在 Windows NT 上启动 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 从主用户界面中,选择“密钥数据库文件”,然后选择“新建”。
  3. 在“新建”对话框中,输入您的密钥数据库名,或单击 key.kdb(如果您使用缺省值)。单击“确定”。
  4. 在“口令提示“对话框中,输入正确口令,然后输入确认口令。单击“确定”。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口以获得关于 IKEYCMD 的更详细的信息。每个密钥数据库操作必需一个口令。即使该类型 sslight 的数据库需要特定的口令,该口令也可以是 NULL 字符串(指定为"")。 要使用 IKEYCMD 命令行接口新建密钥数据库,输入以下命令:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <文件名>.kdb -pw <口令>
 -type cms -expire <天数> -stash

其中:
-type:IBM HTTP Server 仅处理 cms 密钥数据库。
-expire:口令到期前的天数。
-stash:存储密钥数据库的口令。存储口令对于 IBM HTTP Server 是必需的。

在创建密钥数据库期间指定 -stash 选项时,口令存储在带有文件名构建的文件中,如下所示:

	   <密钥数据库文件名>.sth
例如,如果正在创建的数据库命名为 keydb.kdb,则存储文件名是 keydb.sth

设置数据库口令

当您新建一个密钥数据库时,指定密钥数据库口令。该口令保护专用密钥。专用密钥是可用来签署文档,或对用公用密钥加密消息进行解密的唯一密钥。经常更改密钥数据库口令是一个好方法。

在指定口令时,请使用下列准则:

注: 留意口令的到期日期。 如果口令到期,则在出错日志中写入一条消息。如果口令已到期,服务器能启动,但将没有安全的网络连接。

更改数据库口令

更改数据库口令:

  1. 在命令行中输入 ikeyman
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“打开”对话框中,输入您的密钥数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令并单击“确定”。
  5. 在主用户界面中,选择“密钥数据库文件”,然后选择“更改口令”。
  6. 在“更改口令”对话框中,输入新口令和新的确认口令。单击“确定”。

对于 Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口以获得 IKEYCMD 的更多详细信息。要更改数据库口令,输入:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -changepw -db <文件名> .kdb -pw <口令> -new_pw
<新口令> -expire <天数> -stash

其中:
-new_pw:新的密钥数据库口令;该口令必须与旧口令不同
-expire:口令到期前的天数。
-stash:存储密钥数据库的口令。存储口令对于 IBM HTTP Server 是必需的。

向服务器注册密钥数据库

缺省密钥数据库名的初始配置设置是 key.kdb。如果您使用 key.kdb 作为缺省密钥数据库名,则不需要向服务器注册数据库。服务器将使用配置文件中 KeyFile 伪指令的初始设置。如果您不使用 key.kdb 作为缺省的密钥数据库名,或者如果您创建其它的密钥数据库,则必须注册这些数据库。

新建密钥对和证书请求

密钥对和证书请求存储在密钥数据库中。要创建公用-专用密钥对和证书请求,操作如下:

  1. 如果您未创建密钥数据库,请参阅新建密钥数据库以获得指导。
  2. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  3. 从主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  4. 在“打开”对话框中,输入密钥数据库名或单击 key.kdb(如果使用缺省值)。单击“确定”。
  5. 在“口令提示”对话框中,输入正确的口令并单击“确定”。
  6. 从主用户界面选择“创建”,然后选择“新的证书请求”。
  7. 在“新密钥和证书请求”对话框中,输入:
  8. 单击“确定”。
  9. 在“信息”对话框中,单击“确定”。 会提醒您把文件发送到认证中心。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。要创建公用-专用密钥对和证书请求,操作如下:

  1. 输入以下命令:
    java com.ibm.gsk.ikeyman.ikeycmd -certreq -create -db <数据库名>.kdb -pw
    <口令> -size <1024 | 512> -dn<专有名称>
    -file <文件名> -label <标号>
    
    其中:
    -size:密钥大小为 512 或 1024
    -label:附加到证书或证书请求的标号
    -dn: X.500 专有名称。这是下列格式的带引号字符串输入(仅 CN、O 和 C 是必需的) CN=common_name, O=organization, OU=organization_unit, L=location, ST=state/province, C=country。
    示例:
    "CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"

    -file:将存储证书请求的文件名。
  2. 验证该证书已成功创建。
    1. 查看创建的证书请求文件的内容。
    2. 确保密钥数据库记录证书请求:
      java com.ibm.gsk.ikeyman.ikeycmd -certreq -list -db <文件名>
      -pw <口令>
      
      您应该会看到列出的刚才创建的标号。
  3. 把新创建的文件发送到认证中心。

创建一个自签证书

通常从一个已知的 CA 中获得证书需要 2 到 3 周的时间。在等待发出的证书时,可以使用 IKEYMAN 创建一个自签的服务器证书以启用客户机和服务器间的 SSL 会话。 如果您自己作为专用 Web 网络的 CA,则使用本过程。

要创建一个自签证书,操作如下:

  1. 如果您未创建密钥数据库,请参阅新建密钥数据库以获得指导。
  2. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  3. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  4. 在“打开”对话框中,输入密钥数据库名或单击 key.kdb(如果使用缺省值)。单击“确定”。
  5. 在“口令提示”对话框中,输入正确的口令并单击“确定”。
  6. 在密钥数据库内容框架中,选择“个人证书”,并单击“新建自签”按钮。
  7. 在“新建自签证书”对话框中,输入:
  8. 单击确定

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。 要创建一个自签证书,操作如下:
输入以下命令:

java com.ibm.gsk.ikeyman.ikeycmd -cert -create -db <数据库名>.kdb -pw <口令>
-size <1024 | 512> -dn<专有名称> -label <标号> -default_cert
<yes 或 no>
其中:
-size:密钥大小为 512 或 1024
-label:输入用于标识数据库中的密钥和证书的描述性注释。
-dn: 输入 X.500 专有名称。这是下列格式的带引号字符串输入(仅 CN、O 和 C 是必需的): CN=公共名,O=组织,OU=组织单位,L=位置,ST=州、省,C=国家
示例:
"CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"

-default_cert: 输入 yes,如果要使该证书成为密钥数据库中的缺省值。如果不,则输入 no。

导出密钥

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。

导入密钥

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。

列出 CA

要显示密钥数据库中可信认证中心 (CA) 的列表,操作如下:

  1. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“打开”对话框中,输入您的密钥数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令并单击“确定”。
  5. 在密钥数据库的内容框架中,选择“签署人证书”。
  6. 单击“签署人证书”、“个人证书”或“证书请求”,以查看“密钥信息”窗口中的 CA 列表。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。要显示密钥数据库中可信 CA 的列表,操作如下:

java com.ibm.gsk.ikeyman.ikeycmd -cert -list CA -db <数据库名>.kdb -pw <口令>
-type cms

打开密钥数据库

要打开现有的密钥数据库,操作如下:

  1. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“打开”对话框中,输入您的密钥数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令并单击“确定”。
  5. 密钥数据库名会出现在“文件名”文本框中。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。 没有明确打开的密钥数据库。对于每个命令,指定了数据库和口令选项,这些规范提供了在密钥数据库中进行操作所需的信息。

接收 CA 签署的证书

使用本过程接收来自认证中心 (CA) 的电子邮件证书,这里的 CA 是指定为服务器上的可信 CA。缺省情况下,下列 CA 证书存储在密钥数据库中并标记为可信 CA 证书:

认证中心可发送多个证书。除了发送服务器的证书外,CA 还可能发送附加的签署证书或中间 CA 证书。例如,当 Verisign 发送一个全局服务器标识证书时,包含一个中间 CA 证书。接收服务器证书之前,先接收所有其它中间 CA 证书。请遵循存储 CA 证书 中的指导,以接收中间 CA 证书。

注:如果发出 CA 签署的证书的 CA 不是密钥数据库中的可信 CA,则您必须先存储该 CA 证书并将该 CA 指定为可信 CA。然后您可以将您的 CA 签署的证书接收至数据库。您不能接收来自非可信 CA 签署的 CA 证书。要获得指导,请参阅 存储 CA 证书

要接收 CA 签署的证书至密钥数据库,操作如下:

  1. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“打开”对话框中,输入您的密钥数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令,然后单击“确定”。
  5. 在密钥数据库的内容框架中选择“个人证书”,然后单击“接收”按钮。
  6. 在“从文件接收证书”对话框的“证书文件名”文本字段中,输入有效的 Base64 编码文件名。单击“确定”。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。 要接收 CA 签署的证书至密钥数据库,操作如下:

java com.ibm.gsk.ikeyman.ikeycmd -cert -receive -file <文件名> -db <数据库名>
.kdb -pw <口令> -format <ascii | binary> -default_cert <yes | no>

其中:
-format:认证中心可能会提供 ASCII 或二进制格式的 CA 证书。
-label:附加到 CA 证书的标号。
-trust:表明该 CA 是否是可信的。接收 CA 证书时使用启用选项。
-file:包含 CA 证书的文件。

显示密钥数据库中的缺省密钥

要显示缺省的密钥条目,操作如下:

  1. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“打开”对话框中,输入您的密钥数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令,然后单击“确定”。
  5. 在密钥数据库的内容框架中选择“个人证书”,并选择 CA 证书标号名。
  6. 单击“查看/编辑”按钮,查看“密钥信息”窗口中的证书缺省密钥信息。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。 要显示缺省的密钥条目,操作如下:

java com.ibm.gsk.ikeyman.ikeycmd -cert -getdefault -db <数据库名>.kdb -pw <口令>

存储 CA 证书

要存储来自非可信 CA 的证书,操作如下:

  1. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“打开”对话框中,输入您的密钥数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令并单击“确定”。
  5. 在密钥数据库内容框架中选择“签署人证书”,然后单击“添加”按钮。
  6. 在“从文件中添加 CA 证书”对话框中,选择 Base64 编码的 ASCII 数据证书文件名,或使用“浏览”选项。单击“确定”。
  7. 在“标号”对话框中,输入标号名并单击“确定”。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。 要存储来自非可信 CA 的证书,操作如下:

java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db <文件名>.kdb -pw <口令>
-label <标号> -format <ascii | binary> -trust <enable |disable> -file
<文件>
其中:
-label:附加到证书或证书请求的标号
-format:认证中心可能提供二进制 ASCII 文件
-trust:表明该 CA 是否是可信的。应该为“是”。

在存储文件中存储加密的数据库口令

对于安全网络连接,必须在存储文件中存储加密的数据库口令。

要在创建数据库时存储口令:

  1. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“新建”对话框中,输入您的数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令,然后输入确认口令。
  5. 选取“储存”框并单击“确定”。
  6. 选择“密钥数据库文件”,然后选择“储存口令”。
  7. 在“信息”对话框中,单击“确定”。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。 要在创建数据库时存储口令:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <数据库路径>/<数据库名>.kdb
-pw <口令> -type cms -expire <天数> -stash

要在创建数据库后存储口令,操作如下:

  1. 在 UNIX 的命令行中输入 ikeyman,或启动 Windows NT 上 "IBM HTTP Server" 文件夹中的密钥管理实用程序。
  2. 在主用户界面中选择“密钥数据库文件”,然后选择“打开”。
  3. 在“打开”对话框中,输入您的密钥数据库名,或单击 key.kdb(若使用缺省值)。单击“确定”。
  4. 在“口令提示”对话框中,输入正确的口令并单击“确定”。
  5. 选择“密钥数据库文件”,然后选择“储存口令”。
  6. 在“信息”对话框中,单击“确定”。

Linux for S/390 用户:请参阅使用 IKEYCMD 命令行接口,以获得有关 IKEYCMD 的更多详细信息。 要在创建数据库后存储口令,操作如下:

java com.ibm.gsk.ikeyman.ikeycmd -keydb -stashpw -db <数据库名>.kdb -pw <口令>

在 Linux for S/390 上:使用 IKEYCMD 命令行接口

在 Linux for S/390 上,IKEYCMD(IKEYMAN 的 Java 命令行接口)会提供必需的选项,以创建和管理密钥、证书和证书请求。如果您作为您自己的 CA,则可使用 IKEYCMD 以创建自签的证书。如果您作为自己的专用 Web 网络的 CA,则可以选择使用服务器 CA 实用程序,为您的专用网络中的客户机和服务器生成并发出签署的证书。

使用 IKEYCMD 以进行与公用-专用密钥创建和管理相关的配置任务。您不能使用 IKEYCMD 进行涉及更新服务器配置文件 httpd.conf 的配置选项。对于更新服务器配置文件的选项,您必须使用 IBM Administration Server。

IKEYCMD 使用 Java 和本机命令行调用,启用 IKEYMAN 任务脚本。

IKEYCMD 命令行语法

Java CLI 的语法为:

 	java [-Dikeycmd.properties=<特性文件>] com.ibm.gsk.ikeyman.ikeycmd
		<对象> <操作> [选项]

其中:

-Dikeycmd.properties
指定用于此 Java 调用的可选特性文件名。缺省特性文件 ikeycmd.properties 是作为样本文件提供的,任何 Java 应用程序可修改和使用它。

对象是下列其中一项:

-keydb
对密钥数据库(或是 CMS 密钥数据库文件、WebDB 密钥环文件或 SSLight 类)执行的操作

-cert
对证书执行的操作

-certreq
对证书请求执行的操作

-help
显示 IKEYCMD 调用的帮助

-version
显示 IKEYCMD 的版本信息

操作是指对对象执行的特定操作,选项是指为对象和操作对指定的必需选项和可选选项。

注:对象操作关键字是可定位的,必须以所选顺序指定。但是,选项不可定位,并可以按任何顺序指定,只要它们作为一个选项和操作数对指定。

IKEYCMD 命令行参数概述

下表描述了可在指定对象上执行的操作

对象 操作 描述
-keydb -changepw 更改密钥数据库的口令
-convert 将密钥数据库从一种格式转换成另一种格式
-create 创建密钥数据库
-delete 删除密钥数据库
-stashpw 将密钥数据库口令储存到一个文件
-cert -add 把 CA 证书从文件添加到密钥数据库
-create 创建自签署证书
-delete 删除 CA 证书
details 列出特定证书的详细信息
-export 将个人证书及其关联的专用密钥从密钥数据库导入到 PKCS#12 文件中或另一个密钥数据库中
-extract 抽取密钥数据库中的证书
-getdefault 获取缺省的个人证书
-import 从密钥数据库或 PKCS#12 文件导入证书
-list 列出所有证书
-modify 修改证书(注:当前只可修改“证书信任”字段)
-receive 把 CA 证书从文件接收到密钥数据库
-setdefault 设置缺省的个人证书
-sign 用存储在密钥数据库中的证书签署存储在文件中的证书,并把结果签署证书存储到文件
-certreq -create 创建证书请求
-delete 删除证书请求数据库中的证书请求
-details 列出特定证书请求的详细信息
extract 从证书请求数据库抽取证书请求到文件
-list 列出证书请求数据库中的所有证书请求
-recreate 重新创建证书请求
-help 显示 IKEYCMD 命令的帮助信息
-version 显示 IKEYCMD 版本信息

IKEYCMD 命令行选项概述

下表显示了每个可显示在命令行上的选项。这些选项是作为一个完整的组列出的。但是,它们的使用取决于命令行上指定的对象操作


选项 描述
-db 密钥数据库的全限定路径名。
-default_cert 将证书设置为作为客户机证书的缺省证书使用(yes 或 no)。缺省值为 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,或者 Binary DER 数据为 binary)。缺省值为 ascii。
-label 附加到证书或证书请求的标号。
-new_format 密钥数据库的新格式。
-new_pw 新的数据库口令。
-old_format 密钥数据库的旧格式。
-pw 密钥数据库或 PKCS#12 文件的口令。 请参阅新建密钥数据库
-size 密钥大小(512 或 1024)。缺省值为 1024。
-stash 将密钥数据库口令储存到文件的指示符。一旦指定,口令将被储存到文件中。
-target 目标文件或数据库。
-target_pw 密钥数据库的口令(如果 -target 指定密钥数据库)。请参阅新建密钥数据库
-target_type -target 操作数指定的数据库类型(请参阅 -type)。
-trust CA 证书的信任状态(enable 或 disable)。缺省值为 enable。
-type 数据库的类型。允许值有 cms(表明 CMS 密钥数据库)、webdb(表明密钥环)、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 应用程序以修改其应用程序缺省设置的样本而提供的。