diff --git a/lib/raven/configuration.rb b/lib/raven/configuration.rb index aee2e7863..cdbc436e0 100644 --- a/lib/raven/configuration.rb +++ b/lib/raven/configuration.rb @@ -1,3 +1,4 @@ +require 'certifi' require 'logger' require 'uri' @@ -58,6 +59,9 @@ class Configuration # Should the SSL certificate of the server be verified? attr_accessor :ssl_verification + # The path to the SSL certificate file + attr_accessor :ssl_ca_file + # SSl settings passed direactly to faraday's ssl option attr_accessor :ssl @@ -113,7 +117,8 @@ def initialize self.send_modules = true self.excluded_exceptions = IGNORE_DEFAULT self.processors = [Raven::Processor::RemoveCircularReferences, Raven::Processor::UTF8Conversion, Raven::Processor::SanitizeData] - self.ssl_verification = false + self.ssl_verification = true + self.ssl_ca_file = Certifi.where self.encoding = 'gzip' self.timeout = 1 self.open_timeout = 1 diff --git a/lib/raven/transports/http.rb b/lib/raven/transports/http.rb index a82fbe7d2..06e68b3de 100644 --- a/lib/raven/transports/http.rb +++ b/lib/raven/transports/http.rb @@ -35,6 +35,7 @@ def conn ssl_configuration = self.configuration.ssl || {} ssl_configuration[:verify] = self.configuration.ssl_verification + ssl_configuration[:ca_file] = self.configuration.ssl_ca_file conn = Faraday.new( :url => self.configuration[:server], diff --git a/sentry-raven.gemspec b/sentry-raven.gemspec index 0ab3435fb..d2399ba6f 100644 --- a/sentry-raven.gemspec +++ b/sentry-raven.gemspec @@ -16,6 +16,7 @@ Gem::Specification.new do |gem| gem.license = 'Apache-2.0' gem.add_dependency "faraday", ">= 0.7.6" + gem.add_dependency "certifi" gem.add_development_dependency "rake" gem.add_development_dependency "rspec", "~> 3.0"