Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.07.2017(UTC) Сообщений: 10
|
Автор: pd хм буду пробовать спасибки
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: pd Автор: realmfoo Особенность wget в том, что инициализация движка OpenSSL выполняется дважды и это считается "фичей".
...
Можете это исправить в gost_capi? Спасибо, исправим в ближайшее время. Исправили, wget должен работать корректно: https://update.cryptopro...20170901_gost_capi_wget/ |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.07.2017(UTC) Сообщений: 10
|
Автор: artioz а вот там пишут про 2 способа: Цитата:В протоколе https:// можно использовать криптографию ГОСТ (ГОСТ Р 34.10-2001, ГОСТ Р 34.10-94). Для этого на Linux сервере есть 2 варианта реализации: 1. Opensource, добавленная в OpenSSL 1.0.* и входящая в комплект его поставки, и отделённая в https://github.com/gost-engine/engine, начиная с OpenSSL 1.1. Реализована компанией КриптоКом, НЕ сертифицирована. 2. Реализация через КриптоПро CSP и gost_capi. КриптоПро сертифицировано ФСБ, есть 3.9 и 4.0, 4.0 отличается дополнительным наличием поддержки чуть более нового стандарта ГОСТ Р. 34.10-2012, однако для совместимости со старыми версиями КриптоПро (3.6, 3.9) и opensource реализацией его использовать не надо. таки для НБКИ подойдёт любой способ? вообще зависит это от того, что там на другой стороне, какая версия ГОСТа?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.08.2017(UTC) Сообщений: 17 Откуда: Санкт-Петербург Поблагодарили: 1 раз в 1 постах
|
Автор: pd Автор: pd Автор: realmfoo Особенность wget в том, что инициализация движка OpenSSL выполняется дважды и это считается "фичей".
...
Можете это исправить в gost_capi? Спасибо, исправим в ближайшее время. Исправили, wget должен работать корректно: https://update.cryptopro...20170901_gost_capi_wget/ Да, сегфолт пропал,файл скачивается. Спасибо!
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.08.2017(UTC) Сообщений: 17 Откуда: Санкт-Петербург Поблагодарили: 1 раз в 1 постах
|
Добрый вечер!
Пытаюсь получить приватный ключ с использованием функции ENGINE_load_private_key (метод load_privkey структуры ENGINE), но никак не могу заставить её считывать пароль через UI_METHOD. Она не использует абстракцию OpenSSL UI? Как-то можно иначе передать в движок пароль от контейнера, чтобы не запрашивать его у пользователя?
И как используется значение второго аргумента функции, key_id? Опытным путём получил, что указывая значение от 1 до 8 удаётся загрузить ключ. Что туда нужно передавать?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: realmfoo Добрый вечер!
Пытаюсь получить приватный ключ с использованием функции ENGINE_load_private_key (метод load_privkey структуры ENGINE), но никак не могу заставить её считывать пароль через UI_METHOD. Она не использует абстракцию OpenSSL UI? Как-то можно иначе передать в движок пароль от контейнера, чтобы не запрашивать его у пользователя?
И как используется значение второго аргумента функции, key_id? Опытным путём получил, что указывая значение от 1 до 8 удаётся загрузить ключ. Что туда нужно передавать? key_id, в терминах openssl, это keyform для engine, у каждого engine может быть свой смысл keyform. В случае gost_capi и gostengy, это просто строка с именем сертификата или (более специфично) строка с hex-представлением значения идентификатора ключа сертификата или его отпечатка (hex представление в любой форме, с пробелами и другими разделителями или без, с заглавными или без). Мы против ввода пароля в автоматическом режиме, так как это равносильно отсутствию пароля. В случае gost_capi и gostengy, мы полагаемся при работе с закрытыми ключами на CSP, это его зона ответственности, поэтому он должен обрабатывать ввод пароля. Можете подробнее рассказать о варианте использования, в котором необходим ввод пароля в автоматическом режиме. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.08.2017(UTC) Сообщений: 17 Откуда: Санкт-Петербург Поблагодарили: 1 раз в 1 постах
|
В настоящий момент есть сервис, который отвечает за подписывание исходящих запросов. Для формирования подписи используется xmlsec в связке с openssl. Чтобы перезапуск сервиса/сервера не приводил к необходимости системного администратора просыпаться среди ночи и вводить пароль от контейнера вручную, пароль считывается из файла и используется для извлечения приватного ключа. Сейчас это работает как в CryptoPRO JCP версии (используя стандартный метод KeyStore.getKey), так и при прямом обращении к CryptoPRO CSP (используя CryptAcquireContext с флагом CRYPT_SILENT и проставляя пароль с использованием CryptSetProvParam). А вот при использовании Крипто ПРО через openssl такой возможности нет. Например, openssl позволяет (хоть и не рекомендует это) указывать пароль прямо в командной строке: Код:$ openssl cms -sign -passin pass:password -engine gost_capi -keyform ENGINE -inkey 1 -in request.xml -signer cert.crt
openssl (lock_dbg_cb): already locked (mode=9, type=30) at eng_table.c:138
openssl (lock_dbg_cb): not locked (mode=10, type=30) at eng_table.c:187
engine "gost_capi" set.
CryptoPro CSP: Type password for container "RaUser-4a214d99-7d1a-4e56-bd66-ef2d3db05c95"
Password:
Можно даже указать файл (-passin file:/path/to/file), из которого будет считан пароль, но и это не работает. А вот перенаправление потока никто не запрещал: Код:$ echo password | openssl cms -sign -engine gost_capi -keyform ENGINE -inkey 1 -in request.xml -signer cert.crt
openssl (lock_dbg_cb): already locked (mode=9, type=30) at eng_table.c:138
openssl (lock_dbg_cb): not locked (mode=10, type=30) at eng_table.c:187
engine "gost_capi" set.
CryptoPro CSP: Type password for container "RaUser-000"
Password:MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="gostr3411-94"; boundary="----375B5F5198B18E915F7DD32F4B071670"
This is an S/MIME signed message
------375B5F5198B18E915F7DD32F4B071670
Можно, конечно, и freopen использовать для подмены stdin на данные файла. Поэтому, пожалуйста, задействуйте слой OpenSSL UI, чтобы облегчить жизнь конечных пользователей :) P.S. SubjKeyId сработал, действительно, принимается он.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.08.2017(UTC) Сообщений: 17 Откуда: Санкт-Петербург Поблагодарили: 1 раз в 1 постах
|
Если задействовать OpenSSL UI окажется трудоёмким, то хотелось бы иметь возможность указывать пароль хотя бы через ENGINE_ctrl_cmd_string. Отредактировано пользователем 5 сентября 2017 г. 18:24:13(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: realmfoo Если задействовать OpenSSL UI окажется трудоёмким, то хотелось бы иметь возможность указывать пароль хотя бы через ENGINE_ctrl_cmd_string. Мы пойдём другим путём, документированным и в рамках CSP, но об этом в завтра. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close