【问题标题】:Temporary - unable to find valid certification path to requested target临时 - 无法找到到所请求目标的有效认证路径
【发布时间】:2021-03-28 09:24:53
【问题描述】:

我们正在从 Spring 应用程序进行 graphQL 调用。我们收到以下证书异常。

我们针对我们管理的不同 Shopify 用户(每个用户都由商店 ID 标识)发出此调用。 graphQL 调用的域将根据用户而变化(即,我们将在 URL 上拥有商店 ID)。我们正在为某些商店(某些域)获得以下证书例外。但是证书对于所有域都是通用的。一段时间后,我们遇到此问题的同一个域不再发生此异常。

sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径

如果它是永久性的,我可以将证书信息更新为 java.util.但这仅在某些呼叫和特定时间段内发生。然后它开始为那里的失败域正常工作。

【问题讨论】:

  • 这不是总是发生在同一组用户身上吗?是否存在不同的服务器,它们并非都在相同的配置中运行?
  • 是的,我也这么认为。它会在特定时间段内发生在某些用户身上,然后就不会发生。如果该用户是我们系统中的新用户,并且一开始就发生这种情况,我可以再检查一件事。我被要求添加记录器以捕获握手失败。我阅读了有关使用 VM 选项启用 ssl 日志的信息。您能否推荐一个,这样它就不会生成大量日志并提供调试此问题所需的信息。

标签: java spring-boot shopify shopify-app handshake


【解决方案1】:

我们在系统中添加了警报,以便在发生此故障时立即尝试本地域。然后我们在 postman 中复制了这个问题,并编写了一段代码来重现 java 网络调用并检查日志。在 postman 上,我们得到了重定向的响应。

openDNS 部署在我们的组织中,作为我们网络的额外安全层。正如我在问题描述中提到的,每个用户的部分域都会发生变化。如果 openDNS 根据其策略未在受信任的域中找到某些域并被阻止 48 小时,则会将其视为威胁。 openDNS 正在响应来自 openDNS 服务器的阻止消息,它将具有在 java 中不存在的 openDNS 证书,从而导致证书异常。

因此,我们仅在 48 小时内看到此故障,然后它被 openDNS 允许。

在 openDNS 上配置了部分未更改的域以信任该域来解决此问题。

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 2015-02-13
    • 2019-10-15
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多