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