JSch 从字符串添加私钥

问题描述 投票:0回答:2

我有 SFTP 密钥对文件的内容作为字符串。我需要使用 JSch 添加内容,但是

addIdentity
只接受文件路径。无论如何我可以做到这一点吗?

我看到

KeyPair
类有一个方法 -

KeyPair load(JSch jsch, byte[] bytes, byte[] bytes1)

我不确定这是做什么的。

java ssh sftp jsch private-key
2个回答
13
投票

有一个

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 中的字符串或资源加载私钥,了解缓冲区中密钥的格式。


0
投票

您只需执行以下操作即可

String privateKeyValue = "You private Key String";
jsch.addIdentity(null, privateKeyValue.getBytes(), null, null);
© www.soinside.com 2019 - 2024. All rights reserved.