Java SSL/TLS使用匿名Diffie Hellman协议

3
我有一个基于Java编写的简单客户机/服务器应用程序,它使用普通套接字进行通信。
我想防止被动窃听攻击,并通过TLS/SSL进行通信。我不希望应用程序用户在设置证书等方面遇到麻烦,我想使用匿名Diffie Hellman的SSL套接字,使用AES加密(TLS_DH_anon_WITH_AES_128_CBC_SHA模式)。
然而,我找不到任何适当的示例或文档,说明如何设置SSLContext或SSLSocketFactory以启用所需的模式。我希望能提供一个最小的示例。

1
你知道匿名密码套件是不安全的吗? - user207421
EJP,正如我在问题中所述,我的目标是防止“被动窃听”,我认为这符合我的安全要求。 - sharjeel
1个回答

2

2
从工厂获得的SSLSocket上调用 setEnabledCipherSuites(new String[] { "TLS_DH_anon_WITH_AES_128_CBC_SHA" }。正如EJP所说,匿名密码套件容易受到中间人攻击(MITM)。通常,在执行被动窃听的位置的攻击者也能够执行MITM攻击。 - Bruno
我希望我能使用TLS-PSK,但Java没有它 :( - sharjeel
如果获取证书是一个问题,您可以始终使用自签名证书,将其显式导入到信任存储中。我怀疑PSK需要的配置量会比那还少。 - Bruno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接