Welcome! Log In Create A New Profile

Advanced

Re: И снова по TLS и аутентификации

Maxim Dounin
June 27, 2017 08:20AM
Hello!

On Tue, Jun 27, 2017 at 07:18:57AM -0400, 2D77rus wrote:

> Здравствуйте, коллеги.
>
> Никак не могу побороть авторизацию по сертификатам, получаю ошибку "client
> SSL certificate verify error: (3:unable to get certificate CRL)". Этот и
> другие форумы пересмотрел, всё не то.
>
> Конфиг:
> ==================
> ssl on;
> ssl_certificate /etc/pki/tls/certs/mail2.local.cer;
> ssl_certificate_key /etc/pki/tls/private/private.key;
> ssl_session_timeout 5m;
> ssl_protocols SSLv2 SSLv3 TLSv1;
> ssl_ciphers HIGH:!aNULL:!MD5;
> ssl_prefer_server_ciphers on;
>
> ssl_trusted_certificate /etc/pki/tls/certs/chain.cer; # сертификаты
> CA1 и CA0
> ssl_client_certificate /etc/pki/tls/certs/ca1.cer; # только
> сертификат CA1
> ssl_crl /etc/pki/tls/certs/ca1.crl; # только CRL от CA1
> ssl_verify_client on;
> ssl_verify_depth 1;
> ==================
> Сертификаты, CRL - всё живое:
>
> openssl crl -CAfile CA1.cer -in CA1.crl
> verify OK
>
> openssl verify -CAfile CA0.cer CA1.cer
> verify OK
>
> openssl verify -CAfile chain.cer client1.cer
> verify OK
>
> - и всё равно неизменно ошибка.
>
> Если убрать параметр ssl_crl, получаю "client SSL certificate verify error:
> (27:certificate not trusted)"
>
> CA0 - корневой ЦС, CA1 - промежуточный ЦС, который выдал сертификат клиенту
> (виндовый, AD 2012).
> Сертификаты CA0 и CA1 добавлены в доверенные на сервере.
> CentOS 6.8, nginx/1.8.1, OpenSSL 1.0.1e-fips
> SMTP и IMAP на этом же сервере с тем же набором сертификатов - клиенты по
> сертификатам прекрасно авторизуются.
>
> Куда ещё копнуть, подскажите? Спасибо.

Во-первых, "ssl_verify_depth 1" при использовании промежуточного
CA не годится, т.к. ssl_verify_depth ограничивает глубину проверки
до корневого CA. Соответственно значение 1 означает, что
предъявленный клиентом сертификат должен быть подписан
непосредственно корневым CA. В случае использования промежуточных
CA - нужно выставить ssl_verify_depth 2 и более.

Во-вторых, для работы ssl_crl необходимо, чтобы списки отзыва были
для всех используемых CA. Если для какого-то из сертификатов
списков отзыва в указанном CRL-файле не будет, то ошибка "unable
to get certificate CRL" - ожидаема. В openssl verify
соответствующий ключ называется -crl_check_all".

--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

И снова по TLS и аутентификации

2D77rus June 27, 2017 07:18AM

Re: И снова по TLS и аутентификации

Maxim Dounin June 27, 2017 08:20AM

Re: И снова по TLS и аутентификации

2D77rus June 27, 2017 11:25AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 238
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