【问题标题】:Is there a way to update Server about the SSLHandshake exception from client?有没有办法从客户端更新有关 SSLHandshake 异常的服务器?
【发布时间】:2021-05-14 00:15:12
【问题描述】:

这是我的情况。我有两个主机 HostA 和 HostB。我们在 HostA 上触发工作流。 HostA 将此工作流程传递给 HostB 以实际处理它。现在一个工作流由 5 个作业组成。作业完成后,HostB 必须通知 HostA 工作流中的一项作业已完成。为了传递此信息,HostB 充当客户端并验证 HostA 证书,并且出于所有真正原因在验证时抛出异常。这会导致 SSLHandshake 失败。因此,HostA 中的工作流状态将永远挂起,因为 HostB 无法到达 HostA。 HostB 有一个基于 Java 的实现。我们创建我们的 REST 客户端 (apache.cxf) 并向其添加 TLS 验证器。我们对此验证器有自己的自定义实现。

我想知道的是有什么方法或设计可以解决这个问题。我不希望在证书验证失败时发生通信,但我确实希望通知服务器(在本例中为 HostA)发生 SSLHandshake 失败。

到目前为止,我能想到的唯一解决方案是在尝试到达 HostA 的方法中捕获异常,检查它是否是 SSLHandshakeException,然后将错误传播到带有未验证的 rest 客户端的服务器证书。

如果还有其他更好的解决方案,我想知道。 感谢您花时间浏览内容。

【问题讨论】:

  • 不,幸运的是,您无法从客户端更新服务器配置。

标签: java cxf tls1.2 sslhandshakeexception


【解决方案1】:

也许你可以通过 http 暴露一点点,或者使用套接字和另一个端口

我正在使用一个站点,该站点不断更改证书,定期出现许多 ssl 异常... 我们安排了一个每天使用证书存储验证 url 的作业,如果失败,则使用新证书更新存储(sh + curl + openssl)

【讨论】:

    猜你喜欢
    • 2021-08-10
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多