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