【发布时间】:2019-11-15 22:39:04
【问题描述】:
我有一个 OpenSSH 格式的私钥文件:
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
但我需要 RSA 格式:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
在终端上我会这样做:
ssh-keygen -p -m PEM -f my-openssh-file
但我需要用 Java 来完成。
我尝试过使用 org.bouncycastle.openssl.PEMWriter,但我不知道如何将我的输入密钥(作为输入字符串)转换为可以传递给 PEMWriter 的 PrivateKey 对象。
【问题讨论】:
-
openssh 格式相对较新,目前除了 openssh 之外的其他任何东西都不支持。
-
@JamesKPolk 是的,不幸的是,这正是我想将其转换为 RSA 的原因。当您使用 ssh-keygen 时,最新版本的 OSX Mojave 默认会生成 openssh 密钥文件,因此我们看到不少用户无意中使用了这些密钥文件。想要为他们自动转换。