LINUX.ORG.RU
решено ФорумAdmin

WGet ругается на сертификат, а браузер нет

 , ,


2

1

Привет, есть сервак с сертификатом, купленным на gogetssl, самый дешевый Domain Validation на 5 лет.

В браузере https работает, а wget и curl ругаются на сертификат. В чем может быть проблема?

Тестовый URL: https://enise.org/users/victor/share/stash/hello.txt

$ wget https://enise.org/users/victor/share/stash/hello.txt                              
--2014-09-17 12:27:29--  https://enise.org/users/victor/share/stash/hello.txt
Resolving enise.org... 78.46.50.209
Connecting to enise.org|78.46.50.209|:443... connected.
ERROR: cannot verify enise.org's certificate, issued by ‘/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2’:
  Unable to locally verify the issuer's authority.
To connect to enise.org insecurely, use `--no-check-certificate'.
$ openssl s_client -connect enise.org:443 -debug

Выхлоп: https://bpaste.net/show/c5c4225e60b3

На клиенте установлен пакет app-misc/ca-certificates, пробовал версии 20130906-r1 и 20140325.3.16.3. Пробовал передавать wget опцию --ca-directory=/etc/ssl/certs, тоже не помогает.

Конфиг nginx:

listen 443 ssl;
server_name enise.org;
  
ssl on;

ssl_certificate /srv/data/cert/enise.crt;
ssl_certificate_key /srv/data/cert/enise_nopassword.key;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

Файлы для nginx генерировал так:

$ openssl genrsa -des3 -out enise.key 2048
$ openssl req -new -key enise.key -out enise.csr
$ openssl rsa -in enise.key -out enise_nopassword.key

Как определить, в чем проблема - в том, как приготовлен сертификат, или в доверии к корневому сертификату или еще в чем-то?


Ответ на: комментарий от aol

признавайся, тебя в гуголе забанили?

Не догадался гуглить PositiveSSL.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742810

Спасибо! Починил на стороне nginx с помощью этого туториала: https://gist.github.com/bradmontgomery/6487319

Сделал:

cat enise.crt ssl/PositiveSSLCA2.crt ssl/AddTrustExternalCARoot.crt > enise.bundle.crt

И заменил

ssl_certificate /srv/data/cert/enise.crt;

на

ssl_certificate /srv/data/cert/enise.bundle.crt;
gv ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.