我有 SFTP 密钥对文件的内容作为字符串。我需要使用 JSch 添加内容,但是
addIdentity
只接受文件路径。无论如何我可以做到这一点吗?
我看到
KeyPair
类有一个方法 -
KeyPair load(JSch jsch, byte[] bytes, byte[] bytes1)
我不确定这是做什么的。
addIdentity
重载,从缓冲区中获取密钥:
public class JSch {
...
public void addIdentity(String name, byte[]prvkey, byte[]pubkey, byte[] passphrase)
另请参阅 将私钥作为字符串的 Java SFTP 客户端。
有关实现示例,请参阅 JSch: addIdentity from private key storage on hdfs。
另请参阅 从 Android 应用程序中的 Java JSch 中的字符串或资源加载私钥,了解缓冲区中密钥的格式。
您只需执行以下操作即可
String privateKeyValue = "You private Key String";
jsch.addIdentity(null, privateKeyValue.getBytes(), null, null);