You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
551 B
20 lines
551 B
require 'openssl'
|
|
|
|
key = OpenSSL::PKey::RSA.new 4096
|
|
|
|
open 'private_key.pem', 'w' do |io| io.write key.to_pem end
|
|
open 'public_key.pem', 'w' do |io| io.write key.public_key.to_pem end
|
|
|
|
name = OpenSSL::X509::Name.parse 'CN=lex-deeit/DC=weird-web-workers/DC=org'
|
|
|
|
cert = OpenSSL::X509::Certificate.new
|
|
cert.version = 2
|
|
cert.serial = 0
|
|
cert.not_before = Time.now
|
|
cert.not_after = Time.now + 3600
|
|
|
|
cert.public_key = key.public_key
|
|
cert.subject = name
|
|
cert.sign key, OpenSSL::Digest::SHA256.new
|
|
|
|
open 'public-key.crt', 'w' do |io| io.write cert.to_pem end
|