gpt4 book ai didi

java - 不使用证书的加密 RMI 通信

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

我需要在同一台主机上创建两个 java 进程以安全地通信。我不需要对流程进行身份验证,所以我不想使用证书。

我想在服务端和客户端生成一个随 secret 钥,使用Elgamal在进程之间交换 key ;跨进程建立公共(public)对称 key ;然后进行安全通信。

据我所知,这可以通过实现 RMIServerSocketFactory 和 RMIClientSocketFactory 接口(interface)来建立对称 key 来完成,如上所述。

是否已经有一个实现可以做到这一点?

或者有没有办法配置 SslRMIServerSocketFactory 和 SslRMIClientSocketFactory 开始使用 ElGamal 作为 key 交换协议(protocol)

ElGamal 优于 RSA,因为 ElGamal 将为每次握手生成随机对称 key ,而 RSA 每次都会生成静态 key 。

最佳答案

I need to make two java proceses on the same host to communicate securely. I do not need to authenticate the processes so I don't want to use certificates.

不幸的是,您的推理从一开始就有缺陷。无论通信 channel 多么“坚固”,如果您想 secret 交换数据,您总是希望确保您正在与预期的一方进行通信。为此,必须以一种或另一种形式进行身份验证。

理论上,您可以取消证书并使用 PSK 密码套件(这将有效地包括身份验证步骤)。默认情况下,Oracle/OpenJDK JRE 不支持此功能。此外,如果您假设您的证书的私钥会被泄露(如您的 other question 所建议的那样),那么同样的问题也可能会发生在预共享 key 上。

关于java - 不使用证书的加密 RMI 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12777670/

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