27.4. 使用方法


此流程重新打包存储在一个证书系统 7.1 KRA 中的密钥,并将其存储在证书系统 8.1 KRA 中。这不是唯一的用例;工具可以在与源和目标相同的实例中运行,以重新打包现有密钥,或者只是用于将多个 KRA 实例的密钥复制到单个实例中,而无需对所有重新打包密钥。
  1. 准备新的 KRA 实例和机器。
    1. 安装和配置新的 Red Hat Certificate System 8.1 KRA 实例。
      重要
      将存储密钥大小和类型设置为 2048 位和 RSA。
    2. 停止新的 KRA。
      [root@newkra ~]# service pki-kra stop
    3. 创建数据目录来存储来自旧 KRA 的导出的密钥数据。
      [root@newkra ~]# mkdir -p /export/pki
    4. 将新 KRA 的公共存储证书导出到新数据目录中的平面文件中:
      [root@newkra ~]# certutil -L -d /var/lib/pki-kra/alias/ -n "storageCert cert-pki-kra" -a > /export/pki/newKRA.cert
    5. 如果位于同一计算机上,停止新 KRA 的目录服务器实例。
      >[root@newkra ~]# service dirsrv stop
    6. 导出新 KRA 的配置信息。
      [root@newkra ~]# /usr/lib[64]/disrv/slapd-instanceName/db2ldif -n newkra.example.com-pki-kra -a /export/pki/newkra.ldif
      重要
      确保 LDIF 文件在末尾包含一个空白行。
  2. 从旧 KRA 实例导出并准备密钥数据。
    1. 创建用于存储导出的密钥数据的数据目录。
      [root@oldkra ~]# mkdir -p /export/pki
    2. 使用 [root@oldkra\":\" db2ldif 等工具导出来自原始 KRA 实例的信息。这是作为迁移 指南中的 KRA 章节的 7.1 到 8.1 迁移步骤的一部分
    3. 将导出的数据的 LDIF 复制到数据目录中,并更新数据文件以更改归档 CA。
      [root@oldkra ~]# cp /path/to/rhcs80-pki-kra.ldif /export/pki
      
      [root@oldkra ~]# sed -i -e "s/^archivedBy: kra_trusted_agent/archivedBy: CA/g" alpha.ldif
    4. 停止机器上的所有证书系统服务器。
    5. 将 NSS 数据库复制到数据目录中。例如,对于 7.1 KRA:
      [root@oldkra ~]# cp -p /opt/redhat-cs/alias/cert-instance-kra-cert8.db /export/pki/cert8.db
      	
      [root@oldkra ~]# cp -p /opt/redhat-cs/alias/cert-instance-kra-key3.db /export/pki/key3.db
      
      [root@oldkra ~]# cp -p /opt/redhat-cs/alias/secmod.db /export/pki/secmod.db
    6. KRATool 复制到具有旧 KRA 实例的计算机上,并拉取所有依赖项。对于 7.x 系统,包括 nsutil.jarcmsutil.jar 文件(这些文件已在 8.0 系统中可用)。例如:
      [root@oldkra ~]# mkdir -p /usr/share/pki/java-tools
      
      [root@oldkra ~]# mkdir -p /usr/share/java/pki
      
      [root@oldkra ~]# cd /usr/share/java/pki
      
      [root@oldkra ~]# sftp root@newkra.example.com
      sftp> cd /usr/share/java/pki
      sftp> get nsutil.jar
      sftp> get cmsutil.jar
      sftp> get cstools.jar
      sftp> lcd /usr/share/pki/java-tools
      sftp> cd /usr/share/pki/java-tools
      sftp> get KRATool.cfg
      sftp> lcd /usr/bin
      sftp> cd /usr/bin
      sftp> get KRATool
      sftp> quit
      重要
      机器必须安装有 Java 1.6.0。
    7. 对于 7.1 KRA。从旧的 ldapjdk.jar 文件创建一个符号链接到新的 8.x 位置。
      [root@oldkra ~]# ln -s /opt/redhat-cs/bin/cert/jars/ldapjdk.jar /usr/share/java/ldapjdk.jar
    8. 打开数据目录。
      [root@oldkra ~]#cd /export/pki
    9. 使用来自新 KRA 计算机的公钥密钥的文件复制到旧的 KRA 计算机。例如:
      [root@oldkra ~]# sftp root@newkra.example.com
      sftp> cd /export/pki
      sftp> get newKRA.cert
      sftp> quit
    10. 如有必要,编辑默认 KRATool.cfg 文件,以用于该工具。默认 文件也可以在不更改的情况下使用。
    11. 运行 KRATool; 所有这些参数都应位于一行中。
      [root@oldkra ~]# KRATool -kratool_config_file "/usr/share/pki/java-tools/KRATool.cfg"
              -source_ldif_file /export/pki/rhcs80-pki-kra.ldif
              -target_ldif_file /export/pki/old2newKRA.ldif
              -log_file /export/pki/kratool.log
              -source_pki_security_database_path /export/pki
              -source_storage_token_name 'Internal Key Storage Token'
              -source_storage_certificate_nickname 'storageCert cert-pki-kra'
              -target_storage_certificate_file /export/pki/newKRA.cert
              -append_id_offset 100000000000
              -source_kra_naming_context "oldkra.example.com-pki-kra"
              -target_kra_naming_context "newkra.example.com-pki-kra"
              -process_requests_and_key_records_only
      命令将提示用户输入原始数据库中存储的令牌的密码。
      完成后,命令会创建 -target_ldif_file,old2newKRA.ldif 中指定的文件。
    12. 将 LDIF 文件复制到新的 KRA 机器。例如:
      [root@oldkra ~]# scp /export/pki/old2newKRA.ldif root@newkra.example.com:/export/pki
      重要
      确保 LDIF 文件在末尾包含一个空白行。
  3. 如果合并了多个 KRA 实例,则其数据可以合并到单个导入操作中。为每个将要合并的 KRA 执行以下步骤 2
    -target_ldif_file 指定唯一值来创建单独的 LDIF 文件,并指定唯一的 -append_id_offset 值,以便在 LDIF 文件串联时没有冲突。
  4. 在新 KRA 计算机上,使用旧密钥数据导入 LDIF 文件。
    1. 打开数据目录。
      [root@newkra ~]# cd /export/pki
    2. 为旧 KRA 实例连接新的 KRA 配置 LDIF 文件和每个导出的 LDIF。例如:
      [root@newkra ~]# cat newkra.ldif old2newKRA.ldif > combined.ldif
    3. 将 LDIF 导入到证书系统 8.1 KRA 实例的目录服务器数据库中。
      [root@newkra ~]# /usr/lib[64]/disrv/slapd-instanceName/ldif2db -n newkra.example.com-pki-kra -i /export/pki/combined.ldif
    4. 为新的 KRA 启动 Directory 服务器实例。
      [root@newkra ~]# service dirsrv start
    5. 启动新的 KRA。
      [root@newkra ~]# service pki-kra start
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.