gpt4 book ai didi

java - 时区更改会影响 SSL 握手吗?

转载 作者:行者123 更新时间:2023-11-29 04:38:08 24 4
gpt4 key购买 nike

我遇到了一个奇怪的问题(没有采取任何行动就解决了:-)),只是想知道是否有人知道它是如何发生的。

背景:

所以我的测试服务器有一个逻辑,它使用 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 时,它开始工作了。我今天和 2016 年 11 月 2 日 将问题留给了 cehck,只需重新启动 jvm 一切正常。证书验证/连接没有问题。我发现的一个奇怪事实是 java 默认时区从 UTC 更改为 America/Los Angeles。夏令时也设置为真(好的,十月已经结束)。

问题:

时区与 SSL 握手有任何联系吗?我没有看到环境/代码有任何其他变化。有人知道这件事吗?我希望这不会违反问题标准:-)

最佳答案

在正确编写的 TLS 堆栈中,当前时区无关紧要。证书的到期时间使用 UTC 存储,因此与时区无关。因此,比较时间也应为 UTC。在适当的操作系统上,本地时间也在内部存储在 UTC 中,尽管 Windows 可能是一个异常(exception)。因此,如果全部使用 UTC,则时区的更改将没有问题。当然,仍然可能有人通过使用取决于时区的功能搞砸了这个很好的理论。

关于java - 时区更改会影响 SSL 握手吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com