如何将包含完整信任链和私钥的签名证书导入 DPA - Linux
Summary: 如何将包含完整信任链和私钥或通配符证书的签名证书导入到 DPA 应用程序服务器。
Instructions
有时,用户的 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结尾。如果文件不包含完整的证书链和私钥,则必须将证书导入到生成证书的密钥库中。如果您不确定证书链,请参阅 https://support.emc.com/kb/532108
验证在一个文件中拥有完整的证书链和私钥后,您应该拥有必须通过以下步骤导入的所有内容:
-
复制 apollo.keystore,并从 dpa/services/standalone/configuration 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 "/opt/emc/dpa/services/standalone/configuration/wildcard.pfx" -srcstoretype pkcs12 -destkeystore "/opt/emc/dpa/services/standalone/configuration/apollo.keystore" -deststoretype JKS
提醒:您必须指定签名证书文件 (srckeystore) 和 apollo.keystore (destkeystore) 的正确位置。有关系统要求您输入的内容的更多信息,请参阅下面的示例:/opt/EMC/DPA/services/_jre/bin: ./keytool -importkeystore -srckeystore "/opt/emc/dpa/services/standalone/configuration/wildcard.pfx" -srcstoretype pkcs12 -destkeystore "/opt/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 "/opt/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 支持。