当前我正在处理我的 java -sftp client/server中的概念问题 - setup 。
基本上,我有一个客户端将文件发送到远程服务器并将其存储在此处。但是:您通过计算机上的JAR文件触发上传,因此任何人都可以解密JAR文件并读取清晰的Java文件并获得我的SFTP的凭据。
是否有任何技术可以解决此问题或您可以建议的解决方案?
问候,谢谢!
-
将凭据放入通用/共享的JAR文件中是不可接受的。它不能安全地完成,如果您需要让用户更换他们需要下载并安装新的罐子。
-
您无法将凭据保持私密性。如果您的凭据需要在用户的计算机上使用,则可以以某种方式提取它们。无论您尝试什么。(假设他们控制了自己的机器....)
-
保存凭据加密并不能保护它们免受用户的侵害。该应用程序需要解密密钥。用户可以找到/提取该凭据。
-
最好为每个用户发布不同的上传凭据。这样,如果一个用户损失或滥用他的凭据,您可以无效地无效。
如果我正确理解您的问题,则植根于您的Java源包含您的凭据的事实。
首先,我强烈建议使用JSCH库来实现SSH2。
关于您的凭据,您可以在此处找到答案。简而言之 - 保存您的凭据加密。