400 Bad Request.No required SSL certificate was sent
Maxim Dounin
mdounin at mdounin.ru
Wed Aug 6 08:34:59 UTC 2014
Hello!
On Wed, Aug 06, 2014 at 01:51:34AM -0400, esirenko wrote:
> Maxim Dounin Wrote:
> -------------------------------------------------------
>
> > Для начала имеет смысл убедится, что с помощью "openssl s_client"
> > всё работает штатно.
>
> ***********************************************************************************************************
> [root at localhost openssl]# openssl s_client -connect 192.168.100.38:443
[...]
man s_client:
-cert certname
The certificate to use, if one is requested by the server. The
default is not to use a certificate.
-key keyfile
The private key to use. If not specified then the certificate
file will be used.
И сделать простейший запрос, "GET / HTTP/1.0" + два перевода
строки.
Впрочем, если с Оперой заработало - значит, с настройками хорошо,
и этот пункт можно пропустить.
> cURL с серверов и других и этого самого.
> ***********************************************************************************************************
> curl -v -s -k --key ./ivan.key --cert ./ivan.crt --pass qwerty
> https://192.168.100.38
> * About to connect() to 192.168.100.38 port 443 (#0)
> * Trying 192.168.100.38... connected
> * Connected to 192.168.100.38 (192.168.100.38) port 443 (#0)
> * Initializing NSS with certpath: sql:/etc/pki/nssdb
> * warning: ignoring value of ssl.verifyhost
> * NSS error -5961
> * Closing connection #0
> * SSL connect error
>
>
> При этом в еррорлоге
>
> SSL_do_handshake() failed (SSL: error:140760FC:SSL
> routines:SSL23_GET_CLIENT_HELLO:unknown protocol) while SSL handshaking
В конфиге только TLSv1.2 и TLSv1.1, это ожидаемый результат при
использовании curl'а старее 7.34.0 c NSS.
http://curl.haxx.se/changes.html#7_34_0
http://curl.haxx.se/mail/lib-2013-11/0162.html
> > А дальше уже начинать разбираться с браузерами - там могут быть
> > нюансы. В частности, Chrome, если мне не изменяет память,
> > отказывался использовать клиентские сертификаты, если у сервера
> > было что-то не так с сертификатом. В приведённом же примере у
> > сервера видится как-минимум проблема в виде ip-адреса вместо
> > доменного имени.
>
> Не думаю что на данном этапе проблема может быть в этом, но попробую сделать
> буквенное имя на замену IP
Отдельно отмечу, что с сертификатом, если мне не изменяет память,
должно быть хорошо всё. Т.е. он должен штатно подбираться как
доверенный без дополнительных нажатий "да, продолжить, доверяю" и
т.п.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru