Module: VagrantDockerCertificatesManager::Cert
- Defined in:
- lib/vagrant-docker-certificates-manager/util/cert.rb
Constant Summary collapse
- MARKER =
"VDCM"
Class Method Summary collapse
- .default_name_from(path) ⇒ Object
- .nickname_for(name) ⇒ Object
- .read_cert(path) ⇒ Object
- .sha1(path) ⇒ Object
- .subject_cn(path) ⇒ Object
Class Method Details
.default_name_from(path) ⇒ Object
26 27 28 29 |
# File 'lib/vagrant-docker-certificates-manager/util/cert.rb', line 26 def default_name_from(path) base = File.basename(path).sub(/\.(pem|crt|cer)$/i, "") base.empty? ? "local.dev" : base end |
.nickname_for(name) ⇒ Object
31 32 33 |
# File 'lib/vagrant-docker-certificates-manager/util/cert.rb', line 31 def nickname_for(name) "#{MARKER}:#{name}" end |
.read_cert(path) ⇒ Object
11 12 13 |
# File 'lib/vagrant-docker-certificates-manager/util/cert.rb', line 11 def read_cert(path) OpenSSL::X509::Certificate.new(File.read(path)) end |
.sha1(path) ⇒ Object
15 16 17 18 |
# File 'lib/vagrant-docker-certificates-manager/util/cert.rb', line 15 def sha1(path) cert = read_cert(path) OpenSSL::Digest::SHA1.hexdigest(cert.to_der).upcase end |
.subject_cn(path) ⇒ Object
20 21 22 23 24 |
# File 'lib/vagrant-docker-certificates-manager/util/cert.rb', line 20 def subject_cn(path) cert = read_cert(path) pair = cert.subject.to_a.find { |(k, _v, _t)| k == "CN" } pair ? pair[1].to_s : nil end |