logo Обзор КриптоПро NGate для защищённого доступа к корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

28 Страницы«<262728
Опции
К последнему сообщению К первому непрочитанному
Offline rmussalimov  
#541 Оставлено : 5 августа 2019 г. 15:10:23(UTC)
rmussalimov

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Автор: Дмитрий Пичулин Перейти к цитате
Автор: rmussalimov Перейти к цитате
Автор: Дмитрий Пичулин Перейти к цитате
Автор: rmussalimov Перейти к цитате
До nginx не дошел, просто поставить бы в систему
Делал по этой инструкции https://www.cryptopro.ru....aspx?g=posts&t=8544
Есть какие-либо предположения с чем связана ошибка?

Да, смотрите первый ответ: https://www.cryptopro.ru...&m=105554#post105554



Т.е. проблема в том, что OpenSSL не определяет .so как engine?

Нет, не в этом.



Хорошо, спасибо.
Переустановлю OpenSSL
Скажите, пожалуйста, возможно ли установить голый OpenSSL, без nginx, по инструкции, которую Вы отправили выше?
Offline simpleman66  
#542 Оставлено : 5 августа 2019 г. 17:27:15(UTC)
simpleman66

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

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

Автор: Дмитрий Пичулин Перейти к цитате
Автор: simpleman66 Перейти к цитате
На сервере с настроенным nginx+gostengy+ГОСТ2012 сертификатами в случае если у одного из хостов истекает срок действия сертификата, то отказывается работать nginx. Т.е. перестают работать абсолютно все вирт хосты.
В логе при этом ошибка:
[emerg] 2169#2169: ENGINE_load_private_key("9867b5ab2b2c88342766gg5e99a6a7c6ddc7e324") failed (SSL: error:80015033:lib(128):gng_support_getuserkey:GNG_ERR_LICENSE error:26096080:engine routines:ENGINE_load_private_key:failed loading private key)

Считаю это неправильным поведением, когда из-за одного просроченного сертификата использующимся один из хостов, перестают работать несколько десятков других хостов.
Задал вопрос в комьюнити Nginx - авторы говорят пишите авторам gostengy https://forum.nginx.org/read.php?21,285094,285099

Помогите пожалуйста решить эту проблему.

При разработке у нас был другой подход, что прохождение всех проверок при старте системы, гарантирует дальнейшую работоспособность.

То есть, рядовому пользователю проще сразу нарваться на ошибку, чем разбираться с ней в процессе работы.

Ваша ситуация понятна, опытным пользователям такой подход может показаться наивным, но всегда можно оперативно отключать проблемные хосты на уровне конфигурации.

Предлагайте свои варианты, как бы вы хотели улучшить старт системы.



Я предлагаю чтобы система все же стартовала, но при этом как и сейчас предупреждала пользователя в лог и на экран (во время старта) о том что сертификат истек и как и сейчас показывала идентификатор истекшего сертификата для быстрого поиска проблемного серта. На данный момент у нас в организации например 50 хостов с разными сертификатами и когда у меня из-за одного истекшего сертификата упали оставшиеся 49 хостов, для нас это было большой проблемой. А что касается рядовых пользователей, то связку nginx+gostengy+ГОСТ2012 не так то просто установить и настроить, т.е. среди пользователей нет рядовых, есть скорее малоопытные и опытные как мне кажется. Но какой бы не был пользователь его в любом случае не ждет ничего хорошего в случае падения всей системы из-за одного хоста/сертификата.

Описанное выше считаю необходимым, а вот еще есть одно пожелание, но это уже скорее прихоть чем необходимость:
Можно ли как-то систему научить заранее предупреждать в лог о том что какой-то из сертификатов истекает? Это было бы крайне удобно в условиях большого количество хостов использующих различные сертификаты.
Offline rmussalimov  
#543 Оставлено : 5 августа 2019 г. 18:40:26(UTC)
rmussalimov

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Это невообразимо странно, что для того, чтобы поставить Engine необходим nginx
Offline 0dm1n  
#544 Оставлено : 5 августа 2019 г. 21:23:55(UTC)
0dm1n

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

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

А я могу использовать gostengy, чтобы с помощью OpenSSL подписать запрос на сертификат ГОСТ2012?
Offline rmussalimov  
#545 Оставлено : 5 августа 2019 г. 21:58:47(UTC)
rmussalimov

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
После долгих мучений удалось установить gostengy engine.
Попытался подписать текстовик следующей командой:
Цитата:
/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl smime -engine gostengy -sign -inkey /*Путь до приватного ключа/Приватный ключ.pem*/ -signer /*Путь до сертификата/Сертификат.crt*/ -outform pem -in /root/message.txt -out /root/message.signed.txt -passin pass:/*Пароль от хранилища*/


Получаю следующее:
Цитата:
engine "gostengy" set.
unable to load signing key file
140359923443456:error:0606F090:digital envelope routines:EVP_PKCS82PKEY:method not supported:crypto/evp/evp_pkey.c:48:
140359923443456:error:0907B00D:PEM routines:PEM_read_bio_PrivateKey:ASN1 lib:crypto/pem/pem_pkey.c:87:


Алгоритм серта - ГОСТ 2001. Это может быть связано? Или может быть, синтаксис у нового OpenSSL другой? На другом сервере стоит старый OpenSSL, с пока еще невыпеленным gost engine , все работает. Спасибо большое.



Offline two_oceans  
#546 Оставлено : 6 августа 2019 г. 5:26:52(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 598
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 33 раз
Поблагодарили: 129 раз в 124 постах
Автор: 0dm1n Перейти к цитате
А я могу использовать gostengy, чтобы с помощью OpenSSL подписать запрос на сертификат ГОСТ2012?
Технически да, в обычной команде подписи запроса на сертификат в параметре ключа УЦ вместо имени файла pem, которым подписывать, используйте "c:"+ имя контейнера КриптоПро(без кавычек и плюсов, слитно), которым хотите подписать сертификат.

Заметьте, что сгенерировать через gostengy не получится, контейнер с закрытым ключом должен быть уже готов. На основе контейнера через gostengy отлично получается создавать запрос на сертификат или самоподписанный корневой сертификат для внутреннего неаккредитованного УЦ. Естественно без аккредитации УЦ сертификат (даже неотличимый по содержимому от квалифицированного) будет считаться неквалифицированным, недоверенным и не будет приниматься федеральными органами. Чтобы сделать "неотличимый по содержимому от квалифицированного" понадобится редактировать конфиг OpenSSL.

Цитата:
Алгоритм серта - ГОСТ 2001. Это может быть связано? Или может быть, синтаксис у нового OpenSSL другой? На другом сервере стоит старый OpenSSL, с пока еще невыпеленным gost engine , все работает. Спасибо большое.
Вы наверно не прочитали второе сообщение этой темы внимательно. gostengy работает только с ключами в контейнерах КриптоПро, с ключами формата pem не работает и их не загружает - ошибка как раз говорит об этом. Это же касается gost_capi от КриптоПро.
Используйте "c:"+ имя контейнера вместо имени pem файла. Если сертификат установлен в хранилище КриптоПро, то можно также попробовать указывать отпечаток или CN. Соответственно есть сомнение в нужности указания пароля - КриптоПро обычно не принимает пароль от модуля и запрашивает пароль контейнера в своем интерфейсе (не уверен как это выглядит на *nix).

Алгоритм ГОСТ 2001 поддерживается в gostengy - в этом плане пока проблемы нет. "Пока" в том смысле, что gostengy работает через криптопровайдер КриптоПро, а там гост-2001 скорее всего будет заблокирован 31 декабря 2019 года. На всякий случай можно проверить выполнены ли рекомендации по переносу даты блокировки или отключению контроля ключей (смотрите в базе знаний КриптоПро).

Отредактировано пользователем 6 августа 2019 г. 5:54:45(UTC)  | Причина: Не указана

Offline rmussalimov  
#547 Оставлено : 6 августа 2019 г. 9:12:56(UTC)
rmussalimov

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Автор: two_oceans Перейти к цитате
Автор: 0dm1n Перейти к цитате
А я могу использовать gostengy, чтобы с помощью OpenSSL подписать запрос на сертификат ГОСТ2012?
Технически да, в обычной команде подписи запроса на сертификат в параметре ключа УЦ вместо имени файла pem, которым подписывать, используйте "c:"+ имя контейнера КриптоПро(без кавычек и плюсов, слитно), которым хотите подписать сертификат.

Заметьте, что сгенерировать через gostengy не получится, контейнер с закрытым ключом должен быть уже готов. На основе контейнера через gostengy отлично получается создавать запрос на сертификат или самоподписанный корневой сертификат для внутреннего неаккредитованного УЦ. Естественно без аккредитации УЦ сертификат (даже неотличимый по содержимому от квалифицированного) будет считаться неквалифицированным, недоверенным и не будет приниматься федеральными органами. Чтобы сделать "неотличимый по содержимому от квалифицированного" понадобится редактировать конфиг OpenSSL.

Цитата:
Алгоритм серта - ГОСТ 2001. Это может быть связано? Или может быть, синтаксис у нового OpenSSL другой? На другом сервере стоит старый OpenSSL, с пока еще невыпеленным gost engine , все работает. Спасибо большое.
Вы наверно не прочитали второе сообщение этой темы внимательно. gostengy работает только с ключами в контейнерах КриптоПро, с ключами формата pem не работает и их не загружает - ошибка как раз говорит об этом. Это же касается gost_capi от КриптоПро.
Используйте "c:"+ имя контейнера вместо имени pem файла. Если сертификат установлен в хранилище КриптоПро, то можно также попробовать указывать отпечаток или CN. Соответственно есть сомнение в нужности указания пароля - КриптоПро обычно не принимает пароль от модуля и запрашивает пароль контейнера в своем интерфейсе (не уверен как это выглядит на *nix).

Алгоритм ГОСТ 2001 поддерживается в gostengy - в этом плане пока проблемы нет. "Пока" в том смысле, что gostengy работает через криптопровайдер КриптоПро, а там гост-2001 скорее всего будет заблокирован 31 декабря 2019 года. На всякий случай можно проверить выполнены ли рекомендации по переносу даты блокировки или отключению контроля ключей (смотрите в базе знаний КриптоПро).


Какие форматы приватников тогда поддерживаются? Также, не могли бы посказать, пожалуйста, как проверить верное обращение к CSP из OpenSSL?

Отредактировано пользователем 6 августа 2019 г. 9:14:27(UTC)  | Причина: Не указана

Offline rmussalimov  
#548 Оставлено : 6 августа 2019 г. 10:01:06(UTC)
rmussalimov

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Все понял, но вот проблема с приватником
Нужно каким-то образом из .pem получить .key файлы (header, masks, name и т.д.)
Не подскажите, каким образом это можно сделать при помощи CryptoPro CSP?
Спасибо
Offline two_oceans  
#549 Оставлено : 6 августа 2019 г. 11:04:48(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 598
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 33 раз
Поблагодарили: 129 раз в 124 постах
Цитата:
Нужно каким-то образом из .pem получить .key файлы (header, masks, name и т.д.)
Не подскажите, каким образом это можно сделать при помощи CryptoPro CSP?
Алгоритм такой:
1) в openssl зашифровать ключ по требованиям ТК26 в формат p12/pfx, с указанием алгоритмов гост. Теоретически командная строка выглядит примерно так:
Код:
openssl -engine gost -export -inkey seckey.pem -in cert.pem -out pkcs12.p12 -password pass:12345 -keypbe gost89 -certpbe gost89 -macalg md_gost12_512


2) импортировать p12/pfx при помощи утилит p12util / certmgr в КриптоПро CSP.

Отредактировано пользователем 6 августа 2019 г. 11:16:53(UTC)  | Причина: Не указана

Offline Андрей Степанов  
#550 Оставлено : 15 августа 2019 г. 13:28:25(UTC)
Андрей Степанов

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

Группы: Участники
Зарегистрирован: 06.05.2019(UTC)
Сообщений: 5
Откуда: Москва

Сказал(а) «Спасибо»: 2 раз
Подскажите пожалуйста как быть в следующей ситуации:

Пытаюсь настроить nginx таким образом, чтобы на 1443 порту был один сертификат серверный, а на 2443 другой.
Ключ сертификата конфигурируется директивой ssl_certificate_key, но CN у обоих сертификатов одинаковый. И они цепляют одинаковый серт. Можно ли в ssl_certificate_key подсунуть отпечаток или что-то другое?
Offline Дмитрий Пичулин  
#551 Оставлено : 15 августа 2019 г. 13:29:34(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 123 раз в 106 постах
Автор: Андрей Степанов Перейти к цитате
Подскажите пожалуйста как быть в следующей ситуации:

Пытаюсь настроить nginx таким образом, чтобы на 1443 порту был один сертификат серверный, а на 2443 другой.
Ключ сертификата конфигурируется директивой ssl_certificate_key, но CN у обоих сертификатов одинаковый. И они цепляют одинаковый серт. Можно ли в ssl_certificate_key подсунуть отпечаток или что-то другое?

Да, можно использовать отпечаток для однозначности.
Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Дмитрий Пичулин за этот пост.
Андрей Степанов оставлено 19.08.2019(UTC)
Offline Андрей Степанов  
#552 Оставлено : 19 августа 2019 г. 15:47:31(UTC)
Андрей Степанов

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

Группы: Участники
Зарегистрирован: 06.05.2019(UTC)
Сообщений: 5
Откуда: Москва

Сказал(а) «Спасибо»: 2 раз
Спасибо, получилось. Не подскажите ещё такой вопрос. При одновременной настройке ГОСТ и RSA, если подключаться по RSA, то лог подключения попадает сначала в error_log (видимо, когда пытается подключиться по ГОСТ) а после этого падает в access_log. Можно ли это как то побороть, чтобы при подключении по RSA был лог только в access?
Offline Дмитрий Пичулин  
#553 Оставлено : 19 августа 2019 г. 15:55:26(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 123 раз в 106 постах
Автор: Андрей Степанов Перейти к цитате
Спасибо, получилось. Не подскажите ещё такой вопрос. При одновременной настройке ГОСТ и RSA, если подключаться по RSA, то лог подключения попадает сначала в error_log (видимо, когда пытается подключиться по ГОСТ) а после этого падает в access_log. Можно ли это как то побороть, чтобы при подключении по RSA был лог только в access?

Обычно сервер выбирает сюиту (ssl_prefer_server_ciphers on) в зависимости от того, что ему прислал пользователь и своих настроек, ошибок быть не должно. Если у вас ошибки, то какие?
Знания в базе знаний, поддержка в техподдержке
Offline michaelnv18956  
#554 Оставлено : 29 августа 2019 г. 16:23:53(UTC)
michaelnv18956

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

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

Добрый день!

При интеграции с API СБИС есть необходимость формировать электронную подпись по криптографическом хешу (https://sbis.ru/help/integration/api/sequence/ep?tb=tab2).

Имеется криптографический хеш, ключи в виде 6 файлов (primary.key, primary2.key, name.key, masks2key, masks.key, header.key), установленный сертификат.

Подскажите, пожалуйста, какие шаги необходимо предпринять для формирования электронной подписи по криптографическому хешу при использовании Python?
Подойдет ли openssl для этого? Как можно ей передать готовый хеш для генерирования подписи?
Offline Дмитрий Пичулин  
#555 Оставлено : 2 сентября 2019 г. 11:56:44(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 123 раз в 106 постах
Автор: michaelnv18956 Перейти к цитате
Добрый день!

При интеграции с API СБИС есть необходимость формировать электронную подпись по криптографическом хешу (https://sbis.ru/help/integration/api/sequence/ep?tb=tab2).

Имеется криптографический хеш, ключи в виде 6 файлов (primary.key, primary2.key, name.key, masks2key, masks.key, header.key), установленный сертификат.

Подскажите, пожалуйста, какие шаги необходимо предпринять для формирования электронной подписи по криптографическому хешу при использовании Python?
Подойдет ли openssl для этого? Как можно ей передать готовый хеш для генерирования подписи?

Технически всё должно работать, передать готовый хэш можно, но подойдёт ли вам openssl неизвестно, надо пробовать.
Знания в базе знаний, поддержка в техподдержке
Offline Андрей Степанов  
#556 Оставлено : 4 сентября 2019 г. 12:57:57(UTC)
Андрей Степанов

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

Группы: Участники
Зарегистрирован: 06.05.2019(UTC)
Сообщений: 5
Откуда: Москва

Сказал(а) «Спасибо»: 2 раз
Автор: Дмитрий Пичулин Перейти к цитате
Автор: ferrat Перейти к цитате
У меня при попытке обновления cprocsp-cpopenssl-110-gost-64 с 5.0.11216-5 на 5.0.11315-5 требует lsb-cprocsp-capilite-64 не ниже 5 версии.

Просто игнорируйте это с помощью опции --ignore-depends.



Дмитрий, пожалуйста подскажите в каком месте включить эту опцию при установке nginx-gost, используя автоматический скрипт install-nginx.sh ?
Offline Дмитрий Пичулин  
#557 Оставлено : 4 сентября 2019 г. 13:02:01(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 123 раз в 106 постах
Автор: Андрей Степанов Перейти к цитате
Автор: Дмитрий Пичулин Перейти к цитате
Автор: ferrat Перейти к цитате
У меня при попытке обновления cprocsp-cpopenssl-110-gost-64 с 5.0.11216-5 на 5.0.11315-5 требует lsb-cprocsp-capilite-64 не ниже 5 версии.

Просто игнорируйте это с помощью опции --ignore-depends.



Дмитрий, пожалуйста подскажите в каком месте включить эту опцию при установке nginx-gost, используя автоматический скрипт install-nginx.sh ?

Пример:

Код:
sudo dpkg -i --ignore-depends=lsb-cprocsp-capilite-64 cprocsp-cpopenssl-110-gost-64_5.0.11315-5_amd64.deb


Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Дмитрий Пичулин за этот пост.
Андрей Степанов оставлено 17.09.2019(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
28 Страницы«<262728
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.