Well, I've done an OS survey and found the following paths need to be
set, and in some cases couldn't find a path at all:
Redhat 5.6:
ca_file = /etc/pki/tls/certs/ca-bundle.crt
Debian 6 & 7:
ca_path = /etc/ssl/certs
OpenBSD 4.9:
ca_file = /etc/ssl/cert.pem # doesn't contain GeoTrust, so doesn't work for me
DragonFly BSD:
?? couldn't find it, need more time I presume
SLES 11:
ca_path = /etc/ssl/certs
Solaris 10:
ca_path = /opt/csw/etc/ssl/certs # not very good, as its CSW specific
ca_path = /etc/sfw/openssl/certs/ # is empty ... so I couldn't find
anything in core?
Solars 11:
ca_path = /opt/csw/etc/ssl/certs # not very good, as its CSW specific
ca_path = /etc/sfw/openssl/certs/ # no longer empty, but not the CA's we need
In all cases I had to set something in core with Ruby 1.8.7 btw. The
only case where it 'just worked' was in RVM Ruby 1.8.7 on my Mac. Ruby
1.9.3 with RVM didn't work, probably due to OpenSSL oddities.
I'm looking into Josh's pointers, seems like this should be working I
agree, or the path should be built in somehow somewhere. Here is the
sample stub code I've been testing with so far FWIW:
#!/usr/bin/env ruby
require 'net/https'
proxy_class = Net::HTTP::Proxy(nil, nil)
proxy =
proxy_class.new('
forge.puppetlabs.com', 443)
proxy.use_ssl = true
proxy.verify_mode = OpenSSL::SSL::VERIFY_PEER
# either: proxy.ca_path = 'whatever'
# or: proxy.ca_file = 'whatever'
response = nil
proxy.start do |http|
request = Net::HTTP::Get.new('/')
response = http.request(request)
end
puts response.body
ken.
> --
> You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
> To post to this group, send email to
puppe...@googlegroups.com.
> To unsubscribe from this group, send email to
puppet-dev+...@googlegroups.com.
> For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en.
>