Sha256: 300f9273e43803cb5bf31e283cad7b034ad9796b99c55057da88e2e64ed03505

Contents?: true

Size: 1.1 KB

Versions: 36

Compression:

Stored size: 1.1 KB

Contents

require 'openssl'

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

      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

      def self.ca_cert_dir
        @ca_cert_dir
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
skylight-3.1.5 lib/skylight/util/ssl.rb
skylight-3.1.4 lib/skylight/util/ssl.rb
skylight-3.1.3 lib/skylight/util/ssl.rb
skylight-3.1.3.beta lib/skylight/util/ssl.rb
skylight-1.7.2 lib/skylight/util/ssl.rb
skylight-3.1.2 lib/skylight/util/ssl.rb
skylight-3.1.1 lib/skylight/util/ssl.rb
skylight-3.1.0 lib/skylight/util/ssl.rb
skylight-3.1.0.beta3 lib/skylight/util/ssl.rb
skylight-1.7.1 lib/skylight/util/ssl.rb
skylight-3.1.0.beta2 lib/skylight/util/ssl.rb
skylight-3.1.0.beta lib/skylight/util/ssl.rb
skylight-3.0.0 lib/skylight/util/ssl.rb
skylight-3.0.0.beta lib/skylight/util/ssl.rb
skylight-2.0.2 lib/skylight/util/ssl.rb
skylight-2.0.2.beta.1 lib/skylight/util/ssl.rb
skylight-2.0.2.beta lib/skylight/util/ssl.rb
skylight-2.0.1 lib/skylight/util/ssl.rb
skylight-2.0.0 lib/skylight/util/ssl.rb
skylight-1.7.0 lib/skylight/util/ssl.rb