# 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']