Method: Tem::Cert.create_issuer_cert

Defined in:
lib/tem/_cert.rb

.create_issuer_cert(key) ⇒ Object

Parameters:

  • key

    An OpenSSL::PKey instance that will be this cert’s key and will be used to sign this cert



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/tem/_cert.rb', line 13

def self.create_issuer_cert(key)
  issuer_cert = OpenSSL::X509::Certificate.new
  issuer_cert.public_key = key.public_key
  issuer_dist_name = OpenSSL::X509::Name.new [['CN', 'TEM Manufacturer'], ['L', 'Cambridge'], ['ST', 'Massachusetts'],\
                       ['O', 'Trusted Execution Modules, Inc.'], ['OU', 'Certificates Division'], ['C', 'US']]
  issuer_cert.issuer = issuer_dist_name
  issuer_cert.subject = issuer_dist_name
  issuer_cert.not_before = Time.now
  issuer_cert.not_after = Time.now + (60 * 60 * 24 * 365.25) * 10
  issuer_cert.sign key, OpenSSL::Digest::SHA1.new
  return issuer_cert
end