Welcome! Log In Create A New Profile

Advanced

HTTPS & self signed certificate

December 23, 2014 02:31AM
Здравствуйте

Используем nginx уже достаточно давно, однако, теперь решили использовать и SSL (до этого защищенное соединение не требовалось).
Для начала решили все опробовать с самоподписанными сертификатами.
Но возникает следующая проблема, тестовый сайт не открывается клиентом в Google Chrome, Firefox, и при этом открывается в Internet Explorer.

Что сделали?
Создали корневой сертификат ( ca.conf - http://pastebin.com/NF5eQJEe ):
# openssl genrsa -des3 -out ca.key 2048
# openssl req -new -x509 -nodes -sha1 -days 365 -key ca.key -out ca.crt -config ca.conf
# openssl x509 -trustout -inform PEM -in ca.crt -outform DER -out ca.pfx

Создали список отозванных сертификатов ( carevoke.conf - http://pastebin.com/7xYs7AJV ):
# openssl ca -gencrl -out crl.pem -config carevoke.conf

Создали серверный сертификат ( site.dev/server.conf - http://pastebin.com/sLaHqkM8 ):
# openssl genrsa -passout pass:test -des3 -out site.dev/server.key.1 1024
# openssl rsa -passin pass:test -in site.dev/server.key.1 -out site.dev/server.key
# openssl req -config site.dev/server.conf -new -key site.dev/server.key -out site.dev/server.csr
# rm -f site.dev/server.key.1
# openssl ca -batch -config ca.conf -out site.dev/server.crt -infiles site.dev/server.csr
# openssl verify -CAfile ca.crt site.dev/server.crt

Создали клиентский сертификат ( site.dev/client01/client.conf - http://pastebin.com/2ZH39Dux ):
# openssl req -config site.dev/client01/client.conf -new -newkey rsa:512 -nodes -out site.dev/client01/client.csr -keyout site.dev/client01/client.key
# openssl ca -batch -config ca.config -out site.dev/client01/client.crt -infiles site.dev/client01/client.csr
# openssl verify -CAfile ca.crt site.dev/client01/client.crt
# openssl pkcs12 -export -clcerts -in site.dev/client01/client.crt -inkey site.dev/client01/client.key -out site.dev/client01/client.p12 -name "my_client_certificate" -passout file:site.dev/client01/pass

В результате получились следующие файлы - http://pastebin.com/ZB5p12S0

Сделали конфигурацию nginx:
nginx.conf - http://pastebin.com/CzcVM2b4
site.dev - http://pastebin.com/pZrcj3tx


На клиентскую машину поставили сертификаты в хранилища по умолчанию (пробовали и в доверенные центры): client01.p12, ca.crt
Вроде все "по инструкции", однако, проблема неприятная. Никак не можем подключиться по иным браузерам кроме IE.
Во всех остальных пишется:

400 Bad Request
No required SSL certificate was sent


Версия nginx:
# nginx -V
nginx version: nginx/1.7.8
built by gcc 4.7.2 (Debian 4.7.2-5)
TLS SNI support enabled
configure arguments: --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --user=www --group=www --with-select_module --with-http_ssl_module --with-pcre=../pcre-8.36 --with-pcre-jit --with-zlib=../zlib-1.2.8 --with-http_gzip_static_module


Версии браузеров:
Internet Explorer 10 и 11 (на обоих работает)
Google Chrome 39.0.2171.95
Firefox 35.0a2 (2014-11-08) и 33.0.2 (на обоих не работает)


Что сделали не так?
Subject Author Posted

HTTPS & self signed certificate

Ualde December 23, 2014 02:31AM

Re: HTTPS & self signed certificate

Andrey Kopeyko December 23, 2014 03:58AM

Re: HTTPS & self signed certificate

Pavel V. December 24, 2014 01:22PM

Re: HTTPS & self signed certificate

Ualde December 26, 2014 04:21AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 239
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready