From 21a64e5807d97492ec83c3463ce915242f35d777 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 3 Aug 2019 17:59:17 +0200 Subject: [PATCH 1/2] serve: add support for ECC certificates --- 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..6a355a12687 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 + if defined?(OpenSSL::PKey::EC) + opts[:SSLPrivateKey] = OpenSSL::PKey::EC.new(read_file(src, key)) + else + raise + end + end opts[:SSLEnable] = true end From 001ac180c41dd2d9eca02a77ce1cec12fa864bb0 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 3 Aug 2019 17:52:17 +0000 Subject: [PATCH 2/2] Update lib/jekyll/commands/serve.rb Co-Authored-By: Frank Taillandier --- lib/jekyll/commands/serve.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll/commands/serve.rb b/lib/jekyll/commands/serve.rb index 6a355a12687..7357b9398bf 100644 --- a/lib/jekyll/commands/serve.rb +++ b/lib/jekyll/commands/serve.rb @@ -309,7 +309,7 @@ def enable_ssl(opts) opts[:SSLCertificate] = OpenSSL::X509::Certificate.new(read_file(src, cert)) begin opts[:SSLPrivateKey] = OpenSSL::PKey::RSA.new(read_file(src, key)) - rescue + rescue StandardError if defined?(OpenSSL::PKey::EC) opts[:SSLPrivateKey] = OpenSSL::PKey::EC.new(read_file(src, key)) else