出现此错误:SSL3_GET_SERVER_CERTIFICATE证书验证失败

时间:2013-08-17 14:51:54

标签: ssl

我们在Windows 2003 Server上安装了IBM Sterling Connect Direct 4.2,一切正常,即使是SSL配置,我们也正确地交换文件。现在,我已将所有配置迁移到Windows Server 2008群集环境。一切都没问题......我已经配置了IBM Sterling Connect Direct 4.6.0.1 - 即使是SSL配置,我们只是复制/粘贴了证书,密钥和可信文件。一切都很好,我们能够在SSL会话下接收文件。但是......有一个例外..我们面临的问题是当我们尝试向合作伙伴发送文件时,我们会收到此错误:

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?

非常感谢任何有关此问题的提示。

1 个答案:

答案 0 :(得分:2)

为特定域名或IP地址颁发证书。我很确定这是你错误的原因。您可以使用随JRE或JDK安装一起提供的keytool.exe进行检查,该目录位于/bin目录中。因此,从命令行发出以下命令:

keytool.exe -printcert -file C:\path\to\your\file.crt

这会产生如下输出: enter image description here

在第二行中,您可以看到:Owner: CN=localhost, ...表示此证书是为localhost颁发的。

如果此CN条目与新IP地址或域名不同,则有两种可能性。

  1. 为特定IP或域颁发新证书。您可以再次使用java keytool.exe。
  2. 您需要更新检查证书有效性的客户端应用程序。因此,您需要告诉客户端不要根据远程服务器的真实IP地址或远程名称检查证书CN名称。 (由于安全原因,不推荐使用。)