2.4. 支持的 pki 命令概述
本节列出了一些
pki
命令及其子命令,以及它们的功能。有关如何使用特定的 pki
子命令的更多详细信息,请使用 --help
选项执行它。例如:
$ pki cert-find --help usage: cert-find [OPTIONS...] --certTypeSecureEmail <on|off> Certifiate Type: Secure Email --certTypeSSLClient <on|off> Certifiate Type: SSL Client --certTypeSSLServer <on|off> Certifiate Type: SSL Server ...
pki(1) man page 中还描述了一些子命令。
2.4.1. 使用 pki 客户端进行客户端管理
pki client ö 命令允许您管理证书系统客户端环境。有关这些命令的详情请参考 pki-client(1) man page。
客户端初始化
- pki client-init
- 初始化新客户端环境;命令会在默认证书数据库目录
~/.dogtag/nssdb/
中创建一个安全数据库。新安全数据库的密码必须使用-c
或-C
选项指定。例如:$ pki -c Secret123 client-init ------------------ Client initialized ------------------
注意对于管理员,此操作是可选的。当管理员创建新子系统时,会自动创建一个客户端安全数据库。
列出本地证书
- pki client-cert-find
- 列出客户端安全数据库中的所有证书
导入证书和私钥
- pki client-cert-import
- 从 PKCS the 文件中导入 CA 证书或客户端证书
例 2.1. 从 CA 服务器导入 CA 证书
从 CA 服务器下载并导入 CA 证书:$ pki -c Secret123 -n "CA Signing Certificate - EXAMPLE" client-cert-import --ca-server ------------------------------------------------------- Imported certificate "CA Signing Certificate - EXAMPLE" -------------------------------------------------------
例 2.2. 从文件导入 CA 证书
从文件中导入 CA 证书:$ pki -c Secret123 -n "CA Signing Certificate - EXAMPLE" client-cert-import --ca-cert ca.pem ------------------------------------------------------- Imported certificate "CA Signing Certificate - EXAMPLE" -------------------------------------------------------
注意导入 CA 证书是可选的。如果从命令行通过 SSL 连接到服务器时,如果客户端安全数据库中不存在 CA 证书,则会要求用户是否从 CA 服务器下载并导入 CA 证书。例 2.3. 导入客户端证书和私钥
从 PKCS the 中导入私钥:$ pki -c Secret123 client-cert-import --pkcs12 ca_admin_cert.p12 --pkcs12-password Secret123 ---------------------------------------- Imported certificates from PKCS #12 file ----------------------------------------
注意为管理员导入证书和私钥是可选的。当管理员创建新子系统时,管理员证书和私钥会自动存储在客户端安全数据库中。
删除本地证书
- pki client-cert-del
- 删除本地证书
2.4.2. 使用 pki证书进行证书管理
pki cert the 命令允许您管理 CA 上的证书和证书请求。有关这些命令的详情请参考 pki-cert(1) man page。
列出证书
- pki cert-find
- 列出所有证书
例 2.4. 仅列出 Valid 证书
仅列出有效证书:$ pki cert-find --status VALID
例 2.5. 根据带有搜索约束的文件列出证书
使用文件中定义的搜索约束列出证书:- 准备定义搜索约束的 XML 文件。该文件必须采用以下格式:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CertSearchRequest> <serialNumberRangeInUse>true</serialNumberRangeInUse> <serialFrom></serialFrom> <serialTo></serialTo> <subjectInUse>false</subjectInUse> <eMail></eMail> <commonName></commonName> <userID></userID> <orgUnit></orgUnit> <org></org> <locality></locality> <state></state> <country></country> <matchExactly>false</matchExactly> <status></status> <revokedByInUse>false</revokedByInUse> <revokedBy></revokedBy> <revokedOnFrom>false</revokedOnFrom> <revokedOnTo></revokedOnTo> <revocationReasonInUse>false</revocationReasonInUse> <revocationReason></revocationReason> <issuedByInUse>false</issuedByInUse> <issuedBy></issuedBy> <issuedOnInUse>false</issuedOnInUse> <issuedOnFrom></issuedOnFrom> <issuedOnTo></issuedOnTo> <validNotBeforeInUse>false</validNotBeforeInUse> <validNotBeforeFrom></validNotBeforeFrom> <validNotBeforeTo></validNotBeforeTo> <validNotAfterInUse>false</validNotAfterInUse> <validNotAfterFrom></validNotAfterFrom> <validNotAfterTo></validNotAfterTo> <validityLengthInUse>false</validityLengthInUse> <validityOperation></validityOperation> <validityCount></validityCount> <validityUnit></validityUnit> <certTypeInUse>false</certTypeInUse> <certTypeSubEmailCA></certTypeSubEmailCA> <certTypeSubSSLCA></certTypeSubSSLCA> <certTypeSecureEmail></certTypeSecureEmail> </CertSearchRequest>
- 运行 pki cert-find 命令,在该命令中添加文件路径:
$ pki cert-find --input filename
显示证书
- pki cert-show
- 显示或检索指定的证书
例 2.6. 下载证书
使用 pki cert-show 下载证书:$ pki cert-show certificate ID --encoded --output filename
创建证书请求
- pki cert-request-profile-show and pki cert-request-submit
- 这些命令可用于创建和提交证书请求
例 2.7. 创建并提交证书请求
使用 pki cert-request-profile-show 和 pki cert-request-submit 创建并提交证书请求:- 生成 CSR:
$ certutil -R -d security database directory -s subject DN -a
- 使用以下命令获取配置集模板:
$ pki cert-request-profile-show profile --output file
- 编辑输出文件,并将 CSR 插入到
cert_request
属性中。例如:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CertEnrollmentRequest> ... <Input id="i1"> ... <Attribute name="cert_request_type"> <Value>pkcs10</Value> ... </Attribute> <Attribute name="cert_request"> <Value> MIIBZTCBzwIBADAmMRAwDgYDVQQKEwdFWEFNUExFMRIwEAYDVQQDEwlUZXN0IFVz ZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL7hYQp/g4FblKRd3Cjyfh8e MFGZLbTDZcY+YBxOk43JeqIDLkGZRHpr/84hK4lgISuyXpvz8owKel2jw6q7bP9Z 0D8AGrrJfEvAuMQrAJiMd/O3U6CKF9+U/z8RjzHPXjzAKl/cIVpqnPuAQOMWQGmx HkxmLYZww0hKcc9nl5KPAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQCtpV2ts1Hp w+s7ev90d2gRpmPBtNGfOz4OsOpNYbDX3fGabkLFIJAWQ8arjQqToGawIh0nZpND UJ9hSa1gIfI+4uxYKjk6cFQAPnZeVgLg1KgELVIzYZ0Qem5NXHmRsR/Vwxh5abzX XeuHTCnFT0Elpva9mnR+tqe1agZwHghDwQ== </Value> ... </Attribute> </Input> ... </CertEnrollmentRequest>
- 使用 pki cert-request-submit 命令提交请求:
$ pki cert-request-submit filename
检查证书请求状态
- pki cert-request-show
- 显示证书请求的状态
管理证书请求
重要
查看或处理证书请求必须使用代理凭证执行。有关如何使用
pki
命令时如何验证的详情,请参考 第 2.2 节 “身份验证”。
- pki cert-request-find
- 显示所有证书请求
- pki cert-request-review
- 检查证书请求并执行操作,如批准或拒绝
例 2.8. 使用 pki cert-request查看证书
使用 pki cert-request-review 查看证书:
- 使用指定证书请求生成文件:
$ pki agent authentication cert-request-review request_ID --output filename
- 手动查看生成的输出文件,并根据需要对其进行编辑。
- 在命令行中输入以下操作之一以完成检查:
- 批准
- 拒绝
- 取消
- update
- validate
- 分配
- 取消分配
注意
您可以使用
--action
将所需的 review 操作直接传给命令,从而在单个步骤中执行批准过程。例如:
$ pki agent authentication cert-request-review request_ID --action approve
吊销证书
重要
吊销、保存或释放证书必须使用代理凭证执行。有关如何使用
pki
命令时如何验证的详情,请参考 第 2.2 节 “身份验证”。
- pki cert-revoke
- 吊销证书
- pki cert-hold
- 临时包含证书
- pki cert-release-hold
- 发布已保存的证书
2.4.3. 使用 pki 用户和 pki组 进行用户和组管理
pki user ö 和 pki group 将其允许您管理用户和组。这些命令要求您指定要应用操作的子系统。有关这些命令的详情请参考 pki-user(1) 和 pki-group(1) man page。
重要
所有这些命令必须使用管理员凭据来执行。有关如何使用
pki
命令时如何验证的详情,请参考 第 2.2 节 “身份验证”。
- pki subsystem-user-find
- 列出用户
- pki subsystem-group-find
- 列出组
- pki subsystem-user-show
- 显示指定用户的详情
- pki subsystem-group-show
- 显示指定组的详情
- pki subsystem-user-add
- 添加新用户
- pki subsystem-group-add
- 添加新组
- pki subsystem-user-mod
- 修改现有用户条目
- pki subsystem-group-mod
- 修改现有组条目
- pki subsystem-user-del
- 删除用户
- pki subsystem-group-del
- 删除组
2.4.4. 使用 pki group-member 和 pki user-membership的组成员和用户成员资格管理
- pki group-member the 命令
- 组成员管理的命令
- pki user-membershipö 命令
- 用户成员资格管理的命令
如需可用组成员和用户成员资格管理命令的完整列表,请运行 pki group-member 或 pki user-membership。有关命令的详情请参考 pki-group-member(1) 和 pki-user-membership(1) man page。
2.4.5. 使用 pki 安全域的安全域管理
- pki securitydomain-show
- 显示安全域信息 ; 有关这个命令的详情请参考 pki-securitydomain(1) man page。
2.4.6. 使用 pki 键管理密钥
pki key 047 命令允许您在 KRA 中管理密钥。有关这些命令的详情请参考 pki-key(1) man page。
模板
- pki key-template-find
- 列出所有可用密钥模板
- pki key-template-show
- 显示密钥模板或将密钥模板存储在文件中
例 2.9. 将密钥模板存储在文件中
将密钥模板存储到一个文件中:$ pki key-template-show retrieveKey --output retrieveKey.xml
密钥请求
重要
所有密钥请求都必须使用 KRA 代理凭证执行。有关如何使用
pki
命令时如何验证的详情,请参考 第 2.2 节 “身份验证”。
- pki key-request-find
- 列出所有提交的密钥请求
- pki key-request-show
- 显示指定的密钥请求
- pki key-request-review
- 查看密钥请求;查看过程遵循与检查证书请求相同的规则,如 例 2.8 “使用 pki cert-request查看证书” 所述。
Keys
重要
所有密钥操作都必须使用 KRA 代理凭证执行。有关如何使用
pki
命令时如何验证的详情,请参考 第 2.2 节 “身份验证”。
- pki key-find
- 列出所有归档的密钥
- pki key-generate
- 在服务器上生成新密钥
- pki key-archive
- 归档命令行中指定的 secret归档模板中已经加密的 secret:
$ pki -d ~/.dogtag/pki-tomcat/ca/alias/ -c Secret123 -n caadmin key-archive --input archiveKey.xml
- pki key-retrieve
- 检索密钥
例 2.10. 使用随机安全参数检索密钥
使用随机生成的安全参数检索密钥:$ pki -d ~/.dogtag/pki-tomcat/ca/alias/ -c Secret123 -n caadmin key-retrieve --keyID 0x1 Retrieve Key Information ------------------------ Key Algorithm: RSA Key Size: 1024 Nonce data: rYkeh4Rb+MI= Actual archived data: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALTyleypbSGRnb8+ P/BItA74mTdLX4eFY+fKE4hraeOV4ts+4M9qfry/FJkbMq3dpIpsxuMmGclbHEUQ J/MfLAHgaxwVLGK8qCGb0IeY0Z7qIbGucSCLcDVpODlsTvqftK/SJZm56ODu7xXh ...
例 2.11. 使用自定义安全参数检索密钥
使用模板中指定的自定义安全参数检索密钥:$ pki -d ~/.dogtag/pki-tomcat/ca/alias/ -c Secret123 -n caadmin key-retrieve --input retrieveKey.xml
- pki key-recover
- 恢复密钥
- pki key-show
- 显示指定密钥的详情
例 2.12. 指定密钥 ID 时显示密钥
在指定密钥 ID 时显示密钥:$ pki -d ~/.dogtag/pki-tomcat/ca/alias/ -c Secret123 -n caadmin key-show 0x1 Key ID: 0x1 Client Key ID: test Status: active Algorithm: RSA Size: 1024 Owner: kraadmin Public Key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC08pXsqW0hkZ2/Pj/wSLQO+Jk3 S1+HhWPnyhOIa2njleLbPuDPan68vxSZGzKt3aSKbMbjJhnJWxxFECfzHywB4Gsc FSxivKghm9CHmNGe6iGxrnEgi3A1aTg5bE76n7Sv0iWZuejg7u8V4QmU+jBc79O4 ydfTGLzZvtTVrYbgdQIDAQAB
例 2.13. 指定客户端密钥 ID 时显示密钥
在指定客户端密钥 ID 时显示密钥:$ pki -d ~/.dogtag/pki-tomcat/ca/alias/ -c Secret123 -n caadmin key-show --clientKeyID test Key ID: 0x1 Client Key ID: test Status: active Algorithm: RSA Size: 1024 Owner: kraadmin Public Key: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC08pXsqW0hkZ2/Pj/wSLQO+Jk3 S1+HhWPnyhOIa2njleLbPuDPan68vxSZGzKt3aSKbMbjJhnJWxxFECfzHywB4Gsc FSxivKghm9CHmNGe6iGxrnEgi3A1aTg5bE76n7Sv0iWZuejg7u8V4QmU+jBc79O4 ydfTGLzZvtTVrYbgdQIDAQAB
- pki key-mod --status active
- 激活密钥。将
--status
选项设置为不活动
可停用密钥。
2.4.7. 使用 pki ca-kraconnector进行 KRA Connector 管理
pki ca-kraconnector the 命令允许您管理 KRA 连接器。
重要
- pki ca-kraconnector-show
- 显示 KRA 连接器
- pki ca-kraconnector-add
- 添加新的 KRA 连接器
- pki ca-kraconnector-del
- 删除 KRA 连接器
2.4.8. 带有 pki ca的 CA 管理
pki ca114 命令可让您访问各种 CA 服务。
列出配置集
- pki ca-profile-find
- 列出指定数据库中的所有 CA 配置集
显示配置集
- pki ca-profile-show
- 在数据库中显示指定的配置集
2.4.9. 使用 pki tps的 TPS 管理
pki tps the 命令可让您访问各种 TPS 服务。
活动
- tps-activity-find
- 显示所有 TPS 活动
- tps-activity-show
- 显示指定的活动
Audit
- tps-audit-mod
- 修改审计配置
- tps-audit-show
- 在文件中显示审计配置
用户
- pki tps-user-find
- 显示所有 TPS 用户
- pki tps-user-show
- 显示指定的 TPS 用户
- pki tps-user-add
- 添加新的 TPS 用户
- pki tps-user-mod
- 修改现有 TPS 用户
- pki tps-user-del
- 删除 TPS 用户
配置集
- pki tps-profile-find
- 显示所有 TPS 配置文件
- pki tps-profile-show
- 显示指定的 TPS 用户
- pki tps-profile-add
- 添加新的 TPS 配置文件
- pki tps-profile-mod
- 修改现有 TPS 配置文件
- pki tps-profile-del
- 删除 TPS 配置集