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

Уведомление

Icon
Error

25 Страницы«<232425
Опции
К последнему сообщению К первому непрочитанному
Offline Дмитрий Пичулин  
#481 Оставлено : 18 декабря 2018 г. 13:44:37(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 111 раз в 96 постах
Автор: Iliyas_B Перейти к цитате
Сертификат и закрытый ключ в формате pem был получен из СМЭВ для разработки информационной системы.
Я так понимаю, что я еще должен как-то при подписании использовать закрытый ключ, но судя по постам на форуме закрытый ключ в формате pem никак не затолкать в криптопро.

Верно.

А что СМЭВ выдаёт ключи в голом виде?

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Дмитрий Пичулин за этот пост.
Iliyas_B оставлено 19.12.2018(UTC)
Offline two_oceans  
#482 Оставлено : 19 декабря 2018 г. 2:08:22(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 64 раз в 62 постах
Я зайду дальше и скажу, что СМЭВ вообще ключи не выдает. Просто люди привыкли называть СМЭВом все что ни попадя. Что названо в этот раз

По вопросу - закрытый ключ нужно указать в параметре -inkey, а в параметре signer должен быть указан сертификат. Попробуййте также пока убрать параметр -CAFile скорее всего "ругается" на него. Если сертификат не в кодировке Base64, то его надо предварительно перевести в эту кодировку. Буквально на прошлой странице этой темы упоминалась команда перевода, но можно указать кодировку при экспорте сертификата.

Добавлю, что в случае gost_capi или gostengy ключ должен быть в контейнере КриптоПро, а не в файле. Посмотрите возможно у Вас уже есть в комплекте OpenSSL библиотека gost.dll, она скорее всего работает с обычными файлами, если же нет напишите в личку.
thanks 1 пользователь поблагодарил two_oceans за этот пост.
Iliyas_B оставлено 19.12.2018(UTC)
Offline Iliyas_B  
#483 Оставлено : 19 декабря 2018 г. 8:06:56(UTC)
Iliyas_B

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Дмитрий Пичулин Перейти к цитате
А что СМЭВ выдаёт ключи в голом виде?


Спасибо, действительно оказалось, что есть рутокен с которого и каким-то образом экспортировали ключи. Осталось разобраться как скопировать ключи на пк и попробовать подписать.

Цитата:
Добавлю, что в случае gost_capi или gostengy ключ должен быть в контейнере КриптоПро, а не в файле. Посмотрите возможно у Вас уже есть в комплекте OpenSSL библиотека gost.dll, она скорее всего работает с обычными файлами, если же нет напишите в личку.


Есть такая библиотека и с ее помощью подписывались XML файлы для СМЭВ2, но для СМЭВ3 она уже не подходит, так как там не поддерживаются новые госты.
Offline two_oceans  
#484 Оставлено : 19 декабря 2018 г. 9:04:00(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 15 раз
Поблагодарили: 64 раз в 62 постах
Автор: Iliyas_B Перейти к цитате
действительно оказалось, что есть рутокен с которого и каким-то образом экспортировали ключи. Осталось разобраться как скопировать ключи на пк и попробовать подписать.
Зависит от объемов которые нужно подписывать - если объем небольшой, то можете использовать сам токен. Имя контейнера смотрите в КриптоПро CSP, затем указываете в -inkey дописав к имени контейнера в начале
Цитата:
c:
Если имя контейнера с пробелами, то берется в кавычки.
Если объем подписания большой, то рекомендуется скопировать контейнер с токена в реестр, дальше все также как с токеном.

Автор: Iliyas_B Перейти к цитате
Есть такая библиотека и с ее помощью подписывались XML файлы для СМЭВ2, но для СМЭВ3 она уже не подходит, так как там не поддерживаются новые госты.
Тогда gost_capi в данном случае Вам не поможет, так как gost_capi тоже не поддерживает новый гост-2012. Если хотите работать с гост-2012 нужно обновить Openssl до версии 1.1.0 или 1.1.1, использовать движок gostengy и КриптоПро 4.0 или выше. И если у Вас было приложение на основе библиотек 1.0.x, то сочувствую, так как при переходе на 1.1.0 придется значительно корректировать приложение - изменились имена библиотек OpenSSL и расположение функций в библиотеках.

Опять же путаетесь - гост-2012 уже допустим в тестовом смэв 2 и гост-2001 пока еще допустим в смэв 3, поэтому то что по срокам переходы к новой версии госта и новой версии смэв совпадают не должно подменять понятия.

thanks 1 пользователь поблагодарил two_oceans за этот пост.
Дмитрий Пичулин оставлено 19.12.2018(UTC)
Offline dmitryp  
#485 Оставлено : 18 января 2019 г. 5:58:52(UTC)
dmitryp

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

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

Сказал(а) «Спасибо»: 2 раз
Добрый день. Пытаюсь зашифровать данные в CMS с использованием ГОСТ 28147-89, но наткнулся на проблемы:

1. При попытке шифрования получаю ошибку инициализации шифра:

Цитата:
$ openssl cms -engine gostengy -encrypt -gost89 -in content -out encrypted -outform DER -recip cert.pem
engine "gostengy" set.
140100820660672:error:2E078065:CMS routines:cms_EncryptedContent_init_bio:cipher initialisation error:crypto/cms/cms_enc.c:131:
140100820660672:error:2E07F068:CMS routines:CMS_final:cms lib:crypto/cms/cms_smime.c:763:


При этом с использованием, например, -gost89-cbc шифрование проходит успешно, но, т.к. у этого шифра нет OID'а, в полученном CMS оказывается некорректный ContentEncryptionAlgorithmIdentifier.

2. При попытке дешифрования указание ключевого контейнера не работает - OpenSSL интерпретирует параметр как имя файла:

Цитата:
$ openssl cms -engine gostengy -decrypt -gost89 -in encrypted -inform DER -out decrypted -inkey c:foo
engine "gostengy" set.
Can't open c:foo for reading, No such file or directory
139714079658432:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:74:fopen('c:foo','r')
139714079658432:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:81:
unable to load signing key file


(указание контейнера как c:foo использую по аналогии с openssl cms -sign). То есть, даже если шифровать я буду каким-то другим шифром (не ГОСТ), дешифровать передаваемый ключ я всё равно не смогу.

Подерживается ли вообще работа с шифрованием CMS в gostengy?

Окружение:
- Ubuntu 18.04.1 LTS
- CSP 4.0RC4 (билд 9964)
- cp-openssl 5.0.11216 (последний, не требующий CSP 5.0)
Offline Дмитрий Пичулин  
#486 Оставлено : 22 января 2019 г. 12:08:42(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 111 раз в 96 постах
Автор: dmitryp Перейти к цитате
Подерживается ли вообще работа с шифрованием CMS в gostengy?

Данный функционал не входит в круг задач gostengy, есть штатные утилиты с аналогичным функционалом, cryptcp -encr/-decr.

Хотелось бы услышать какие-то веские доводы, если функционал openssl cms encrypt/decrypt необходим.
Знания в базе знаний, поддержка в техподдержке
Offline dmitryp  
#487 Оставлено : 23 января 2019 г. 4:07:37(UTC)
dmitryp

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Дмитрий Пичулин Перейти к цитате
Хотелось бы услышать какие-то веские доводы, если функционал openssl cms encrypt/decrypt необходим.


Есть некоторое ПО, которое использует openssl для шифрования сообщений. Хочется использовать в нем КриптоПро CSP.
Offline Дмитрий Пичулин  
#488 Оставлено : 23 января 2019 г. 7:48:22(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 111 раз в 96 постах
Автор: dmitryp Перейти к цитате
Автор: Дмитрий Пичулин Перейти к цитате
Хотелось бы услышать какие-то веские доводы, если функционал openssl cms encrypt/decrypt необходим.


Есть некоторое ПО, которое использует openssl для шифрования сообщений. Хочется использовать в нем КриптоПро CSP.

Как уже сказано ранее, у нас есть cryptcp, решающий подобные задачи.

Если хочется странного, обращайтесь официально, будем смотреть более внимательно.

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