【问题标题】:How to write a generic java client handling both 1-way and 2-way ssl?如何编写一个通用的 Java 客户端来处理 1-way 和 2-way ssl?
【发布时间】:2013-10-15 11:01:17
【问题描述】:

这是我所指的示例代码。 https://sites.google.com/site/ssljavaguide/example-code/2-way-ssl

我可以不设置keystore相关的属性,等待一些异常被抛出,然后根据异常的发生来决定是1路还是2路ssl连接?

如果问题看起来很愚蠢,请道歉。

【问题讨论】:

  • 如果链接失效,您可以将代码添加到问题中吗?

标签: java ssl ssl-certificate client-certificates


【解决方案1】:

由服务器请求客户端证书(如果没有请求,客户端将无法发送它)。

只有在服务器发出此类请求时才会使用您的客户端密钥库。在没有请求客户端证书时设置密钥库不是问题:它只是不会被使用。副作用是客户端将在请求时发送合适的证书。如果您需要更多控制权,则需要自定义 KeyManager

【讨论】:

  • 感谢您的回答。我还需要根据 SSL 是两种方式还是一种方式来进行一些 UI 更改。如果是两种方式,我打算建立一个 UI,列出给定密钥库中的证书,以便用户可以选择他的证书想介绍。那么,有没有一种方法可以检测 ssl 是单向还是双向
  • 如果您想要一些用户交互,您可能对this 感兴趣。您可能遇到的问题是来自 keymanager 的某些 UI 回调可能会导致延迟,因此这可能会导致握手期间超时,因此您可能必须根据用户在 UI 中选择的内容再次建立连接第一次。 (这取决于用户选择需要多长时间。)
猜你喜欢
  • 1970-01-01
  • 2012-03-23
  • 1970-01-01
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 2013-08-11
  • 1970-01-01
相关资源
最近更新 更多