From 9d8d361e3d02ce59ab66d4f991c8551736c0d6d2 Mon Sep 17 00:00:00 2001 From: Jingwen Owen Ou Date: Sat, 24 Aug 2013 07:01:23 -0700 Subject: [PATCH] Use default openssl file path and file dir from OpenSSL Details see: http://mislav.uniqpath.com/2013/07/ruby-openssl/ --- lib/bunny/transport.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/bunny/transport.rb b/lib/bunny/transport.rb index 3c929ea05..ec455e270 100644 --- a/lib/bunny/transport.rb +++ b/lib/bunny/transport.rb @@ -41,11 +41,14 @@ def initialize(session, host, port, opts) @tls_certificate = opts[:tls_certificate] || opts[:ssl_cert_string] @tls_key = opts[:tls_key] || opts[:ssl_key_string] @tls_certificate_store = opts[:tls_certificate_store] + + default_ca_file = ENV[OpenSSL::X509::DEFAULT_CERT_FILE_ENV] || OpenSSL::X509::DEFAULT_CERT_FILE + default_ca_path = ENV[OpenSSL::X509::DEFAULT_CERT_DIR_ENV] || OpenSSL::X509::DEFAULT_CERT_DIR @tls_ca_certificates = opts.fetch(:tls_ca_certificates, [ - '/etc/ssl/certs/ca-certificates.crt', # Ubuntu/Debian - '/etc/ssl/certs/ca-bundle.crt', # Amazon Linux - '/etc/ssl/ca-bundle.pem', # OpenSUSE - '/etc/pki/tls/certs/ca-bundle.crt' # Fedora/RHEL + default_ca_file, + File.join(default_ca_path, 'ca-certificates.crt'), # Ubuntu/Debian + File.join(default_ca_path, 'ca-bundle.crt'), # Amazon Linux & Fedora/RHEL + File.join(default_ca_path, 'ca-bundle.pem') # OpenSUSE ]) @verify_peer = opts[:verify_ssl] || opts[:verify_peer]