【发布时间】:2017-03-15 07:48:12
【问题描述】:
我遇到了一个奇怪的问题(无需任何操作即可解决 :-)),只是想知道是否有人知道它是如何发生的。
背景:
所以我的测试服务器有一个逻辑,它使用 REST URL 连接到支付网关(第三方)以获取它支持的银行列表。由于它是一个后台连接和恒定服务 URL,我为我的 http 客户端使用了虚拟信任库(类似于 this)。我的应用程序在具有 UTC 时区的服务器上运行。
问题:
从 2016 年 10 月 31 日 EOD 到 2016 年 11 月 1 日 EOD,这就是它的开始方式——访问 https REST URL 时,它会引发“javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常。 java版本是open-jdk-1.7.0.09 &我在不同的服务器上尝试了相同的配置,情况是一样的。当我在一台服务器中将 java 更新为 1.7.0.101 时,它开始工作。我今天把问题留给了 cehck 在Nov 2, 2016 上,只需重启 jvm 一切正常。证书验证/连接没有问题。我发现一个奇怪的事实是 java 默认时区从 UTC 更改为 America/Los Angeles。此外,夏令时设置为 true(Ok 十月已结束)。
问题:
时区是否与 SSL 握手有任何连接?我没有看到环境/代码有任何其他变化。有人知道吗? 我希望这不违反问题标准:-)
【问题讨论】:
标签: java datetime ssl timezone sslhandshakeexception