Java 数据库中的JSch指纹
我有一个JavaServlet应用程序,它使用JSch将文档从我们的SAN映射到Servlet应用程序,所有这些都运行良好。但是,它是在Windows上运行的,为了使其正常工作,我们必须找到我们第一次从开发机器连接到SAN时创建的“主机密钥指纹”,并将其存储在文本文件中,然后让JSch指向该文件,如下所示:Java 数据库中的JSch指纹,java,servlets,sftp,jsch,Java,Servlets,Sftp,Jsch,我有一个JavaServlet应用程序,它使用JSch将文档从我们的SAN映射到Servlet应用程序,所有这些都运行良好。但是,它是在Windows上运行的,为了使其正常工作,我们必须找到我们第一次从开发机器连接到SAN时创建的“主机密钥指纹”,并将其存储在文本文件中,然后让JSch指向该文件,如下所示: jsch.setKnownHosts("C:\\path\\to\\file\\fingerprintfilename.txt"); 是否可以将主机密钥指纹存储在数据库中?然后我希望使用H
jsch.setKnownHosts("C:\\path\\to\\file\\fingerprintfilename.txt");
是否可以将主机密钥指纹存储在数据库中?然后我希望使用Hibernate为setKnownHosts命令检索指纹。我以前没有这样做过,但这应该是可能的。您可以使用方法
setKnownHosts(InputStream)
,不必从数据库中获取的数据创建临时文件。也许您必须在getBytes(charset)
方法中使用字符集才能使其正常工作。或者您可以直接将其存储为BLOB并使用字节
InputStream is = new ByteArrayInputStream("knownh hosts from the file".getBytes());
jsch.setKnownHosts(is);