有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

没有身份验证或存储的Java SSLsocket?

我有两个java应用程序需要通过加密的TCPsocket相互通信,但它们不需要相互验证(一个将接受另一个的连接)。有人能给我指一个教程/代码片段来帮助我设置这些吗

我正在寻找一些相当简单的东西,我不想提供任何密钥库或信任库材料

编辑:我应该在这里更具体一些。我的意思是,他们不必通过SSL相互验证。我必须在应用程序级别进行一些非平凡的身份验证,因此我不能使用任何基于SSL的身份验证方案

此外,到目前为止(截至2010年10月3日中午)发布的答案中的一些链接需要密钥库文件。有没有一种简单的方法可以通过编程生成所需的密钥


共 (1) 个答案

  1. # 1 楼答案

    重申Chris Jester Young的建议——如果你没有身份验证,那么你可能在安全地通信,但你不知道你在安全地与谁通信。你可以很安全地与坏人沟通(他将你所说的一切转告给你希望与你直接交谈的人)

    然而,有一个非常轻量级的身份验证方案可能适合您的目的,称为TOFU(首次使用时信任)。这是您使用SSL并为每一方生成自签名证书的地方——但是您不会跳过证书验证。相反,在与给定对等方的第一次连接上,您接受任何证书并将其存储在本地;在与该对等方的后续连接中,您只接受保存的证书。这类似于默认情况下主机身份验证的ssh工作方式,并提供了对“我现在和他说话的人就是我昨天和他说话的那个人”的身份验证