在java中转换ssh密钥

在java中转换ssh密钥,java,jsch,Java,Jsch,是否有一个java库可以将ssh2密钥转换为openssh密钥。与适用于windows的puttykeygen.exe应用程序非常相似。您可以使用PEMWriter将私钥转换为大多数应用程序都能接受的PEM格式(.key) 下面的示例转换从密钥库(JKS)返回的密钥 您是否需要现有的库,或者是否可以将Java代码片段合并到您的项目中?这不应该太难。另外,你能为你的源文件格式和目标文件格式提供规范的链接吗?可能重复-我需要一个现有的库,这两种文件格式完全不同,我不知道它们是如何生成的。我所知道的只

是否有一个java库可以将ssh2密钥转换为openssh密钥。与适用于windows的puttykeygen.exe应用程序非常相似。

您可以使用PEMWriter将私钥转换为大多数应用程序都能接受的PEM格式(.key)

下面的示例转换从密钥库(JKS)返回的密钥


您是否需要现有的库,或者是否可以将Java代码片段合并到您的项目中?这不应该太难。另外,你能为你的源文件格式和目标文件格式提供规范的链接吗?可能重复-我需要一个现有的库,这两种文件格式完全不同,我不知道它们是如何生成的。我所知道的只是puttygen成功地在两者之间转换,但是我需要做puttygen在java中所做的事情。您的代码应该拥有什么许可证?如果它是一个兼容的FOSS许可证,您可能会很好地了解其他人(我这里主要考虑OpenSSH)是如何做到这一点的,然后将其移植到java
Key privateKey = KeyStore.getKey(privateKeyAlias, keyStorePassword);//get key from JKS
StringWriter stringWriter = new StringWriter();
PEMWriter pemWriter = new PEMWriter(stringWriter);
pemWriter.writeObject(privateKey);
pemWriter.close();

byte[] privateKeyPEM = stringWriter.toString().getBytes();