# HG changeset patch # User Kenneth Chu <ksiuhengchu@gitlab.com> # Date 1618546512 -36000 # Fri Apr 16 14:15:12 2021 +1000 # Node ID 216191beab439fcb162ecf9103ab1d0e0490d221 # Parent 290ab7cfbe84a0ac179a78902906ace6760cb6f6 Use the openssl gem to find the key_size diff --git a/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb b/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb --- a/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb +++ b/files/gitlab-cookbooks/letsencrypt/resources/certificate.rb @@ -22,8 +22,8 @@ helper = LetsEncryptHelper.new(node) contact_info = helper.contact - staging_key = `/opt/gitlab/embedded/bin/openssl rsa -text -noout -in #{new_resource.key}-staging` - staging_key_size = staging_key.lines.grep(/Private.Key/i).first[/[0-9]* bit/].split.first.to_i + staging_key = OpenSSL::PKey::RSA.new ::File.read "#{new_resource.key}-staging" + staging_key_size = staging_key.to_text.split(/\n/).first[/[0-9]* bit/].split.first.to_i if new_resource.key_size.nil? unless staging_key_size == node['acme']['key_size'] @@ -58,8 +58,8 @@ end end - production_key = `/opt/gitlab/embedded/bin/openssl rsa -text -noout -in #{new_resource.key}` - production_key_size = production_key.lines.grep(/Private.Key/i).first[/[0-9]* bit/].split.first.to_i + production_key = OpenSSL::PKey::RSA.new ::File.read new_resource.key + production_key_size = production_key.to_text.split(/\n/).first[/[0-9]* bit/].split.first.to_i if new_resource.key_size.nil? unless production_key_size == node['acme']['key_size']