From 650e7580601327fab48eccde794cee2d467214af Mon Sep 17 00:00:00 2001 From: rhe Date: Wed, 5 Jul 2017 09:05:53 +0000 Subject: [PATCH] un.rb: use OpenSSL::PKey.read instead of OpenSSL::PKey::RSA.new Also, error out if --ssl-private-key option is not given, since specifying only the certificate makes no sense. [Feature #13714] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/un.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/un.rb b/lib/un.rb index aa86141bf1..c445dba4ec 100644 --- a/lib/un.rb +++ b/lib/un.rb @@ -329,11 +329,12 @@ def httpd opt = options[name] and (options[name] = Integer(opt)) rescue nil end if cert = options[:SSLCertificate] + key = options[:SSLPrivateKey] or + raise "--ssl-private-key option must also be given" require 'webrick/https' - require 'openssl' - options[:SSLCertificate] = OpenSSL::X509::Certificate.new(File.read(cert)) options[:SSLEnable] = true - options[:SSLPrivateKey] &&= OpenSSL::PKey::RSA.new(File.read(options[:SSLPrivateKey])) + options[:SSLCertificate] = OpenSSL::X509::Certificate.new(File.read(cert)) + options[:SSLPrivateKey] = OpenSSL::PKey.read(File.read(key)) options[:Port] ||= 8443 # HTTPS Alternate end options[:Port] ||= 8080 # HTTP Alternate