diff options
Diffstat (limited to 'app/models/pages_domain.rb')
-rw-r--r-- | app/models/pages_domain.rb | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/app/models/pages_domain.rb b/app/models/pages_domain.rb index c932d0bf800..0c5a155d48a 100644 --- a/app/models/pages_domain.rb +++ b/app/models/pages_domain.rb @@ -129,18 +129,15 @@ class PagesDomain < ApplicationRecord store = OpenSSL::X509::Store.new store.set_default_paths - # This forces to load all intermediate certificates stored in `certificate` - Tempfile.open('certificate_chain') do |f| - f.write(certificate) - f.flush - store.add_file(f.path) - end - - store.verify(x509) + store.verify(x509, untrusted_ca_certs_bundle) rescue OpenSSL::X509::StoreError false end + def untrusted_ca_certs_bundle + ::Gitlab::X509::Certificate.load_ca_certs_bundle(certificate) + end + def expired? return false unless x509 |