2013-02-05 29 views
0

我试图通过纯文本通信通道隧道(我想过使用base64),但我似乎无法找到不使用SSLSocket的tls服务器示例。是否存在与传输不可知的java tls服务器实现?

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

+1

一个随机想法的位,但你可以创建一个自定义['SocketFactory'](http://docs.oracle.com/javase/7/docs/api/javax/net/SocketFactory.html)文字流?根本不会有实际的套接字,但SSL实现不知道。 –

+0

是的,那可以工作。您将返回一个虚拟套接字和虚拟输入和输出流。 TLS根本不在乎。 OO编程,对吧?关于界面。 –

回答

2

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

+0

相当复杂一些;-) – EJP

相关问题