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

Уведомление

Icon
Error

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

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

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

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

Верно.

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

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

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

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

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

По вопросу - закрытый ключ нужно указать в параметре -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 г. 11: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 г. 12:04:00(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 395 раз в 366 постах
Автор: 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 за этот пост.
pd оставлено 19.12.2018(UTC)
Offline dmitryp  
#485 Оставлено : 18 января 2019 г. 8:58:52(UTC)
dmitryp

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

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

Сказал(а) «Спасибо»: 3 раз
Добрый день. Пытаюсь зашифровать данные в 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 г. 15:08:42(UTC)
pd

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

Знания в базе знаний, поддержка в техподдержке
Offline herolover  
#489 Оставлено : 21 марта 2019 г. 20:22:17(UTC)
herolover

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

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

Сказал(а) «Спасибо»: 3 раз
Скажите, пожалуйста, а данные gostengy.dll работает с openssl 1.1.1b? Потому что после выполнения команды:
Код:
OpenSSL> engine dynamic -pre SO_PATH:gostengy -pre DIR_ADD:. -pre LOAD
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:gostengy
[Success]: DIR_ADD:.
[Success]: LOAD
Loaded: (gostengy) CryptoPro GostEngy ($Revision: 185515 $)

Список шифров не пополняется ГОСТ'овскими:
Код:
OpenSSL> ciphers
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:RSA-PSK-AES256-GCM-SHA384:DHE-PSK-AES256-GCM-SHA384:RSA-PSK-CHACHA20-POLY1305:DHE-PSK-CHACHA20-POLY1305:ECDHE-PSK-CHACHA20-POLY1305:AES256-GCM-SHA384:PSK-AES256-GCM-SHA384:PSK-CHACHA20-POLY1305:RSA-PSK-AES128-GCM-SHA256:DHE-PSK-AES128-GCM-SHA256:AES128-GCM-SHA256:PSK-AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:ECDHE-PSK-AES256-CBC-SHA384:ECDHE-PSK-AES256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA:SRP-AES-256-CBC-SHA:RSA-PSK-AES256-CBC-SHA384:DHE-PSK-AES256-CBC-SHA384:RSA-PSK-AES256-CBC-SHA:DHE-PSK-AES256-CBC-SHA:AES256-SHA:PSK-AES256-CBC-SHA384:PSK-AES256-CBC-SHA:ECDHE-PSK-AES128-CBC-SHA256:ECDHE-PSK-AES128-CBC-SHA:SRP-RSA-AES-128-CBC-SHA:SRP-AES-128-CBC-SHA:RSA-PSK-AES128-CBC-SHA256:DHE-PSK-AES128-CBC-SHA256:RSA-PSK-AES128-CBC-SHA:DHE-PSK-AES128-CBC-SHA:AES128-SHA:PSK-AES128-CBC-SHA256:PSK-AES128-CBC-SHA
Offline Дмитрий Пичулин  
#490 Оставлено : 21 марта 2019 г. 22:32:54(UTC)
pd

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

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

Сказал(а) «Спасибо»: 35 раз
Поблагодарили: 466 раз в 333 постах
Автор: herolover Перейти к цитате
Скажите, пожалуйста, а данные gostengy.dll работает с openssl 1.1.1b? Потому что после выполнения команды:
Код:
OpenSSL> engine dynamic -pre SO_PATH:gostengy -pre DIR_ADD:. -pre LOAD
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:gostengy
[Success]: DIR_ADD:.
[Success]: LOAD
Loaded: (gostengy) CryptoPro GostEngy ($Revision: 185515 $)

Список шифров не пополняется ГОСТ'овскими:
Код:
OpenSSL> ciphers
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:RSA-PSK-AES256-GCM-SHA384:DHE-PSK-AES256-GCM-SHA384:RSA-PSK-CHACHA20-POLY1305:DHE-PSK-CHACHA20-POLY1305:ECDHE-PSK-CHACHA20-POLY1305:AES256-GCM-SHA384:PSK-AES256-GCM-SHA384:PSK-CHACHA20-POLY1305:RSA-PSK-AES128-GCM-SHA256:DHE-PSK-AES128-GCM-SHA256:AES128-GCM-SHA256:PSK-AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:ECDHE-PSK-AES256-CBC-SHA384:ECDHE-PSK-AES256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA:SRP-AES-256-CBC-SHA:RSA-PSK-AES256-CBC-SHA384:DHE-PSK-AES256-CBC-SHA384:RSA-PSK-AES256-CBC-SHA:DHE-PSK-AES256-CBC-SHA:AES256-SHA:PSK-AES256-CBC-SHA384:PSK-AES256-CBC-SHA:ECDHE-PSK-AES128-CBC-SHA256:ECDHE-PSK-AES128-CBC-SHA:SRP-RSA-AES-128-CBC-SHA:SRP-AES-128-CBC-SHA:RSA-PSK-AES128-CBC-SHA256:DHE-PSK-AES128-CBC-SHA256:RSA-PSK-AES128-CBC-SHA:DHE-PSK-AES128-CBC-SHA:AES128-SHA:PSK-AES128-CBC-SHA256:PSK-AES128-CBC-SHA

При динамической загрузке engine, воспользоваться ГОСТом не получится, так как в OpenSSL список сюит фиксируется при инициализации и больше не дополняется.

Единственный вариант, прописывать engine в конфигурацию, которая отрабатывает при инициализации OpenSSL.
Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил pd за этот пост.
herolover оставлено 21.03.2019(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
67 Страницы«<4748495051>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.