logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline mihmig  
#1 Оставлено : 3 октября 2016 г. 13:59:05(UTC)
mihmig

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.05.2016(UTC)
Сообщений: 76

Во всех примерах для включения авторизации клиента по сертификату требуется указать два параметра:

ssl_client_certificate ca.crt; - файл с доверенными сертификатами CA в формате PEM, которые используются для проверки клиентских сертификатов
ssl_verify_client on; on; - собственно, включение авторизации

Но у нас всё не как у людей - цепочка состоит из 3-х (!) удоверяющих центров...

При указании в параметре ssl_client_certificate любого (одного) сертификата УС из цепочки в логах nginx ошибка:
2016/10/03 11:37:25 [info] 2484#3632: *1 client SSL certificate verify error: (21:unable to verify the first certificate) while reading client request headers, client: 10.255.10.11, server: example.com, request: "GET / HTTP/1.1", host: "example.com"

Гугл подсказал, что нужно указать имя *.pem - файла,
но как из 3-х сертификатов ЦА сформировать файл *.pem (p7b nginx не распознаёт, онлайн сервисы сконвертировать p7b с ГОСТ-овскими сертификатами не могут)...
Offline mihmig  
#2 Оставлено : 3 октября 2016 г. 14:47:48(UTC)
mihmig

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.05.2016(UTC)
Сообщений: 76

Добавил параметр
ssl_verify_depth 4;
результат прежний:

400 Bad Request
The SSL certificate error

nginx/1.10.1

во вложении error.log и nginx.conf
nginx.conf.11013.txt (4kb) загружен 3 раз(а).
error.log (28kb) загружен 3 раз(а).
Offline Aleksandr G*  
#3 Оставлено : 3 октября 2016 г. 18:09:19(UTC)
Aleksandr G*

Статус: Новичок

Группы: Участники
Зарегистрирован: 13.09.2016(UTC)
Сообщений: 1

Windows: copy CA1.crt + CA2.crt + CA3.crt BUNDLE.crt
Linux: cat CA1.crt CA2.crt CA3.crt > BUNDLE.crt
Offline mihmig  
#4 Оставлено : 4 октября 2016 г. 12:16:23(UTC)
mihmig

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.05.2016(UTC)
Сообщений: 76

@Aleksandr G*
Проверил Ваш вариант - проблема не исчезла.
Догадываюсь, что это проблема не nginx-а а библиотеки openssl.
Но вот как включить расширенное протоколирование уже для openssl?
Offline marrow  
#5 Оставлено : 20 апреля 2017 г. 17:00:56(UTC)
marrow

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.06.2016(UTC)
Сообщений: 40
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз
Поблагодарили: 2 раз в 2 постах
Аналогичная проблема.
mihmig победили проблему?

Так же пробовал объединить сертификат IntermediateCA и RooCA в один файл. Где два сертификата IntermediateCA - УЦ 1 ИС ГУС и от своего УЦ. RootCA - ГУЦ.
И указывал ssl_verify_depth 4 и ssl_verify_depth 3

Результат такой же:
400 Bad Request
The SSL certificate error

Может нам коллеги с КриптоПро помогут.
Offline pd  
#6 Оставлено : 20 апреля 2017 г. 17:09:38(UTC)
pd


Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 411
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 11 раз
Поблагодарили: 63 раз в 52 постах
Автор: marrow Перейти к цитате
Может нам коллеги с КриптоПро помогут.

Вероятность помощи не будет равна нулю, если ясно и чётко 1) сформулировать задачу 2) описать шаги воспроизведения проблемы.

Offline marrow  
#7 Оставлено : 20 апреля 2017 г. 17:36:41(UTC)
marrow

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.06.2016(UTC)
Сообщений: 40
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз
Поблагодарили: 2 раз в 2 постах
Проблемную задачу описал участник выше - mihmig. Думаю, что он понятно описал.

Я добавлю:
Раньше стоял SSL сертификат от самоподписанного корневого сертификата - всё работало. Выпустил SSL сертификат от Аккредитованного УЦ, объединил сертификаты IntermediateCA и RooCA в один файл. И в конфиге /etc/nginx/conf.d/gost_ssl.conf указал следующее:
# HTTPS server
#
server {
listen 443 ssl;
server_name svs.nucrf.ru;

proxy_set_header Host $host;
# ssl_certificate /usr/local/nginx/svs.nucrf.ru.cer;
ssl_certificate /etc/nginx/keys/svs.nucrf.ru.cer;
ssl_certificate_key engine:gost_capi:svs.nucrf.ru;
ssl_client_certificate /etc/nginx/keys/cert.b64;
# ssl_client_certificate /etc/nginx/keys/zaonucpak2.b64.cer;
# ssl_certificate /etc/nginx/cert.pem;
# ssl_certificate_key /etc/nginx/cert.key;

ssl_verify_client on;
ssl_verify_depth 4;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 15m;
ssl_protocols TLSv1;


В файле cert.b64 указал сертификаты с кодировкой pem - ssl_client_certificate /etc/nginx/keys/cert.b64;
Устанавливает глубину проверки в цепочке клиентских сертификатов - ssl_verify_depth 3

После захожу на сайт, после выбора клиентского сертификата, ошибка - 400 Bad Request The SSL certificate error

Отредактировано пользователем 20 апреля 2017 г. 17:38:47(UTC)  | Причина: Не указана

Offline marrow  
#8 Оставлено : 21 апреля 2017 г. 10:17:12(UTC)
marrow

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.06.2016(UTC)
Сообщений: 40
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз
Поблагодарили: 2 раз в 2 постах
С такой ошибкой никто не сталкивался?
Offline marrow  
#9 Оставлено : 21 апреля 2017 г. 15:39:48(UTC)
marrow

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.06.2016(UTC)
Сообщений: 40
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз
Поблагодарили: 2 раз в 2 постах
Решил проблему :). Я доволен.
Offline pd  
#10 Оставлено : 24 апреля 2017 г. 10:50:23(UTC)
pd


Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 411
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 11 раз
Поблагодарили: 63 раз в 52 постах
Автор: marrow Перейти к цитате
Решил проблему :). Я доволен.

У нас не удалось воспроизвести.

Напишите решение или в чём была ошибка -- будет вам благодарность.
Offline marrow  
#11 Оставлено : 3 мая 2017 г. 15:12:09(UTC)
marrow

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.06.2016(UTC)
Сообщений: 40
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз
Поблагодарили: 2 раз в 2 постах
На стороне сервера проблем - нет. Проблема в клиентском сертификате, который выпущен на старой сборке УЦ - КриптоПро УЦ 2.0, сертифицированная версия 2.0.5938.0000 от 4 апреля 2016 г.
В новой сборке (2.0.6142.0100) проблем - нет.

Так что косяк в УЦ :).
thanks 1 пользователь поблагодарил marrow за этот пост.
pd оставлено 03.05.2017(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.