将私钥作为字符串的 Java SFTP 客户端

2024-04-15

Apache Commons 和 JSch 都需要私钥文件来建立 SFTP 连接。我正在从事的项目将用于连接到多个 SFTP 服务器。因此,我们不希望部署多个私钥文件,而是将这些密钥作为字符串保存在加密的配置文件中。是否有不需要私钥文件对象的 SFTP 库?


JSch 有一个addIdentity方法重载 https://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/JSch.html#addIdentity-java.lang.String-byte:A-byte:A-byte:A-从缓冲区获取密钥:

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

有关实现的示例,请参见JSch:从存储在 hdfs 上的私钥添加身份 https://stackoverflow.com/q/50859100/850848#50930385.

也可以看看在 Android 应用程序中从 Java JSch 中的字符串或资源加载私钥 https://stackoverflow.com/q/56758040/850848获取缓冲区中密钥的格式。


备择方案:

还有一个addIdentity过载需要一个Identity界面 https://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/JSch.html#addIdentity-com.jcraft.jsch.Identity-byte:A-:

public class JSch {
    ...
    public void addIdentity(Identity identity, byte[] passphrase)

只需实现接口即可从您需要的任何地方获取私钥。

See IdentityFile示例实现。


或者,将所有密钥存储到IdentityRepository https://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/IdentityRepository.html.

public interface IdentityRepository {
    ...
    public boolean add(byte[] identity);
public class JSch {
    ...
    public synchronized IdentityRepository getIdentityRepository()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将私钥作为字符串的 Java SFTP 客户端 的相关文章

随机推荐

  • 每次引发异常时调用钩子函数

    假设我希望每次在程序中的任何位置引发任何异常时都能够记录到文件中 我不想修改任何现有代码 当然 这可以推广到每次引发异常时都能够插入一个钩子 下面的代码做这样的事情被认为是安全的吗 class MyException Exception d
  • D3:细化序数比例以返回颜色组?

    我已经设置了一个序数尺度D3 js https github com mbostock d3 wiki API Reference如下 到目前为止效果很好 var color d3 scale ordinal range blue red
  • 当用户导航到一个域内的其他页面时,谷歌分析如何跟踪事件

    在 Google 的文档中 据说可以通过以下方式跟踪事件 a click me a 或旧版本 a click me a 我正在使用 Firebug 查看单击链接时发出的请求 我看到有中止的请求 http www google analyti
  • 从对象中获取数据

    我正在尝试使用此代码从用户的 Twitter 帐户获取数据 user info twitteroauth gt get account verify credentials 我在一个对象中得到一个很长的值 stdClass Object i
  • java中的子包类可以访问父包类吗?

    在java父包类中可以从子包类访问吗 请给我解释一下吗 例子 包 A A1 A2 包含类 sub 包A包含类sup 有没有办法从 sub 访问 super 请解释一下 我尝试导入它不起作用 例子 在程序目录结构之前 package1 包含
  • 为什么每次保存文件时 vim 都会创建一个新文件?

    我有一个名为test test mypc ls i 4982967 test 然后我使用vim更改其内容并输入 w来保存它 它现在有一个不同的索引节点 test mypc ls i 4982968 test 这意味着它已经是一个不同的文件了
  • 如何使用 LINQ to Entities 包含另一个表中的一个特定行

    我有一个包含这两个表的数据库 Customer and CustomerStatus CustomerStatus是所谓的只读表 对客户状态的所有更改都会导致插入到该表中 当前客户状态可通过以下方式找到CustomerStatus Stat
  • 无法显示 Firebase 存储中的图像

    我正在使用新的 Firebase 存储并上传图像 然后获取下载网址 将下载网址转换为字符串后 我使用它在我的活动中显示 但它只显示下载网址 我使用下面的代码上传图像并获取下载网址 dialogBuilder setTitle Add Sho
  • 容器 div 标签的 100% 高度和宽度不起作用

    我的网页布局如下 以下 CSS 代码在 Internet Explorer 9 中为我提供了 100 的高度和宽度 虽然同样在 FF 和 Chrome 中为我提供了 100 的宽度 但不是 100 的高度 我尝试了几个例子 其中大多数都有相
  • 在 Android 浏览器中获取当前 URL

    我正在寻找一种方法来获取用户在 Android 浏览器应用程序上访问的当前 URL 我发现我可以从以下位置获取上次访问的 URLBrowser BOOKMARKS URI使用以下技术的数据库 Cursor cursor context ge
  • MySQL解释过滤列跳转4100带索引

    我的查询 EXPLAIN EXTENDED SELECT artwork id artwork added FROM artwork ORDER BY artwork added DESC LIMIT 0 6 当我在 添加 上添加索引以避免
  • 通过截断有效地将 OracleDecimal 转换为 .NET 十进制

    当我尝试使用 C 将以下 Oracle 空间对象转换为坐标集 小数 时 出现算术溢出异常 decimal OracleUdt GetValue MDSYS SDO GEOMETRY 2001 1041001 MDSYS SDO POINT
  • 如果搜索文本中的术语被换行符打破,如何使用 RegEx 查找术语

    假设我正在搜索 申请人 正如我之前发生过的事情一样 我收到一个如下的文本文件 We have considered the applica nt s experience and qualification and wish to gran
  • 模拟 Rails.env.development?使用 rspec

    我正在使用 rspec 编写单元测试 我想模拟 Rails env development 返回 true 我怎样才能做到这一点 我试过这个 Rails env stub development nil and return true 它抛
  • URI 中的路径可以包含 unicode 吗?

    有效的 URL 是否可以包含非转义的 Unicode 字符 是的 URI 中允许未转义的 ASCII 以及 Unicode 子集 例如字母和数字 但大多数 Unicode 字符集都必须进行百分比编码
  • MOXy 在 2.6.0 版本中支持非字符串 @XmlID 吗?

    根据https gist github com VineetReynolds 5108580 https gist github com VineetReynolds 5108580 JAXB 规范要求元素注释为 XmlID成为一个Stri
  • 如何启动 Perl 的交互式控制台?

    如何启动 Perl 的交互式控制台 类似于irbRuby 命令或python对于Python 您可以在一个简单的程序上使用 perl 调试器 如下所示 perl de1 该命令将启动 Perl 调试器 d 表达式1 e1 因为调试器想要调试
  • 消除java中的“\u3000”错误

    当我尝试编译java文件时 编译器说 非法字符 u3000 经过搜索 我发现是中日韩统一表意文字 https en wikipedia org wiki CJK Unified Ideographs中韩日的SPACE 我决定编写一个简单的搜
  • 如何使用 PhoneGap/Cordova 创建适用于 Windows Phone 7 的简单全景应用程序?

    我环顾四周 发现了几个适用于 Windows Phone 7 的基于 PhoneGap Cordova 的 HTML5 应用程序的示例 但它们似乎都没有向您展示如何制作全景或枢轴样式应用程序 而这些是该应用程序的一些主要吸引力 操作系统的用
  • 将私钥作为字符串的 Java SFTP 客户端

    Apache Commons 和 JSch 都需要私钥文件来建立 SFTP 连接 我正在从事的项目将用于连接到多个 SFTP 服务器 因此 我们不希望部署多个私钥文件 而是将这些密钥作为字符串保存在加密的配置文件中 是否有不需要私钥文件对象