Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: Iliyas_B Сертификат и закрытый ключ в формате pem был получен из СМЭВ для разработки информационной системы. Я так понимаю, что я еще должен как-то при подписании использовать закрытый ключ, но судя по постам на форуме закрытый ключ в формате pem никак не затолкать в криптопро. Верно. А что СМЭВ выдаёт ключи в голом виде? |
|
1 пользователь поблагодарил pd за этот пост.
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Я зайду дальше и скажу, что СМЭВ вообще ключи не выдает. Просто люди привыкли называть СМЭВом все что ни попадя. Что названо в этот раз
Сертификат выдает удостоверяющий центр по запросу на сертификат, сформированному клиентом. Реже сам удостоверяющий центр формирует запрос и записывает на носитель сгенерированный ключ. При этом у Ростелекома есть удостоверяющий центр выдающий ключи для тестового контура СМЭВ, при подключении к Регламенту предоставления услуг можно отметить в заявлении пункт об услугах удостоверяющего центра и есть общий список аккредитованных УЦ, работающий как в продуктивном, так и в тестовом контуре СМЭВ и среде разработки СМЭВ 3.
По вопросу - закрытый ключ нужно указать в параметре -inkey, а в параметре signer должен быть указан сертификат. Попробуййте также пока убрать параметр -CAFile скорее всего "ругается" на него. Если сертификат не в кодировке Base64, то его надо предварительно перевести в эту кодировку. Буквально на прошлой странице этой темы упоминалась команда перевода, но можно указать кодировку при экспорте сертификата. Добавлю, что в случае gost_capi или gostengy ключ должен быть в контейнере КриптоПро, а не в файле. Посмотрите возможно у Вас уже есть в комплекте OpenSSL библиотека gost.dll, она скорее всего работает с обычными файлами, если же нет напишите в личку.
|
1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2018(UTC) Сообщений: 4
Сказал(а) «Спасибо»: 2 раз
|
Автор: Дмитрий Пичулин А что СМЭВ выдаёт ключи в голом виде? Спасибо, действительно оказалось, что есть рутокен с которого и каким-то образом экспортировали ключи. Осталось разобраться как скопировать ключи на пк и попробовать подписать. Цитата:Добавлю, что в случае gost_capi или gostengy ключ должен быть в контейнере КриптоПро, а не в файле. Посмотрите возможно у Вас уже есть в комплекте OpenSSL библиотека gost.dll, она скорее всего работает с обычными файлами, если же нет напишите в личку. Есть такая библиотека и с ее помощью подписывались XML файлы для СМЭВ2, но для СМЭВ3 она уже не подходит, так как там не поддерживаются новые госты.
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Автор: Iliyas_B действительно оказалось, что есть рутокен с которого и каким-то образом экспортировали ключи. Осталось разобраться как скопировать ключи на пк и попробовать подписать. Зависит от объемов которые нужно подписывать - если объем небольшой, то можете использовать сам токен. Имя контейнера смотрите в КриптоПро CSP, затем указываете в -inkey дописав к имени контейнера в начале Если имя контейнера с пробелами, то берется в кавычки. Если объем подписания большой, то рекомендуется скопировать контейнер с токена в реестр, дальше все также как с токеном. Автор: 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, поэтому то что по срокам переходы к новой версии госта и новой версии смэв совпадают не должно подменять понятия.
|
1 пользователь поблагодарил two_oceans за этот пост.
|
pd оставлено 19.12.2018(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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)
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: dmitryp Подерживается ли вообще работа с шифрованием CMS в gostengy? Данный функционал не входит в круг задач gostengy, есть штатные утилиты с аналогичным функционалом, cryptcp -encr/-decr. Хотелось бы услышать какие-то веские доводы, если функционал openssl cms encrypt/decrypt необходим. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Автор: Дмитрий Пичулин Хотелось бы услышать какие-то веские доводы, если функционал openssl cms encrypt/decrypt необходим. Есть некоторое ПО, которое использует openssl для шифрования сообщений. Хочется использовать в нем КриптоПро CSP.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: dmitryp Автор: Дмитрий Пичулин Хотелось бы услышать какие-то веские доводы, если функционал openssl cms encrypt/decrypt необходим. Есть некоторое ПО, которое использует openssl для шифрования сообщений. Хочется использовать в нем КриптоПро CSP. Как уже сказано ранее, у нас есть cryptcp, решающий подобные задачи. Если хочется странного, обращайтесь официально, будем смотреть более внимательно. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 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. |
|
1 пользователь поблагодарил pd за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close