Sha256: ab3f1aa67eabe22cf0caefc425f6ab33cd503cab7af22cdbc299579313a6ad8d

Contents?: true

Size: 1.1 KB

Versions: 31

Compression:

Stored size: 1.1 KB

Contents

require "openssl"

module Skylight
  module Util
    class SSL
      DEFAULT_CA_FILE = File.expand_path("../data/cacert.pem", __dir__)

      def self.detect_ca_cert_file!
        return nil if ENV["SKYLIGHT_FORCE_OWN_CERTS"]

        @ca_cert_file = false
        if defined?(OpenSSL::X509::DEFAULT_CERT_FILE)
          f = OpenSSL::X509::DEFAULT_CERT_FILE

          if f && File.exist?(f)
            @ca_cert_file = f
          end
        end
      end

      def self.detect_ca_cert_dir!
        return nil if ENV["SKYLIGHT_FORCE_OWN_CERTS"]

        @ca_cert_dir = false
        if defined?(OpenSSL::X509::DEFAULT_CERT_DIR)
          d = OpenSSL::X509::DEFAULT_CERT_DIR

          if d && File.exist?(d)
            @ca_cert_dir = d
          end
        end
      end

      detect_ca_cert_file!
      detect_ca_cert_dir!

      def self.ca_cert_file?
        !!@ca_cert_file
      end

      def self.ca_cert_dir?
        !!@ca_cert_dir
      end

      def self.ca_cert_file_or_default
        @ca_cert_file || DEFAULT_CA_FILE
      end

      class << self
        attr_reader :ca_cert_dir
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
skylight-5.0.1 lib/skylight/util/ssl.rb
skylight-5.0.0 lib/skylight/util/ssl.rb
skylight-5.0.0.beta5 lib/skylight/util/ssl.rb
skylight-4.3.2 lib/skylight/util/ssl.rb
skylight-5.0.0.beta4 lib/skylight/util/ssl.rb
skylight-5.0.0.beta3 lib/skylight/util/ssl.rb
skylight-5.0.0.beta2 lib/skylight/util/ssl.rb
skylight-5.0.0.beta lib/skylight/util/ssl.rb
skylight-4.3.1 lib/skylight/util/ssl.rb
skylight-4.3.0 lib/skylight/util/ssl.rb
skylight-4.2.3 lib/skylight/util/ssl.rb
skylight-4.2.2 lib/skylight/util/ssl.rb
skylight-4.2.1 lib/skylight/util/ssl.rb
skylight-4.2.0 lib/skylight/util/ssl.rb
skylight-4.2.0.beta3 lib/skylight/util/ssl.rb
skylight-4.2.0.beta2 lib/skylight/util/ssl.rb
skylight-4.2.0.beta lib/skylight/util/ssl.rb
skylight-4.1.2 lib/skylight/util/ssl.rb
skylight-4.1.1 lib/skylight/util/ssl.rb
skylight-4.1.1.beta lib/skylight/util/ssl.rb