diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-06-20 14:10:13 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-06-20 14:10:13 +0300 |
commit | 0ea3fcec397b69815975647f5e2aa5fe944a8486 (patch) | |
tree | 7979381b89d26011bcf9bdc989a40fcc2f1ed4ff /app/services/pages_domains | |
parent | 72123183a20411a36d607d70b12d57c484394c8e (diff) |
Add latest changes from gitlab-org/gitlab@15-1-stable-eev15.1.0-rc42
Diffstat (limited to 'app/services/pages_domains')
-rw-r--r-- | app/services/pages_domains/create_acme_order_service.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/app/services/pages_domains/create_acme_order_service.rb b/app/services/pages_domains/create_acme_order_service.rb index c600f497fa5..e289a78091b 100644 --- a/app/services/pages_domains/create_acme_order_service.rb +++ b/app/services/pages_domains/create_acme_order_service.rb @@ -2,6 +2,9 @@ module PagesDomains class CreateAcmeOrderService + # elliptic curve algorithm to generate the private key + ECDSA_CURVE = "prime256v1" + attr_reader :pages_domain def initialize(pages_domain) @@ -14,7 +17,12 @@ module PagesDomains challenge = order.new_challenge - private_key = OpenSSL::PKey::RSA.new(4096) + private_key = if Feature.enabled?(:pages_lets_encrypt_ecdsa, pages_domain.project) + OpenSSL::PKey::EC.generate(ECDSA_CURVE) + else + OpenSSL::PKey::RSA.new(4096) + end + saved_order = pages_domain.acme_orders.create!( url: order.url, expires_at: order.expires, |