Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

67 Страницы«<3031323334>»
Опции
К последнему сообщению К первому непрочитанному
Offline Дмитрий Пичулин  
#311 Оставлено : 1 сентября 2017 г. 19:19:27(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: cryptofan Перейти к цитате
значит надо, как минимум, ПЕРЕКОМПИЛИРОВАТЬ CURL с новым openSSL

Проще поставить stunnel перед curl: https://www.cryptopro.ru...aspx?g=posts&t=11688
Знания в базе знаний, поддержка в техподдержке
Offline cryptofan  
#312 Оставлено : 1 сентября 2017 г. 19:29:21(UTC)
cryptofan

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

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

Автор: pd Перейти к цитате
Автор: cryptofan Перейти к цитате
значит надо, как минимум, ПЕРЕКОМПИЛИРОВАТЬ CURL с новым openSSL

Проще поставить stunnel перед curl: https://www.cryptopro.ru...aspx?g=posts&t=11688


хм Think буду пробовать
спасибки
Offline Дмитрий Пичулин  
#313 Оставлено : 1 сентября 2017 г. 20:01:46(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: pd Перейти к цитате
Автор: realmfoo Перейти к цитате
Особенность wget в том, что инициализация движка OpenSSL выполняется дважды и это считается "фичей".

...

Можете это исправить в gost_capi?

Спасибо, исправим в ближайшее время.

Исправили, wget должен работать корректно: https://update.cryptopro...20170901_gost_capi_wget/

Знания в базе знаний, поддержка в техподдержке
Offline cryptofan  
#314 Оставлено : 1 сентября 2017 г. 20:08:56(UTC)
cryptofan

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

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

Автор: artioz Перейти к цитате
Вот здесь: Настройка ГОСТ-TLS через КриптоПро есть отличное описание как контейнер перевести в формат OpenSSL (проверено, работает!), ну и другие аспекты освещены.


а вот там пишут про 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 реализацией его использовать не надо.


таки для НБКИ подойдёт любой способ? вообще зависит это от того, что там на другой стороне, какая версия ГОСТа?
Offline realmfoo  
#315 Оставлено : 4 сентября 2017 г. 14:06:43(UTC)
realmfoo

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

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

Поблагодарили: 1 раз в 1 постах
Автор: pd Перейти к цитате
Автор: pd Перейти к цитате
Автор: realmfoo Перейти к цитате
Особенность wget в том, что инициализация движка OpenSSL выполняется дважды и это считается "фичей".

...

Можете это исправить в gost_capi?

Спасибо, исправим в ближайшее время.

Исправили, wget должен работать корректно: https://update.cryptopro...20170901_gost_capi_wget/



Да, сегфолт пропал,файл скачивается. Спасибо!
Offline realmfoo  
#316 Оставлено : 5 сентября 2017 г. 17:01:16(UTC)
realmfoo

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

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

Поблагодарили: 1 раз в 1 постах
Добрый вечер!

Пытаюсь получить приватный ключ с использованием функции ENGINE_load_private_key (метод load_privkey структуры ENGINE), но никак не могу заставить её считывать пароль через UI_METHOD. Она не использует абстракцию OpenSSL UI? Как-то можно иначе передать в движок пароль от контейнера, чтобы не запрашивать его у пользователя?

И как используется значение второго аргумента функции, key_id? Опытным путём получил, что указывая значение от 1 до 8 удаётся загрузить ключ. Что туда нужно передавать?
Offline Дмитрий Пичулин  
#317 Оставлено : 5 сентября 2017 г. 17:15:38(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: 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, это его зона ответственности, поэтому он должен обрабатывать ввод пароля.

Можете подробнее рассказать о варианте использования, в котором необходим ввод пароля в автоматическом режиме.

Знания в базе знаний, поддержка в техподдержке
Offline realmfoo  
#318 Оставлено : 5 сентября 2017 г. 17:46:07(UTC)
realmfoo

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

Группы: Участники
Зарегистрирован: 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 сработал, действительно, принимается он.
Offline realmfoo  
#319 Оставлено : 5 сентября 2017 г. 17:59:15(UTC)
realmfoo

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

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

Поблагодарили: 1 раз в 1 постах
Если задействовать OpenSSL UI окажется трудоёмким, то хотелось бы иметь возможность указывать пароль хотя бы через ENGINE_ctrl_cmd_string.

Отредактировано пользователем 5 сентября 2017 г. 18:24:13(UTC)  | Причина: Не указана

Offline Дмитрий Пичулин  
#320 Оставлено : 5 сентября 2017 г. 19:13:25(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: realmfoo Перейти к цитате
Если задействовать OpenSSL UI окажется трудоёмким, то хотелось бы иметь возможность указывать пароль хотя бы через ENGINE_ctrl_cmd_string.

Мы пойдём другим путём, документированным и в рамках CSP, но об этом в завтра.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
67 Страницы«<3031323334>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.