gpt4 book ai didi

java - 部署 Java 应用程序时处理安全性

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:36 25 4
gpt4 key购买 nike

我有一个允许通过 SLLSockets 共享文件的 Java 应用程序(部署为 JAR 文件)。如果所有用户都使用同一个证书,文件传输就不安全,因为它违反了非对称加密通信的核心概念。因此,我明白每个用户都需要有自己的证书。这提出了我的第一个问题:

  1. 如何以编程方式生成证书,将其存储在哪里?我不希望用户必须使用 keytool 生成他们自己的证书,然后必须告诉应用程序它所在的位置。

现在,假设我的第一个问题得到了回答,每个用户都有自己的证书。在打开两个主机之间的 SSL 连接之前,需要将彼此的证书添加到 trustStore。我知道实现此目的的唯一方法是通过套接字交换它们(请注意,我正在使用 JGroups 交换套接字连接信息)。这引出了我接下来的两个问题:

  1. 交换证书时如何保证身份验证和完整性?
  2. 如何以编程方式将收到的证书添加到 trustStore 中?

最后,整篇文章提出了我的第四个问题:

  1. 上述步骤是否是使用 SSLSocket 非对称加密通信在两台主机之间安全发送数据的正确方法?

最佳答案

您不一定需要客户端证书。

能不能不用用户名/密码认证?

您仍然可以仅通过使用服务器证书来保护传输。

客户端证书也有点麻烦,而且不完全安全。它们将你绑在一台机器上,邪恶的进程可以读取它们。智能卡可以缓解这种情况,但不是免费的。

关于java - 部署 Java 应用程序时处理安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30903576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com