Невозможно установить кулинарные книги библиотекаря-повара в Windows 7

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

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'

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

Мой шеф-повар:

#!/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'

person crmpicco    schedule 25.09.2014    source источник


Ответы (2)


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

person coderanger    schedule 25.09.2014
comment
Подтверждаю + если у вас есть прокси, перехватывающий ssl-трафик, то вам необходимо включить его сертификат в файл cacert. - person Tensibai; 26.09.2014

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

Примерно в начале сентября 2014 года Mozilla удалила биты доверия из сертификатов в своем комплекте ЦС, которые все еще использовали 1024-битные ключи RSA. Это может привести к тому, что библиотекам TLS будет трудно проверить некоторые сайты, если рассматриваемая библиотека не поддерживает должным образом «обнаружение пути» в соответствии с RFC 4158 (включая OpenSSL и GnuTLS).

person jfsoul    schedule 09.03.2015