Class: OpenSSL::PKey::RSA

Inherits:
Object
  • Object
show all
Defined in:
lib/keystores/jks/pkcs8_key.rb

Instance Method Summary collapse

Instance Method Details

#to_pkcs8Object



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/keystores/jks/pkcs8_key.rb', line 74

def to_pkcs8
  integer = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new('0'))
  oid = OpenSSL::ASN1::ObjectId.new('rsaEncryption')
  sequence = OpenSSL::ASN1::Sequence.new([oid, OpenSSL::ASN1::Null.new(nil)])

  params = self.params
  version = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new('0'))
  n = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['n']))
  e = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['e']))
  d = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['d']))
  p = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['p']))
  q = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['q']))
  dmp1 = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['dmp1']))
  dmq1 = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['dmq1']))
  iqmp = OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(params['iqmp']))

  params_sequence = OpenSSL::ASN1::Sequence.new([version, n, e, d, p, q, dmp1, dmq1, iqmp])

  octet_string = OpenSSL::ASN1::OctetString.new(params_sequence.to_der)
  OpenSSL::ASN1::Sequence.new([integer, sequence, octet_string])
end

#to_pkcs8_derObject



96
97
98
# File 'lib/keystores/jks/pkcs8_key.rb', line 96

def to_pkcs8_der
  to_pkcs8.to_der
end

#to_pkcs8_pemObject



100
101
102
# File 'lib/keystores/jks/pkcs8_key.rb', line 100

def to_pkcs8_pem
  to_pkcs8.to_pem
end