数据库中的JSch指纹

时间:2014-05-08 11:14:22

标签: java servlets sftp jsch

我有一个Java Servlet应用程序,它使用JSch从我们的SAN到Servlet应用程序的SFTP文档,一切运行良好。但是,它在Windows上运行并且为了实现这一点,我们必须找到当我们第一次从开发机器连接到SAN时创建的“主机密钥指纹”,并将其存储在文本文件中,然后让JSch指向此文件如下;

jsch.setKnownHosts("C:\\path\\to\\file\\fingerprintfilename.txt");

是否可以将主机密钥指纹存储在数据库中?然后我希望使用Hibernate来检索setKnownHosts命令的指纹。

1 个答案:

答案 0 :(得分:0)

我之前没有这样做,但它应该是可能的。您可以使用方法setKnownHosts(InputStream),而不必从从DB获取的数据创建临时文件。也许您必须在getBytes(Charset)方法中使用charset才能使其正常工作。或者您可以直接将其存储为BLOB并使用字节。

InputStream is = new ByteArrayInputStream("knownh hosts from the file".getBytes());
jsch.setKnownHosts(is);