From 650dcc637a4b80317a038ca0d4e17d44d1515f1f Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 22 Aug 2019 18:03:23 +0000 Subject: [PATCH] serve: add support for ECC certificates (#7768) Merge pull request 7768 --- lib/jekyll/commands/serve.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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