diff --git a/lib/jekyll/commands/serve.rb b/lib/jekyll/commands/serve.rb index 6db46168736..7357b9398bf 100644 --- a/lib/jekyll/commands/serve.rb +++ b/lib/jekyll/commands/serve.rb @@ -307,7 +307,15 @@ def enable_ssl(opts) require "webrick/https" opts[:SSLCertificate] = OpenSSL::X509::Certificate.new(read_file(src, cert)) - opts[:SSLPrivateKey] = OpenSSL::PKey::RSA.new(read_file(src, key)) + begin + opts[:SSLPrivateKey] = OpenSSL::PKey::RSA.new(read_file(src, key)) + rescue StandardError + if defined?(OpenSSL::PKey::EC) + opts[:SSLPrivateKey] = OpenSSL::PKey::EC.new(read_file(src, key)) + else + raise + end + end opts[:SSLEnable] = true end