class EventMachine::CertificateCreator
def initialize
def initialize @key = OpenSSL::PKey::RSA.new(1024) public_key = @key.public_key subject = "/C=EventMachine/O=EventMachine/OU=EventMachine/CN=EventMachine" @cert = OpenSSL::X509::Certificate.new @cert.subject = @cert.issuer = OpenSSL::X509::Name.parse(subject) @cert.not_before = Time.now @cert.not_after = Time.now + 365 * 24 * 60 * 60 @cert.public_key = public_key @cert.serial = 0x0 @cert.version = 2 factory = OpenSSL::X509::ExtensionFactory.new factory.subject_certificate = @cert factory.issuer_certificate = @cert @cert.extensions = [ factory.create_extension("basicConstraints","CA:TRUE", true), factory.create_extension("subjectKeyIdentifier", "hash") ] @cert.add_extension factory.create_extension("authorityKeyIdentifier", "keyid:always,issuer:always") @cert.sign(@key, OpenSSL::Digest::SHA1.new) end