2.5. 命令行界面

本节讨论命令行实用程序。

2.5.1. "pki" CLI

pki 命令行界面(CLI)提供对使用 REST 界面的服务器各种服务的访问(请参阅 红帽认证系统规划、安装和部署指南中的 REST 接口 部分)。CLI 可以按照以下方式调用:
$ pki [CLI options] <command> [command parameters]
请注意,必须在命令前放置 CLI 选项,并在 命令之后放置命令参数。

2.5.1.1. pki CLI initialization

要首次使用命令行界面,请指定新密码并使用以下命令:
$ pki -c <password> client-init
这会在 ~/.dogtag/nssdb 目录中创建一个新的客户端 NSS 数据库。必须在使用客户端 NSS 数据库的所有 CLI 操作中指定密码。或者,如果密码存储在文件中,您可以使用 -C 选项指定该文件。例如:
$ pki -C password_file client-init
要将 CA 证书导入到客户端 NSS 数据库,请参阅 红帽认证系统规划、安装和部署指南中的证书导入到 NSS 数据库 部分。
有些命令可能需要客户端证书身份验证。要将现有客户端证书及其密钥导入到客户端 NSS 数据库中,请指定 PKCS #12 文件和密码,并执行以下命令:
执行以下命令从 .p12 文件中提取 admin 客户端证书:
$ openssl pkcs12 -in file -clcerts -nodes -nokeys -out file.crt
$ PKICertImport -d ~/.dogtag/nssdb -n "nickname" -t ",," -a -i file.crt -u C
重要
在导入 CA 管理客户端证书前,请确保已导入所有中间证书和 root CA 证书。
要将现有客户端证书及其密钥导入到客户端 NSS 数据库中,请指定 PKCS #12 文件和密码,并执行以下命令:
$ pki -c <password> pkcs12-import --pkcs12-file <file> --pkcs12-password <password>
使用以下命令验证客户端证书:
certutil -V -u C -n "nickname" -d ~/.dogtag/nssdb

2.5.1.2. Using "pki" CLI

命令行界面支持以分级结构组织的多个命令。要列出顶级命令,在不执行任何附加命令或参数的情况下执行 pki 命令:
$ pki
些命令使用 子命令。要列出它们,请使用命令名称执行 pki,而不执行附加选项。例如:
$ pki ca
$ pki ca-cert
要查看命令用法信息,请使用 --help 选项:
$ pki --help
$ pki ca-cert-find --help
要查看 man page,请指定命令行 帮助 命令:
$ pki help
$ pki help ca-cert-find
要执行不需要身份验证的命令,请指定命令及其参数(如果需要),例如:
$ pki ca-cert-find
要执行需要客户端证书身份验证的命令,请指定证书 nickname、客户端 NSS 数据库密码以及可选的服务器 URL:
$ pki -U <server URL> -n <nickname> -c <password> <command> [command parameters]
例如:
$ pki -n jsmith -c password ca-user-find ...
默认情况下,CLI 与位于 http://local_host_name 的服务器通信:8080。要与位于不同位置的服务器通信,请使用 -U 选项指定 URL,例如:
$ pki -U https://server.example.com:8443 -n jsmith -c password ca-user-find