2014-09-25 3 views
3

Я пытаюсь установить поваренные книги librarian-chef в командной строке Windows. Я уже установил библиотекаря-шеф-повара, используя gem install librarian-chef. Однако я получаю эту ошибку:Невозможно установить кулинарные книги для библиотекарей-шеф-поваров на Windows 7

C:\Users\crmpicco\Documents\vagrant-chef-deploy>librarian-chef install 
DL is deprecated, please use Fiddle 
Installing iptables (0.14.0) 
C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `connect': SSL_connect returned 
=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Ope 
nSSL::SSL::SSLError) 
     from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `block in connect' 

     from C:/Ruby200-x64/lib/ruby/2.0.0/timeout.rb:52:in `timeout' 
     from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:918:in `connect' 
     from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:862:in `do_start' 
     from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:851:in `start' 

Это проблема с моей конфигурацией?

Мои Cheffile:

#!/usr/bin/env ruby 
#^syntax detection 

site 'https://supermarket.getchef.com/api/v1' 

# cookbook 'chef-client' 

# cookbook 'apache2', '>= 1.0.0' 

# cookbook 'rvm', 
# :git => 'https://github.com/fnichol/chef-rvm' 

# cookbook 'postgresql', 
# :git => 'https://github.com/findsyou/cookbooks', 
# :ref => 'postgresql-improvements' 


# Community cookbooks 
#cookbook "apache2" 
cookbook 'apache2', '~> 2.0.0' 
cookbook "php" 
#cookbook "yum" 
#cookbook "ant" 
cookbook "apt" 
cookbook 'mysql', '~> 5.5.2' 
cookbook "database" 
cookbook "ssh_known_hosts" 
cookbook "composer" 
cookbook 'git', '~> 4.0.2' 
cookbook 'varnish', '~> 0.9.18' 
cookbook 'selinux', '~> 0.8.0' 
cookbook 'hostsfile', 
    :git => 'https://github.com/customink-webops/hostsfile' 



cookbook "selenium", :git => 'https://github.com/kohkimakimoto/chef-cookbooks-selenium' 

ответ

4

Да, сайт использует ненадежный сертификат HTTPS и библиотекарь-повар делает правильно, отказавшись от подключения к нему. Вероятно, это связано с тем, что вам необходимо обновить базу данных корневого доверия. Как правило, самый простой способ сделать это с помощью Ruby - загрузить the cURL CA bundle, а затем установить переменную окружения SSL_CERT_FILE, чтобы указать путь, к которому вы его загрузили. Мой windows-fu ржавый, но это должно помочь вам получить более свежий список CA.

+0

Я подтверждаю +, если у вас есть прокси перехват SSL трафика, вы должны включить его сертификат в cacert файл. – Tensibai

0

В качестве дополнения ответа coderanger, по моему опыту, вы можете использовать старшую комплектацию СА, используя , возможно,. Объяснение (и более старый сертификат) можно найти here. Однако вы должны знать о последствиях безопасности для этого.

Around early September 2014, Mozilla removed the trust bits from the certs in their CA bundle that were still using RSA 1024 bit keys. This may lead to TLS libraries having a hard time to verify some sites if the library in question doesn't properly support "path discovery" as per RFC 4158. (That includes OpenSSL and GnuTLS.)