因此,我有一个有效的协议,客户端需要使用用户和密码进行身份验证才能登录到服务器。然后,服务器和客户端将交换消息和文件。一切正常,我正在使用输入/输出流。我还需要为会话和用户/密码身份验证添加加密。我不想在我的jar中存储对称密钥,所以我想我需要一个公钥/私钥。我知道我可以使用公共/私有加密来发送对称密钥,但我真的不知道如何在Java中做到这一点。我想我可以只对邮件使用加密,而不是文件传输。
我用谷歌搜索了一下,发现了在java套接字中使用密码学的各种方法,最好的(正确的)方法是什么?使用CipherOutput(输入)流?还是有别的办法?
如果有人能发布一段代码,我将不胜感激
发布于 2010-09-24 19:55:19
SSL。请参阅javax.net.ssl和JSSE参考指南。
发布于 2010-09-24 20:32:53
如果你的时间很紧,你可以借助于SSH port forwarding。
您将在服务器上设置防火墙规则,仅允许从防火墙主机直接访问明文端口。
然后,在客户端上设置端口转发SSH会话( ssh客户端上的-L选项)。
然后,客户端机器将与转发端口上的本地主机进行明文通信,并且所有会话都将通过SSH隧道进行加密。
https://stackoverflow.com/questions/3786601
复制相似问题