lib/azure/core/utility.rb in azure-0.6.4 vs lib/azure/core/utility.rb in azure-0.7.0.pre

- old
+ new

@@ -58,11 +58,11 @@ if File.exist? name name elsif File.exist?(File.join(ENV['HOME'], name)) File.join(ENV['HOME'], name) else - Loggerx.error_with_exit "Unable to find #{name} file " + Azure::Loggerx.error_with_exit "Unable to find #{name} file " end end def export_der(cert, key, pass = nil, name = nil) pkcs12 = OpenSSL::PKCS12.create(pass, name, key, cert) @@ -77,9 +77,24 @@ end def enable_winrm?(winrm_transport) (!winrm_transport.nil? && (winrm_transport.select { |x| x.downcase == 'http' || x.downcase == 'https' }.size > 0)) end + + def get_certificate(private_key_file) + rsa = OpenSSL::PKey.read File.read(private_key_file) + cert = OpenSSL::X509::Certificate.new + cert.version = 2 + cert.serial = 0 + name = OpenSSL::X509::Name.new([['CN', 'Azure Management Certificate']]) + cert.subject = cert.issuer = name + cert.not_before = Time.now + cert.not_after = cert.not_before + (60*60*24*365) + cert.public_key = rsa.public_key + cert.sign(rsa, OpenSSL::Digest::SHA1.new) + cert + end + end # Logger module Logger class << self