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. 根据带有搜索约束的文件列出证书

使用文件中定义的搜索约束列出证书:
  1. 准备定义搜索约束的 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>
    
  2. 运行 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-showpki cert-request-submit 创建并提交证书请求:
  1. 生成 CSR:
    $ certutil -R -d security database directory -s subject DN -a
  2. 使用以下命令获取配置集模板:
    $ pki cert-request-profile-show profile --output file
  3. 编辑输出文件,并将 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>
    
  4. 使用 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 查看证书:
  1. 使用指定证书请求生成文件:
    $ pki agent authentication cert-request-review request_ID --output filename
  2. 手动查看生成的输出文件,并根据需要对其进行编辑。
  3. 在命令行中输入以下操作之一以完成检查:
    • 批准
    • 拒绝
    • 取消
    • 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-memberpki user-membership的组成员和用户成员资格管理

pki group-member the 命令
组成员管理的命令
pki user-membershipö 命令
用户成员资格管理的命令
如需可用组成员和用户成员资格管理命令的完整列表,请运行 pki group-memberpki 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 的命令 都定向到 CA,并以管理员身份执行。有关如何使用 pki 命令时如何验证的详情,请参考 第 2.2 节 “身份验证”
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 配置集
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.