Class: FakeSSL::Cert

Inherits:
Object
  • Object
show all
Defined in:
lib/fakessl/fakessl.rb

Instance Method Summary collapse

Constructor Details

#initialize(domain) ⇒ Cert

Returns a new instance of Cert.



19
20
21
# File 'lib/fakessl/fakessl.rb', line 19

def initialize(domain)
  FakeSSL.domain = domain
end

Instance Method Details

#generateObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/fakessl/fakessl.rb', line 24

def generate
  puts "[+] Generating fake key and certificate for #{FakeSSL.domain}"
  #generate keys
  key = OpenSSL::PKey::RSA.new 4096
  open "#{FakeSSL.domain}.key", 'w' do |io| io.write key.to_pem end

  #generate certificate 
  name = OpenSSL::X509::Name.parse "CN=#{FakeSSL.domain}/DC=server"
  cert = OpenSSL::X509::Certificate.new
  cert.version = 2
  cert.serial = 0
  cert.not_before = Time.now
  cert.not_after = Time.now +  ( 3600 * 24 * 365 )
  cert.public_key = key.public_key
  cert.subject = name

  #selfsign certificate
  cert.issuer = name
  cert.sign key, OpenSSL::Digest::SHA1.new
  open "#{FakeSSL.domain}.cert", 'w' do |io| io.write cert.to_pem end
end