module Pem2xml

Constants

VERSION

Public Class Methods

main() click to toggle source
# File lib/pem2xml.rb, line 9
def self.main()
  file_name = ARGV[0]
  raise "key file doesn't exists" if (file_name == nil) || !File.exists?(file_name)
  puts "loading #{file_name}"
  file = File.open file_name
  key = OpenSSL::PKey::RSA.new file
  puts key.to_xml.to_s
end
process_private(key) click to toggle source
# File lib/pem2xml.rb, line 30
def self.process_private(key)
  doc = RSAXML.new
  params = {
    'Modulus' => key.n.to_base64,
    'Exponent' => key.e.to_base64,
    'P' => key.p.to_base64,
    'Q' => key.q.to_base64,
    'DP' => key.dmp1.to_base64,
    'DQ' => key.dmq1.to_base64,
    'InverseQ' => key.iqmp.to_base64,
    'D' => key.d.to_base64,
  }
  doc.add_params params
  return doc
end
process_public(key) click to toggle source
# File lib/pem2xml.rb, line 46
def self.process_public(key)
  doc = RSAXML.new
  params = {
    'Modulus' => key.n.to_base64,
    'Exponent' => key.e.to_base64,
  }
  doc.add_params params
  return doc
end