获取'java.security.cert.CertPathValidatorException:timestamp check failed'但证书未过期并在其他服务器上工作

时间:2017-02-27 08:06:36

标签: java oracle ssl-certificate weblogic sha1

我们正在升级我们的环境,其中包括weblogic服务器升级。目前我们在Weblogic 10.3.6上运行UAT,它从另一个应用程序连接到数据库,我们使用SHA1证书来保护连接。

现在我们正在升级到Weblogic 12.1.3并使用相同的证书,服务器无法连接到数据库并提供以下错误,

Caused by: org.springframework.jdbc.UncategorizedSQLException: Executing query; uncategorized SQLException for SQL [SELECT * FROM DATAROOM]; SQL state [null]; error code [0]; java.security.PrivilegedActionException: weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection for datasource 'GOV-UDAM-VIEWER'. The DBMS driver exception was: [FMWGEN][SQLServer JDBC Driver]SSL handshake failed: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed; nested exception is java.sql.SQLException: java.security.PrivilegedActionException: weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection for datasource 'GOV-UDAM-VIEWER'. The DBMS driver exception was: [FMWGEN][SQLServer JDBC Driver]SSL handshake failed: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
    at org.springframework.batch.item.database.AbstractCursorItemReader.initializeConnection(AbstractCursorItemReader.java:427)
    at org.springframework.batch.item.database.AbstractCursorItemReader.doOpen(AbstractCursorItemReader.java:402)
    at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.open(AbstractItemCountingItemStreamItemReader.java:139)
    ... 18 more
Caused by: java.sql.SQLException: java.security.PrivilegedAction

根据我的理解,当服务器过期时会出现此错误,但在这种情况下服务器有效,而且我们的旧UAT能够连接到服务器。

请帮我深入解决这个问题。

1 个答案:

答案 0 :(得分:3)

不是解决方案,而是建议:

我记得前一段时间遇到过类似的问题,解决方案就是其中一台服务器(应用程序或数据库服务器,不再确定)上的系统时钟未正确设置。这是通过修复服务器上的NTP守护程序来解决的,该守护程序由于某种原因或其他原因在一段时间之前停止工作。可能是软件更新对所涉及的时间戳执行更严格的检查,这导致问题仅在更新后显示。

但请注意,这不是与Java相关的,而是C#,也是几年前的。所以它可能不适用于你的情况,甚至可能被我部分误解。