NetWorker:LDAPS 集成失败,并显示“在尝试连接到 LDAPS 服务器时发生 SSL 握手错误:Unable to find valid certification path to requested target”
Сводка: 您正在尝试运行authc_config命令/脚本,以便向 NetWorker 添加 AD/LDAPS 外部身份验证。您的 LDAPS CA 证书已导入到 JAVA cacerts 密钥库,但收到错误消息“An SSL handshake error occurred while attempting to LDAPS server: unable to find valid certification path to requested target” ...
Данная статья применяется к
Данная статья не применяется к
Эта статья не привязана к какому-либо конкретному продукту.
В этой статье указаны не все версии продуктов.
Симптомы
以下描述导致错误消息
“An SSL handshake error occurred while attempting to connect to LDAPS server: unable to find valid certification path to requested target”(尝试连接到 LDAPS 服务器时发生 SSL 握手错误:无法找到请求目标的有效认证路径)的情况
“An SSL handshake error occurred while attempting to connect to LDAPS server: unable to find valid certification path to requested target”(尝试连接到 LDAPS 服务器时发生 SSL 握手错误:无法找到请求目标的有效认证路径)的情况
- 您尝试运行authc_config命令/脚本,以便使用 NetWorker 添加 AD/LDAPS 外部身份验证
- 您可以成功将 AD/LDAP(非 SSL)与 NetWorker 集成;仅在集成 SSL (LDAPS) 时才会出现此问题
- 您的 LDAPS CA 证书已导入 JAVA cacerts 密钥库。
- 您在环境中使用“证书链”。
Причина
根据NetWorker:如何配置 LDAPS 身份验证,您必须从 NetWorker 服务器上的 Java 信任密钥库中的 LDAPS 服务器导入 CA 证书,才能配置 LDAPS 外部身份验证。
出现此问题的原因是仅将链证书导入到 Java 信任密钥库。 对于证书链, 链中的所有证书都应按正确的链顺序正确导入到 Java 密钥库(下链到根证书)。导入证书时出现的任何问题都将导致证书验证失败。
当您从 NetWorker 服务器运行 openssl 命令到 LDAPS 服务器时,将标识此选项:
出现此问题的原因是仅将链证书导入到 Java 信任密钥库。 对于证书链, 链中的所有证书都应按正确的链顺序正确导入到 Java 密钥库(下链到根证书)。导入证书时出现的任何问题都将导致证书验证失败。
当您从 NetWorker 服务器运行 openssl 命令到 LDAPS 服务器时,将标识此选项:
OPENSSL_INSTALL_PATH\bin> openssl s_client -showcerts -connect ldaps-server.lab.emc.local:636 CONNECTED(00000124) depth=1 DC = LOCAL, DC = EMC, DC = LAB, CN = LDAPS-SERVER --- Certificate chain 0 s:/CN=LDAPS-SERVER.LAB.EMC.LOCAL i:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER -----BEGIN CERTIFICATE----- << removed for brevity >> -----END CERTIFICATE----- 1 s:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER i:/CN=ROOTCA-SERVER -----BEGIN CERTIFICATE----- << removed for brevity >> -----END CERTIFICATE-----
Разрешение
提醒:此过程中的最后一个步骤包括重新启动 NetWorker 服务器服务,以便在身份验证启动时读取导入 cacerts 密钥库的证书。在完成以下操作之前,确保未运行任何作业。
要解决证书错误,请按照以下过程操作:
1.从 Java cacerts 信任密钥库中删除以前导入的任何证书。
提醒:如果您已将证书导入 NetWorker authc.truststore 和/或 authc.keystore,则需要删除它们。
此 KB 中的进程利用 Java keytool 命令。可能需要将目录 (cd) 更改为 Java bin 目录。根据 Java 安装和操作系统,这可能有所不同。keytool 命令可在 Java 安装 bin 目录中找到。大多数 NetWorker 实施都使用 NetWorker Runtime Environment (NRE) for Java。
- Linux:/opt/nre/java/latest/bin
- Windows:C:\Program Files\NRE\java\jre#.#.#_###\bin
JAVA_INSTALL_PATH\bin> keytool -list -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit | findstr LDAPS-SERVER
ldaps-server, DATE-IMPORTED, trustedCertEntry,
JAVA_INSTALL_PATH\bin> keytool -list -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit | findstr ROOTCA-SERVER
rootca-server, DATE-IMPORTED, trustedCertEntry,
- LDAPS-SERVER 和 ROOTCA-SERVER 只是示例,您必须将这些值替换为与 LDAPS 服务器和根 CA 服务器对应的别名(通常使用主机名)。
- 即使使用 findstr/grep 时未显示证书。在不缩小结果的情况下查看输出,以确认 LDAPS 服务器和/或根 CA 服务器没有别名。 在上面的示例中,findstr 用于简洁性。
- Java cacerts 信任密钥库的默认 存储通道 是“changeit”。
- 将JAVA_INSTALL_PATH替换为 Java 安装的完整路径。
- 要从 authc.truststore 和/或 authc.keystore 中删除证书,请为 -keystore 指定这些文件的完整路径,并为 -storepass 指定 NetWorker authc 密码。在安装 NetWorker 期间配置 NetWorker authc 密钥库密码。
- Linux:
- /opt/nsr/authc-server/conf/authc.truststore
- /nsr/authc/conf/authc.keystore
- Windows:
- C:\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- Linux:
如果出现证书,则必须将其删除(否则转至下一步):
keytool -delete -alias ALIAS_NAME -keystore "PATH_TO_CACERTS_FILE" -storepass PASSWORD
示例:
JAVA_INSTALL_PATH\bin> keytool -delete -alias LDAPS-SERVER -keystore ..\lib\security\cacerts -storepass changeit
JAVA_INSTALL_PATH\bin> keytool -delete -alias ROOTCA-SERVER -keystore ..\lib\security\cacerts" -storepass changeit
2.使用 openssl 连接到 LDAPS 服务器:
openssl s_client -showcerts -connect LDAPS_SERVER:636
例子:
OPENSSL_INSTALL_PATH\bin> openssl s_client -showcerts -connect ldaps-server.lab.emc.local:636
CONNECTED(00000124)
depth=1 DC = LOCAL, DC = EMC, DC = LAB, CN = LDAPS-SERVER
---
Certificate chain
0 s:/CN=LDAPS-SERVER.LAB.EMC.LOCAL
i:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER
-----BEGIN CERTIFICATE-----
<< removed for brevity >>
-----END CERTIFICATE-----
1 s:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER
i:/CN=ROOTCA-SERVER
-----BEGIN CERTIFICATE-----
<< removed for brevity >>
-----END CERTIFICATE-----
提醒:默认情况下,Windows 通常不安装 OpenSSL;但是,Linux 会这样做。如果您的环境中有 Linux 系统,则只需使用该系统即可使用 OpenSSL 收集 SSL 证书信息;否则,请检查是否可以在 Windows NetWorker 服务器上安装 OpenSSL。
3、 a. 将链证书(包括-----BEGIN证书-----标头和-----END CERTIFICATE-----页脚复制到文本文件中,例如:chain.cer
3、b. 将根证书(包括-----BEGIN证书-----标头和-----END CERTIFICATE-----页脚复制到文本文件中,例如:root.cer
4。将链证书导入 Java cacerts 信任密钥库,然后导入所有证书,直至根证书:
示例:
JAVA_INSTALL_PATH\bin> keytool -import -alias LDAPS-SERVER -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit -file "PATH_TO\chain.cer"
<< removed for brevity >>
Trust this certificate? [no]: y
Certificate was added to keystore
JAVA_INSTALL_PATH\bin> keytool -import -alias ROOTCA-SERVER -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit -file "PATH_TO\root.cer"
<< removed for brevity >>
Trust this certificate? [no]: y
Certificate was added to keystore
- 将别名值替换为与您的环境相对应的别名,例如 LDAPS 和 CA 服务器的主机名。
- 将 PATH_TO 替换为为 chain.cer 和 root.cer 创建的文件位置的完整路径。
- 确保导入期间不会输出其他错误。
5.重新启动 NetWorker 服务。authc 服务在启动时读取 cacerts 密钥库:
Linux:nsr_shutdown
systemctl start networker
Windows: net stop nsrd /y & net start nsrd
警告:如果未重新启动 NetWorker 服务,则不会读取证书更改,并且问题仍然存在。
6.完成 LDAPS 集成:
NetWorker:如何从 NetWorker Web 用户界面 (NWUI) 配置“AD over SSL”(LDAPS)
NetWorker:如何配置 LDAPS 身份验证。
Дополнительная информация
Затронутые продукты
NetWorkerПродукты
NetWorkerСвойства статьи
Номер статьи: 000173094
Тип статьи: Solution
Последнее изменение: 23 May 2025
Версия: 5
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.