class SimpleCA::SignCSR

Constants

THREE_YEARS

Public Class Methods

new(root, key) click to toggle source
# File lib/simple_ca/sign_csr.rb, line 5
def initialize root, key
  @root = root
  @key = key
end

Public Instance Methods

call(csr) click to toggle source
# File lib/simple_ca/sign_csr.rb, line 10
def call csr
  sign_cert(OpenSSL::X509::Certificate.new, csr)
end

Private Instance Methods

sign_cert(crt, request) click to toggle source
# File lib/simple_ca/sign_csr.rb, line 16
def sign_cert crt, request
  crt.serial = 0
  crt.version = 2
  crt.not_before = Time.now
  crt.not_after = Time.now + THREE_YEARS
  crt.subject = request.subject
  crt.public_key = request.public_key
  crt.issuer = @root.subject
  crt.sign @key, OpenSSL::Digest::SHA256.new
end