JSch 从字符串中添加私钥

Posted

技术标签:

【中文标题】JSch 从字符串中添加私钥【英文标题】:JSch to add private key from a string 【发布时间】:2021-04-17 22:25:51 【问题描述】:

我将 SFTP 的密钥对文件的内容作为字符串。我需要使用 JSch 来添加内容,但 addIdentity 只接受文件路径。无论如何我可以做到这一点吗?

我看到KeyPair类有一个方法——

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

我不确定这是做什么的。

【问题讨论】:

【参考方案1】:

有一个addIdentity overload that takes the key from a buffer:

public class JSch 
    ...
    public void addIdentity(String name, byte[]prvkey, byte[]pubkey, byte[] passphrase)

另见Java SFTP client that takes private key as a string。

有关实现示例,请参阅JSch: addIdentity from private key stored on hdfs。

另请参阅Loading private key from string or resource in Java JSch in android app,了解缓冲区中密钥的格式。

【讨论】:

以上是关于JSch 从字符串中添加私钥的主要内容,如果未能解决你的问题,请参考以下文章

使用私钥取消 JSch Auth

使用 JSch 时出现“无效的私钥”

使用 JSch 接受的 ssh-keygen 创建 SSH 私钥 [重复]

JSch为Java生成的密钥对提供无效的私钥错误

从 base64 字符串 ECDSA 私钥创建 PrivateKey

JSch 多个隧道/跳转主机