class Ant::SSL::Configuration
Stores a configuration for a certificate
Constants
- ONE_YEAR
Public Class Methods
new(root, group, cert)
click to toggle source
# File lib/ant/ssl/configuration.rb, line 9 def initialize(root, group, cert) @config = root.merge(group).merge(cert) end
Public Instance Methods
[](key)
click to toggle source
# File lib/ant/ssl/configuration.rb, line 52 def [](key) @config[key] end
configure_cert_details!(cert)
click to toggle source
# File lib/ant/ssl/configuration.rb, line 33 def configure_cert_details!(cert) cert.version = 2 cert.serial = @config['serial'] cert.subject = OpenSSL::X509::Name.parse(subject_string) cert.not_before = Time.now cert.not_after = cert.not_before + ONE_YEAR * @config['expiration'] end
configure_extensions!(cert, extension_factory)
click to toggle source
# File lib/ant/ssl/configuration.rb, line 41 def configure_extensions!(cert, extension_factory) @config['extensions'].each do |name, details| extension = extension_factory.create_extension( name, details['details'], details['critical'] ) cert.add_extension(extension) end end
crt_path()
click to toggle source
# File lib/ant/ssl/configuration.rb, line 19 def crt_path saving_directory('crt') end
key_path()
click to toggle source
# File lib/ant/ssl/configuration.rb, line 23 def key_path saving_directory('key') end
saving_directory(type)
click to toggle source
# File lib/ant/ssl/configuration.rb, line 13 def saving_directory(type) path = @config['saving_directory'] serial = @config['serial'] "#{path}/#{serial}.#{type}.pem" end
subject_string()
click to toggle source
# File lib/ant/ssl/configuration.rb, line 27 def subject_string "/C=#{@config['country']}/ST=#{@config['state']}" \ "/L=#{@config['city']}/O=#{@config['organization']}" \ "/OU=#{@config['team']}/CN=#{@config['name']}" end