18.3. 续订子系统证书


更新证书的方法有两种。重新生成证书 会取其原始密钥及其原始配置集和请求,并使用新的有效期和过期日期重新创建相同的密钥。重新加密 证书将初始证书请求重新提交到原始配置文件,但会生成一个新密钥对。管理员可以通过重新密钥来更新管理员证书。

18.3.1. 在最终用户表单中重新密钥证书

可以使用原始证书的序列号直接在最终用户注册表单中直接续订子系统证书。

  1. 续订 CA 端到端形式的证书,如 第 5.4 节 “续订证书” 所述。这要求正在续订的子系统证书的序列号。
  2. 将证书导入到子系统的数据库,如 第 18.6.1 节 “在证书系统数据库中安装证书” 所述。可以使用 certutil 或 console 导入证书。例如:

    certutil -A -n "ServerCert cert-example" -t u,u,u -d /var/lib/pki/ instance_name/alias -a -i /tmp/example.cert

18.3.2. 在控制台中续订证书

Java 子系统可以通过其管理控制台更新其任何子系统证书。这个过程与请求新子系统证书(第 18.2 节 “通过控制台请求证书”)完全相同,但有一个关键区别:续订 使用现有密钥对 而不是生成新的密钥对。

图 18.1. 续订子系统证书

证书向导 req

续订证书后,从数据库(第 18.6.2 节 “从数据库中删除证书”)中删除原始证书。

18.3.3. 使用 certutil续订证书

certutil 可用于在证书数据库中使用现有密钥对生成证书请求。然后,可以通过常规配置文件页面提交新证书请求,以便 CA 发布更新的证书。

注意

加密和签名证书在单个步骤中创建。但是,续订过程一次仅续订一个证书。

要在证书对中续订这两个证书,必须单独更新每个证书。

  1. 获取令牌数据库的密码。

    cat /var/lib/pki/ instance_name/conf/password.conf
    
    internal=263163888660
  2. 打开证书正在续订的实例的证书数据库目录。

    cd /var/lib/pki/ instance_name/alias
  3. 列出正在续订的证书的密钥和别名。要续订证书,用于生成和提供给新证书的主题名称必须与旧证书中的主题名称相同。

    # certutil -K -d .
    
    certutil: Checking token "NSS Certificate DB" in slot "NSS User Private Key and Certificate Services"
    Enter Password or Pin for "NSS Certificate DB":
    < 0> rsa      69481646e38a6154dc105960aa24ccf61309d37d   caSigningCert cert-pki-tomcat CA
  4. 别名 目录复制为备份,然后从证书数据库中删除原始证书。例如:

    certutil -D -n "ServerCert cert-example"  -d .
  5. 运行 certutil 命令,并将选项设置为现有证书中的值。

    certutil -d . -R -n "NSS Certificate DB:cert-pki-tomcat CA" -s "cn=CA Authority,o=Example Domain" -a -o example.req2.txt

    生成新证书和密钥对和续订证书之间的差别是证书 的值。要生成完全新的请求和密钥对,那么 -k 会设置密钥类型,并与 -g 一起使用,这会设置位长度。对于续订请求,-n 选项使用证书 nickname 来访问存储在安全数据库中的现有密钥对。

    有关参数的详情,请查看 certutil (1) 手册页。

  6. 提交证书请求,然后检索证书请求并安装它,如 第 5.3 节 “请求和接收证书” 所述。

18.3.4. 续订过期的证书系统服务器证书

在 PKI 服务器运行时,证书系统不会自动在线续订其服务器证书。通常,管理员应在系统证书过期前续订系统证书。但是,如果系统证书过期,证书系统将无法启动。

要在过期后续订系统证书,您可以设置临时服务器证书:

  1. 如果系统证书已过期:

    1. 创建临时证书:

      # pki-server cert-create sslserver --temp
    2. 将临时证书导入到证书系统的网络安全服务(NSS)数据库中:

      # pki-server cert-import sslserver
    3. 启动证书系统:

      # pki-server start instance_name
  2. 显示证书并记录过期系统证书的 ID:

    # pki-server cert-find
  3. 创建新的持久性证书:

    # pki-server cert-create certificate_ID
  4. 停止证书系统:

    # pki-server stop instance_name
  5. 导入新证书来替换过期的证书:

    # pki-server cert-import certificate_ID
  6. 启动证书系统:

    # pki-server start instance_name
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.