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