Статус: Новичок
Группы: Участники
Зарегистрирован: 29.03.2021(UTC) Сообщений: 3
|
Имеются клиенты, которые подключаются по http к реверсу(взял из инструкции https://support.cryptopr...x-gost-binary-packages):Код:
location / {
proxy_pass https://api.sb.mdlp.crpt.ru;
proxy_http_version 1.1;
proxy_sspi on;
}
лог /var/log/cpnginx Код:2024/01/30 17:39:10 [error] 194397#0: *66 CertificateChainEngine is not initialized while checking remote certificate, client: 10.114.64.37, server: ***, request: "POST /api/v1/a
uth HTTP/1.1", upstream: "https://194.0.209.12:443/api/v1/auth"
curl по имени при этом проходит(по ip получаю ошибку SEC_E_WRONG_PRINCIPAL) Код:sudo -u cpnginx LANG=en_US.UTF-8 /opt/cprocsp/bin/amd64/curl -vvv https://api.sb.mdlp.crpt.ru
* Trying 194.0.209.12:443...
* TCP_NODELAY set
* Connected to api.sb.mdlp.crpt.ru (194.0.209.12) port 443 (#0)
> GET / HTTP/1.1
> Host: api.sb.mdlp.crpt.ru
> User-Agent: curl/7.65.3-DEV
> Accept: */*
корневой сертификат https://api.sb.mdlp.crpt.ru добавил командой Код:sudo -u cpnginx /opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file /path/to/root.cer
Почему в логах nginx он обращается по ip-адресу, не по имени, указанному в конфиге? Я так понимаю, из-за этого ловлю ошибку SEC_E_UNTRUSTED_ROOT и не получаю нужный результат.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 17.10.2010(UTC) Сообщений: 131 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 2 раз Поблагодарили: 9 раз в 8 постах
|
Пропишите в location дополнительно Код:proxy_ssl_verify on; # Без этого всегда будет ошибка "CertificateChainEngine is not initialized"
proxy_ssl_server_name on; # Без этого не будет передаваться SNI, и удалённый сервер, скорее всего не ответит ничего, или ответит не то что нужно.
proxy_ssl_name api.sb.mdlp.crpt.ru; # опционально
|
1 пользователь поблагодарил Андрей Куликов за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 29.03.2021(UTC) Сообщений: 3
|
Автор: Андрей Куликов Пропишите в location дополнительно Код:proxy_ssl_verify on; # Без этого всегда будет ошибка "CertificateChainEngine is not initialized"
proxy_ssl_server_name on; # Без этого не будет передаваться SNI, и удалённый сервер, скорее всего не ответит ничего, или ответит не то что нужно.
proxy_ssl_name api.sb.mdlp.crpt.ru; # опционально
Спасибо, заработало, но пришлось добавить инструкцию Цитата: proxy_ssl_trusted_certificate Root;
Ещё вопрос: есть ли у certmgr флаг, чтобы сертификаты добавлялись без подтверждения?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 17.10.2010(UTC) Сообщений: 131 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 2 раз Поблагодарили: 9 раз в 8 постах
|
Автор: LazyBread Спасибо, заработало, но пришлось добавить инструкцию Цитата: proxy_ssl_trusted_certificate Root; Да, точно, забыл про эту директиву. Кстати, хранилище доверенных сертификатом может быть не только ROOT. Но и произвольное другое. Удобно для гранулирования списка доверенных сертификатов. Но в случае cpnginx содержимое таких хранилищ должно быть подмножеством хранилища ROOT. Автор: LazyBread Ещё вопрос: есть ли у certmgr флаг, чтобы сертификаты добавлялись без подтверждения?
Ставьте сертификаты под рутом в хранилище mROOT. При добавлении сертификата в хранилище uROOT подтверждение будет спрашиваться всегда, и это нельзя отключить.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close