目前我正在处理 Java - SFTP客户端/服务器 - 设置中的概念问题。
基本上我有一个客户端将文件发送到远程服务器并将其存储在那里。但是:您通过计算机上的jar文件触发上传,因此任何人都可以解密jar文件并读取清除的java文件并获取我的sftp的凭据。
是否有任何技术可以解决此问题或您可以建议的一些解决方法?
问候和谢谢!
答案 0 :(得分:2)
将凭据放入公共/共享JAR文件是不可取的。它无法安全地完成,如果您需要让用户更换它们,则需要下载并安装新的JAR。
您无法将凭据保密。如果您的凭据需要在用户的计算机上使用,那么用户可以以某种方式提取它们。无论你尝试什么。 (假设他们控制着他们的机器....)
保存加密的凭据不会保护用户免受攻击。应用程序需要解密密钥。用户可以找到/解压缩然后恢复凭证。
最好为每个用户发出不同的上传凭据。这样,如果一个用户丢失或滥用其凭据,您可以使其无效,而不会影响其他用户。
答案 1 :(得分:-1)
如果我正确理解您的问题,那么根据您的java来源包含您的凭据这一事实。
首先,我强烈建议您使用jSch library来实现SSH2。
关于您的凭据,您可以找到答案here。 简而言之 - 保存您的凭证加密。