代码之家  ›  专栏  ›  技术社区  ›  Zarkonnen

Java小程序中的现成SSL

  •  0
  • Zarkonnen  · 技术社区  · 17 年前

    我目前正试图实现一个(签名的)小程序通过SSL与服务器程序通信。我找到了为客户机、客户机的信任管理器和服务器创建密钥存储的正确方法。这允许我在客户端和服务器上创建兼容的SSL上下文。

    因此,作为一种备用方案,是否可以自动生成客户端密钥并使用“分叶”信任管理器来创建兼容的SSL上下文而无需任何配置?

    2 回复  |  直到 17 年前
        1
  •  2
  •   Neil Coffey    17 年前

    如果是 你的 您正在与之通信的著名服务器,以及SSL以某种方式导致您头痛,那么您也可以考虑仅放弃SSL的选项。

    已知的 然后,您可以始终生成RSA密钥对,将公钥粘贴到jar中的文件中,并使用枯燥的旧加密API发送和解释数据。只是一个想法。。。!

    我应该提到的是,我首先假设您有一个可靠的方法在您的客户机上安装软件。一位评论者正确地指出,如果情况并非如此,那么以这种方式分发公钥会受到中间人攻击(即MITM为其窃听服务器提供一个带有公钥的篡改jar)。我假设这不是您试图保护的线程模型,客户从可信的来源获得jar(例如,公司的工程师在他们的系统上安装程序)。如果他们通过互联网下载jar,通过电子邮件等方式发送,那么您仍然希望 签名

        2
  •  1
  •   erickson    17 年前

    我不明白。客户端应该已经有一个可信根证书存储区,它们可以用来对服务器进行身份验证。如果没有,服务器身份验证的意义何在?

    匿名(不推荐使用)密码套件,如 "TLS_DH_anon_WITH_AES_128_CBC_SHA" ,提供私隐。但是,此配置是无效的 易受中间人的伤害 攻击。在某些内部网络上,它可能是安全的,但一般来说,需要在应用层使用一些复杂的互锁协议来进行身份验证。


    更新以回应评论: