class Object

Public Instance Methods

create_self_signed_cert(bits, cn, comment) click to toggle source

Adapted from WEBrick::Utils. Skips cert extensions so it can be used as a CA bundle

# File lib/hurley/tasks.rb, line 70
def create_self_signed_cert(bits, cn, comment)
  rsa = OpenSSL::PKey::RSA.new(bits)
  cert = OpenSSL::X509::Certificate.new
  cert.version = 2
  cert.serial = 1
  name = OpenSSL::X509::Name.new(cn)
  cert.subject = name
  cert.issuer = name
  cert.not_before = Time.now
  cert.not_after = Time.now + (365*24*60*60)
  cert.public_key = rsa.public_key
  cert.sign(rsa, OpenSSL::Digest::SHA1.new)
  return [cert, rsa]
end
without_verbose() { || ... } click to toggle source
# File lib/hurley/tasks.rb, line 106
def without_verbose
  old_verbose, $VERBOSE = $VERBOSE, nil
  yield
ensure
  $VERBOSE = old_verbose
end
write(file, contents, env_var) click to toggle source
# File lib/hurley/tasks.rb, line 85
def write(file, contents, env_var)
  FileUtils.mkdir_p(File.dirname(file))
  File.open(file, "w") do |f|
    f.puts(contents)
  end
  puts %(export #{env_var}="#{file}") if $shell
end