在 Sun Glassfish 服务器中,我部署了一个通过 SSL 与外部 Web 服务通信的应用程序。
我已经使用 java keytool cli ( keytool -import -trustcacerts -keystore cacerts.jks -alias somealias -file somecert.cer
) 在 cacerts.jks 中手动导入了证书。
我验证一切正常,但过了一段时间后,事情停止工作,我在日志中得到以下输出:
[#|2010-06-18T09:13:23.930+0200|WARNING|sun-appserver9.1|...|_ThreadID=850;_ThreadName=p: thread-pool-1; w: 901;javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: The certificate chain from the server is not trusted|...|#]
从这里服务停止工作。根据日志,在异常发生前不久,证书受到质疑,服务器默认回复 no,我怀疑这是产生错误的原因。
但是是什么触发了服务器突然质疑证书呢?证书已在密钥库中导入并标记为受信任。所有日期都可以。我错过了什么吗?