DPA:如何将包含完整信任链和私钥的签名证书导入 DPA - Windows
Summary: 如何将包含完整信任链和私钥或通配符证书的签名证书导入到 Data Protection Advisor (DPA) 应用程序服务器。
Instructions
有时,用户的证书颁发机构 (CA) 已提供签名证书。某些用户的过程要求他们以这种方式生成\检索证书。当 CA 颁发通配符证书或服务器使用多个域名时,通常会发生这种情况。
在这些情况下,可以简单地将签名证书导入 apollo.keystore 中。当且仅当他们收到的签名证书包含完整的证书链和私钥时。
下面列出了可以包含私钥的证书格式:
- PKCS#12 (.pfx 或 .p12)可以将服务器证书、中间证书和私钥存储在具有密码保护的单个 .pfx 文件中。由于这些文件包含完整链 和 私钥,因此可以将其直接导入 apollo.keystore,但请记住,这样做需要别名和别名密码(证书的所有者应具有此信息)。
- PEM (.pem、.crt、.cer 或 .key) 可以在 单个文件中包含服务器证书、中间证书和私钥。服务器证书和中间证书也可以位于单独的 .crt 或 .cer 文件中,私钥可以位于.key文件中。如果服务器\中间证书和密钥是分开的,则这不足以直接导入。
通过在文本编辑器中打开证书文件进行检查。
每个证书都包含在 ---- BEGIN CERTIFICATE---- 和 ----END CERTIFICATE---- 语句之间。
私钥包含在 ---- BEGIN RSA PRIVATE KEY----- 和 -----END RSA PRIVATE KEY-----语句之间。
确保 ---- BEGIN CERTIFICATE---- 和 ----END CERTIFICATE---- 语句中包含的证书数量与链(服务器和中间)中的证书数量相匹配,并以 ---- BEGIN RSA PRIVATE -----KEY和 -----END RSA PRIVATE KEY结尾。
如果文件不包含完整的证书链和私钥,则必须将证书导入到生成证书的密钥库中。如果您不确定证书链,请参阅知识库文章 532108:如何从单个签名证书手动分离服务器证书、中间证书和根证书
验证完整证书链和私钥位于一个文件中后,将提供通过以下步骤将证书导入 DPA 所需的一切:
-
从 dpa\services\standalone\configuration 复制 apollo.keystore 和 standalone.xml 文件,从 dpa\services\executive 复制 application-service.conf 文件。如果必须恢复到原始配置,您可以使用这些文件将 DPA 恢复到工作顺序。将副本放在桌面上的文件夹中,以便安全保存并避免混淆。
-
打开standalone.xml文件的副本并搜索“key-alias”。应看到包含密钥别名和密码的行,如下所示:
<ssl name="ssl" key-alias="${apollo.keystore.alias:apollokey}" password="apollo"记下此行中的密码。它是 apollo.keystore 密码,在后续步骤中需要用到。
-
从 services\_jre\bin 中的 DPA 安装目录运行以下命令:
keytool -importkeystore -srckeystore "c:\Program files\emc\dpa\services\standalone\configuration\wildcard.pfx" -srcstoretype pkcs12 -destkeystore "c:\Program files\emc\dpa\services\standalone\configuration\apollo.keystore" -deststoretype JKS
提醒:指定签名证书文件 (srckeystore) 和 apollo.keystore (destkeystore) 的正确位置。有关必须输入的内容的详细信息,请参阅下面的示例:D:\Program Files\EMC\DPA\services\_jre\bin keytool -importkeystore -srckeystore "c:\Program files\emc\dpa\services\standalone\configuration\wildcard.pfx" -srcstoretype pkcs12 -destkeystore "c:\Program files\emc\dpa\services\standalone\configuration\apollo.keystore" -deststoretype JKS Enter destination keystore password: (apollo.keystore password- check standalone.xml) Enter source keystore password: (alias password-owner of certificate will know this) Entry for alias my_alias successfully imported. Import command completed:1 entries successfully imported, 0 entries failed or cancelled
-
列出 apollo.keystore 的内容,以验证签名证书是否已正确导入:
keytool -list -v -keystore "c:\Program files\emc\dpa\services\standalone\configuration\apollo.keystore"
(输入 apollo.keystore 密码)
它现在应包含 apollokey 的条目和具有用户通配符别名的新条目(签名证书分配给的任何别名)。您应该会看到这是一个 PrivateKeyEntry,其中包含完整的证书链。
-
重新启动应用程序服务并尝试登录到 UI。如果重新启动服务产生错误,则 app svc 无法启动,或者此时无法访问 UI:
- 打开 application-service.conf 并搜索“apollo.key”。您应该会看到别名已更新为您导入的别名(在本例中为 wildcardalias)。
- 使用文本编辑器打开standalone.xml并搜索“key-alias”。您应该会看到类似于下面的行,其中显示了您导入的别名:
key-alias="${apollo.keystore.alias:emcdpa}"
如果没有,请更改密钥别名以匹配与签名证书关联的密钥。另外,请仔细检查密码是否与您一直使用的密码相同。
如果您必须更改这些文件中的别名或密码,则:
- 停止应用程序服务。
- 编辑并保存文件。
- 重新启动服务。
- 如果问题仍然存在,请联系 DPA 支持。