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

标签 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 能够连接到服务器。

请帮我深入研究这个问题。

最佳答案

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

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

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

关于java - 获取 'java.security.cert.CertPathValidatorException: timestamp check failed' 但证书未过期并且在其他服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42480587/

相关文章:

java - WebDriver 未在 Cucumber 测试中实例化

mysql - 如果满足其中一个 case 语句,如何结束 SQL case 语句?

sql - SQL 脚本中的条件

ssl - 证书链中中间证书的用途是什么?

ssl - 旧客户端的 SSL 证书和具有相同公钥/私钥的新证书

Java HttpsServer - 强制 TLSv1.1

java - 存储多人 PvP 数据的有效方法?

java - 嵌入式模式下的 neo4j + heroku;存储选项?

java - 如何使用indexOf()在Java中提取行

oracle - plsql:在分组语句中获取另一个字段值以及聚合值