2

我从 github api 获得了一个公钥,所以它的格式是 ssh 读取它所需的格式。

我想格式化为 PEM,这样我就可以使用 ruby​​ 的 OpenSSL 库来处理它,特别是我需要一个OpenSSL::PKey::RSA实例。

本质上,我喜欢 Ruby 中的这个命令:

ssh-keygen -f testing_rsa.pub  -e -m pem

我找到了SSHKey gem,但它似乎没有做这个特定的事情。

有没有办法使用 OpenSSL 或其他库来做到这一点,还是我需要求助于这些其他答案的建议并手动转换它?

4

1 回答 1

2
require 'open3'

def key_file_in_pem_format key_file
  stdout, status = Open3::capture2('ssh-keygen', '-f', key_file, '-e', '-m', 'pem')
  raise unless status == 0
  stdout
end

这会将 ssh-keygen 程序的输出作为字符串返回。

于 2013-04-19T14:09:15.973 回答