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