Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Первый вопрос: В данной теме упоминалась возможность использовать ключевой контейнер без установки соответствующего сертификата в хранилище (https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=94014#post94014). Правильно ли я понимаю, что для команды "openssl cms -sign ..." такой возможности нет (т.к. опция "-key" не поддерживается)? Второй вопрос: Через контрольную панель JCP создаём 2 ключевых контейнера с разным назначением: - testExchange - ключ обмена, аутентификация клиента; - testSign - ключ подписи. Подписываем их на тестовом УЦ. Соответствующие сертификаты устанавливаем в хранилище: Код:$ certmgr -inst -cont '\\.\HDIMAGE\testExchange'
$ certmgr -inst -cont '\\.\HDIMAGE\testSign' -at_signature
Пытаемся подписать файл. Для ключа обмена процесс проходит нормально: Код:$ /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl cms -sign -engine gostengy -keyform ENGINE -inkey testExchange -in content.txt -binary -out content.sign -outform DER -signer testExchange.cer.b64
engine "gostengy" set.
А вот для ключа подписи возникает ошибка: Код:$ /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl cms -sign -engine gostengy -keyform ENGINE -inkey testSign -in content.txt -binary -out content.sign -outform DER -signer testSign.cer.b64
engine "gostengy" set.
cannot load signing key file from engine
139997872517312:error:80015030:lib(128):gng_support_getuserkey:GNG_ERR_PIN:/dailybuildsbranches/CSP_4_0-openssl-1.1.0-gost/CSPbuild/CSP/samples/cp-openssl-1.1.0-engine/gostengy.cpp:4285:
139997872517312:error:26096080:engine routines:ENGINE_load_private_key:failed loading private key:crypto/engine/eng_pkey.c:78:
unable to load signing key file
Паролей на обоих ключевых контейнерах нет. Если добавить пароль на `testSign`, то будет выведено приглашение его ввести, но после корректного ввода возникнет та же самая ошибка. Так и должно быть? Используются: - Ubuntu 18.04 - CSP (Type:80) v4.0.9014 KC2 Release Ver:4.0.9842 - Пакеты cprocsp-cpopenssl-110-* последнего билда 4.0 (https://update.cryptopro.ru/support/nginx-gost/bin/archives/164682/). Не знаю, насколько билды 5.0 совместимы с указанной выше версией CSP - но по крайней мере в данном случае последний билд ведёт себя так же.
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Как я понимаю параметр -inkey выполняет ту же функцию что -key так что скорее всего с ним можно поступить также - указать отпечаток или "c:"+имя контейнера. По второму сразу не скажу как оно на Ubuntu, но кажется что-то не так... что это вообще testSign - имя контейнера? CN в сертификате? попробуйте по отпечатку сертификата или по имени контейнера.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Автор: two_oceans Как я понимаю параметр -inkey выполняет ту же функцию что -key так что скорее всего с ним можно поступить также - указать отпечаток или "c:"+имя контейнера. "-inkey" - подстрока имени сертификата (см. http://cert.cryptopro.ru...ts&m=56228#post56228 ). Синтаксис "с:testExchange" не работает: Код:engine "gostengy" set.
cannot load signing key file from engine
140538760769728:error:26096080:engine routines:ENGINE_load_private_key:failed loading private key:crypto/engine/eng_pkey.c:78:
unable to load signing key file
Автор: two_oceans что это вообще testSign - имя контейнера? CN в сертификате? В данном случае - и то и другое. Но "-inkey" ищет именно по CN. Автор: two_oceans попробуйте по отпечатку сертификата или по имени контейнера. Попробовал. Ищет только по CN. Но ко второму пункту это вроде бы не относится - там контейнер находится корректно (если судить по вводу пароля), а ошибка возникает уже при его открытии. Отредактировано пользователем 19 сентября 2018 г. 8:37:41(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Извините, ошибся. По отпечатку сертификата в "-inkey" тоже находит. Но, естественно, для этого сертификат также должен быть установлен в хранилище. Отредактировано пользователем 19 сентября 2018 г. 8:52:19(UTC)
| Причина: Не указана
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Могу предположить, что в случае имени контейнера искать имя контейнера в другой форме, примерно как "-inkey c:\\.\HDIMAGE\testExchange" или "-inkey 'c:\\.\HDIMAGE\testExchange'". Лучше конечно сначала узнать все 3 формы имени контейнера, чтобы не гадать. На Windows команда перечисления имен контейнеров выглядит "csptest -keyset -verifycontext -enum_containers -fqcn -unique"
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Автор: two_oceans Могу предположить, что в случае имени контейнера искать имя контейнера в другой форме, примерно как "-inkey c:\\.\HDIMAGE\testExchange" или "-inkey 'c:\\.\HDIMAGE\testExchange'". Лучше конечно сначала узнать все 3 формы имени контейнера, чтобы не гадать. На Windows команда перечисления имен контейнеров выглядит "csptest -keyset -verifycontext -enum_containers -fqcn -unique" Относящаяся к данному контейнеру часть вывода команды: Код:\\.\HDIMAGE\testExchange |\\.\HDIMAGE\HDIMAGE\\testExch.000\382B
Какую третью форму вы имеете в виду? Попробовал следующие значения для "-inkey": Код:\\.\HDIMAGE\testExchange
c:\\.\HDIMAGE\testExchange
\\.\HDIMAGE\HDIMAGE\\testExch.000\382B
c:\\.\HDIMAGE\HDIMAGE\\testExch.000\382B
Ни одно из них не сработало.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,496 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 466 раз в 333 постах
|
Автор: dmitryp Первый вопрос: В данной теме упоминалась возможность использовать ключевой контейнер без установки соответствующего сертификата в хранилище (https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=94014#post94014). Правильно ли я понимаю, что для команды "openssl cms -sign ..." такой возможности нет (т.к. опция "-key" не поддерживается)? Второй вопрос: Через контрольную панель JCP создаём 2 ключевых контейнера с разным назначением: - testExchange - ключ обмена, аутентификация клиента; - testSign - ключ подписи. Подписываем их на тестовом УЦ. Соответствующие сертификаты устанавливаем в хранилище: Код:$ certmgr -inst -cont '\\.\HDIMAGE\testExchange'
$ certmgr -inst -cont '\\.\HDIMAGE\testSign' -at_signature
1) Как уже сказано, префикс "c:" должен работать 2) Сейчас поддерживается только AT_KEYEXCHANGE если "c:имя_контейнера" не срабатывает, пробуйте полный синтаксис "c:имя_контейнера:тип_провайдера:имя_провайдера" Отредактировано пользователем 19 сентября 2018 г. 17:11:46(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Автор: Дмитрий Пичулин Автор: dmitryp Первый вопрос: В данной теме упоминалась возможность использовать ключевой контейнер без установки соответствующего сертификата в хранилище (https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=94014#post94014). Правильно ли я понимаю, что для команды "openssl cms -sign ..." такой возможности нет (т.к. опция "-key" не поддерживается)? Второй вопрос: Через контрольную панель JCP создаём 2 ключевых контейнера с разным назначением: - testExchange - ключ обмена, аутентификация клиента; - testSign - ключ подписи. Подписываем их на тестовом УЦ. Соответствующие сертификаты устанавливаем в хранилище: Код:$ certmgr -inst -cont '\\.\HDIMAGE\testExchange'
$ certmgr -inst -cont '\\.\HDIMAGE\testSign' -at_signature
1) Как уже сказано, префикс "c:" должен работать 2) Сейчас поддерживается только AT_KEYEXCHANGE если "c:имя_контейнера" не срабатывает, пробуйте полный синтаксис "c:имя_контейнера:тип_провайдера:имя_провайдера" Попробовал (безрезультатно) следующие варианты: Код:c:testExchange:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:testExchange:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:\\.\HDIMAGE\testExchange:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:\\.\HDIMAGE\testExchange:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:\\.\HDIMAGE\testExch.000\382B:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:\\.\HDIMAGE\testExch.000\382B:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:\\.\HDIMAGE\testExch.000:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:\\.\HDIMAGE\testExch.000:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:\\.\HDIMAGE\HDIMAGE\\testExchange:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:\\.\HDIMAGE\HDIMAGE\\testExchange:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:\\.\HDIMAGE\HDIMAGE\\testExch.000\382B:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:\\.\HDIMAGE\HDIMAGE\\testExch.000\382B:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:\\.\HDIMAGE\HDIMAGE\\testExch.000:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:\\.\HDIMAGE\HDIMAGE\\testExch.000:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:testExchange:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:testExchange:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:\\.\HDIMAGE\testExchange:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:\\.\HDIMAGE\testExchange:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:\\.\HDIMAGE\testExch.000\382B:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:\\.\HDIMAGE\testExch.000\382B:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:\\.\HDIMAGE\testExch.000:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:\\.\HDIMAGE\testExch.000:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:\\.\HDIMAGE\HDIMAGE\\testExchange:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:\\.\HDIMAGE\HDIMAGE\\testExchange:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:\\.\HDIMAGE\HDIMAGE\\testExch.000\382B:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:\\.\HDIMAGE\HDIMAGE\\testExch.000\382B:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:\\.\HDIMAGE\HDIMAGE\\testExch.000:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:\\.\HDIMAGE\HDIMAGE\\testExch.000:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Автор: dmitryp Какую третью форму вы имеете в виду? С ключами -fqcn и -unique были соответственно FQCN и уникальное имя, можно еще попробовать ключи -fqcn и -unique по отдельности, непонятно почему, но иногда значения отличаются при совмещении 2 ключей сразу и при использовании отдельно. Третья форма, дружественное имя получается той же командой без указания ни ключа -fqcn ни ключа -unique. Скорее всего в Вашем случае дружественное имя = "testExchange". Просто c:testExchange пробовали? Замечу, что значения с пробелами в имени криптопровайдера нужно заключать в кавычки, но какие именно кавычки нужны в консоли ubuntu и какое их количество требуется затрудняюсь ответить. В случае с командными файлами windows при генерации сертификатов требуется до 6-8 двойных кавычек подряд. Есть также вероятность, что нужно просто экранировать символы \ путем удвоения "c:\\\\.\\HDIMAGE\\testExchange", возможно и к двоеточию, точке впереди нужно добавить \ "c\:\\\\\.\\HDIMAGE\\testExchange"- это уже зависит от правил обработки командной строки конкретной операционной системы.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.07.2017(UTC) Сообщений: 28 Сказал(а) «Спасибо»: 3 раз
|
Автор: two_oceans Автор: dmitryp Какую третью форму вы имеете в виду? С ключами -fqcn и -unique были соответственно FQCN и уникальное имя, можно еще попробовать ключи -fqcn и -unique по отдельности, непонятно почему, но иногда значения отличаются при совмещении 2 ключей сразу и при использовании отдельно. Третья форма, дружественное имя получается той же командой без указания ни ключа -fqcn ни ключа -unique. Скорее всего в Вашем случае дружественное имя = "testExchange". Просто c:testExchange пробовали? Замечу, что значения с пробелами в имени криптопровайдера нужно заключать в кавычки, но какие именно кавычки нужны в консоли ubuntu и какое их количество требуется затрудняюсь ответить. В случае с командными файлами windows при генерации сертификатов требуется до 6-8 двойных кавычек подряд. Есть также вероятность, что нужно просто экранировать символы \ путем удвоения "c:\\\\.\\HDIMAGE\\testExchange", возможно и к двоеточию, точке впереди нужно добавить \ "c\:\\\\\.\\HDIMAGE\\testExchange"- это уже зависит от правил обработки командной строки конкретной операционной системы. 1. Да, без дополнительных ключей получается "testExchange". Это я пробовал в самую первую очередь (и напрямую, и в виде "c:testExchange"). 2. С ключом "-unique" но без "-fqcn" получается "HDIMAGE\\testExch.000\382B". Попробовал (безрезультатно) ещё 10 вариантов: Код:c:HDIMAGE\\testExch.000\382B:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:HDIMAGE\\testExch.000\382B:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:HDIMAGE\\testExch.000\382B:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:HDIMAGE\\testExch.000\382B:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:HDIMAGE\\testExch.000:81:Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
c:HDIMAGE\\testExch.000:81:Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
c:HDIMAGE\\testExch.000:80:Crypto-Pro GOST R 34.10-2012 KC1 CSP
c:HDIMAGE\\testExch.000:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
c:HDIMAGE\\testExch.000\382B
c:HDIMAGE\\testExch.000
3. В bash (и вроде бы в других оболочках в Linux) отлично работают одинарные кавычки, с ними дополнительное экранирование не требуется: Код:$ echo 'c:HDIMAGE\\testExch.000:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider'
c:HDIMAGE\\testExch.000:80:Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close