我们在 Windows 2003 Server 上安装了 IBM Sterling Connect Direct 4.2,一切正常,甚至 SSL 配置也正常,我们可以正常交换文件。现在,我已经将所有配置迁移到Windows Server 2008集群环境中。一切都很好...我已经配置了 IBM Sterling Connect Direct 4.6.0.1 - 甚至 SSL 配置,我们只是复制/粘贴了证书、 key 证书和可信文件 -。一切正常,我们能够在 SSL session 下接收文件。但是......有一个异常(exception)......我们面临的问题是当我们尝试将文件发送给我们的合作伙伴时,我们收到此错误:
Message ID: CSPA311E
SSL Certificate verification failed, reason= self certificate in certificate chain:
随后出现此错误:
Message ID: CSPA309E
SSL3_GET_SERVER_CERTIFICATE certificate verify failed:
我们使用完全相同的配置,除了 IP 和服务器名称已更改之外。证书以任何方式链接到服务器名称或 IP?
非常感谢有关此问题的任何提示。
最佳答案
证书是针对特定域名或IP地址颁发的。我很确定这就是您错误的原因。您可以使用 JRE 或 JDK 安装附带的 keytool.exe 进行检查,该文件位于 /bin
目录中。因此,从命令行发出以下命令:
keytool.exe -printcert -file C:\path\to\your\file.crt
这将给出如下输出:
在第二行中您可以看到:Owner: CN=localhost, ...
这意味着该证书是为 localhost 颁发的。
如果此 CN 条目与新的 IP 地址或域名不同,您有两种可能性。
- 创建为该特定 IP 或域颁发的新证书。您可以再次使用java keytool.exe。
- 您需要更新用于检查证书有效性的客户端应用程序。因此,您需要告诉客户端不要根据远程服务器的真实 IP 地址或域名检查证书 CN 名称。 (出于安全原因不推荐。)
关于ssl - 出现此错误 : SSL3_GET_SERVER_CERTIFICATE certificate verify failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18290060/