【问题标题】:Is there a java tls server implementation that is transport agnostic?是否有与传输无关的 java tls 服务器实现?
【发布时间】:2013-02-05 23:24:45
【问题描述】:

我正在尝试通过纯文本通信通道(我考虑过使用 base64)隧道 tls,但我似乎找不到不使用 SSLSocket 的 tls 服务器示例。

对于 tls 客户端,我能够找到与传输无关的充气城堡 TlsProtocolHandler,因为它只使用输入和输出流,但对于服务器 tls 实现,我找不到类似的东西。

【问题讨论】:

  • 有点随机的想法,但你能创建一个自定义的SocketFactory 来包装你的文本流吗?根本不会涉及实际的套接字,但 SSL 实现不会知道这一点。
  • 是的,这可行。您将返回一个人造套接字和人造输入和输出流。 TLS 根本不在乎。 OO 编程,对吧?关于界面的一切。

标签: java ssl


【解决方案1】:

您可能遇到的困难之一是将证书的概念映射到您的自定义传输。证书(或更一般地证明服务器的身份)对于 SSL/TLS 通道的安全性至关重要,以防止 MITM 攻击。身份验证既需要检查证书是否受信任,又需要检查证书的身份是否与您尝试访问的实体相对应(主机名验证)。默认情况下不启用主机名验证,但是如果您没有主机名,则无论如何您都需要找到类似的东西(例如,这可能是 unix 套接字的问题,尽管在这种情况下使用 SSL 可能不会反正感觉)。

【讨论】:

  • 相当复杂 ;-)
猜你喜欢
  • 1970-01-01
  • 2011-06-20
  • 2011-10-12
  • 2011-09-15
  • 1970-01-01
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 2015-05-21
相关资源
最近更新 更多