【问题标题】:Convert ssh public key to pem format将 ssh 公钥转换为 pem 格式
【发布时间】:2013-04-12 17:42:05
【问题描述】:

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

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

基本上,我希望在 Ruby 中使用这个命令:

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

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

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

【问题讨论】:

  • 用系统从 Ruby 运行该命令怎么样?
  • 这总是一个选择,我只是希望不必这样做。

标签: ruby encoding openssl openssh


【解决方案1】:
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 程序的输出作为字符串返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-03
    • 2017-10-14
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多