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

Уведомление

Icon
Error

67 Страницы«<4243444546>»
Опции
К последнему сообщению К первому непрочитанному
Offline dmitryp  
#431 Оставлено : 19 сентября 2018 г. 7:32:14(UTC)
dmitryp

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

Группы: Участники
Зарегистрирован: 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 - но по крайней мере в данном случае последний билд ведёт себя так же.
Offline two_oceans  
#432 Оставлено : 19 сентября 2018 г. 8:13:41(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Как я понимаю параметр -inkey выполняет ту же функцию что -key так что скорее всего с ним можно поступить также - указать отпечаток или "c:"+имя контейнера. По второму сразу не скажу как оно на Ubuntu, но кажется что-то не так... что это вообще testSign - имя контейнера? CN в сертификате? попробуйте по отпечатку сертификата или по имени контейнера.
Offline dmitryp  
#433 Оставлено : 19 сентября 2018 г. 8:36:48(UTC)
dmitryp

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

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline dmitryp  
#434 Оставлено : 19 сентября 2018 г. 8:51:00(UTC)
dmitryp

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

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

Сказал(а) «Спасибо»: 3 раз
Извините, ошибся. По отпечатку сертификата в "-inkey" тоже находит. Но, естественно, для этого сертификат также должен быть установлен в хранилище.

Отредактировано пользователем 19 сентября 2018 г. 8:52:19(UTC)  | Причина: Не указана

Offline two_oceans  
#435 Оставлено : 19 сентября 2018 г. 9:04:04(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Могу предположить, что в случае имени контейнера искать имя контейнера в другой форме, примерно как "-inkey c:\\.\HDIMAGE\testExchange" или "-inkey 'c:\\.\HDIMAGE\testExchange'". Лучше конечно сначала узнать все 3 формы имени контейнера, чтобы не гадать. На Windows команда перечисления имен контейнеров выглядит "csptest -keyset -verifycontext -enum_containers -fqcn -unique"
Offline dmitryp  
#436 Оставлено : 19 сентября 2018 г. 10:26:09(UTC)
dmitryp

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

Группы: Участники
Зарегистрирован: 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

Ни одно из них не сработало.
Offline Дмитрий Пичулин  
#437 Оставлено : 19 сентября 2018 г. 17:08:54(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: 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)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline dmitryp  
#438 Оставлено : 20 сентября 2018 г. 10:47:02(UTC)
dmitryp

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

Группы: Участники
Зарегистрирован: 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
Offline two_oceans  
#439 Оставлено : 20 сентября 2018 г. 11:36:40(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Автор: dmitryp Перейти к цитате
Какую третью форму вы имеете в виду?
С ключами -fqcn и -unique были соответственно FQCN и уникальное имя, можно еще попробовать ключи -fqcn и -unique по отдельности, непонятно почему, но иногда значения отличаются при совмещении 2 ключей сразу и при использовании отдельно. Третья форма, дружественное имя получается той же командой без указания ни ключа -fqcn ни ключа -unique. Скорее всего в Вашем случае дружественное имя = "testExchange". Просто c:testExchange пробовали?

Замечу, что значения с пробелами в имени криптопровайдера нужно заключать в кавычки, но какие именно кавычки нужны в консоли ubuntu и какое их количество требуется затрудняюсь ответить. В случае с командными файлами windows при генерации сертификатов требуется до 6-8 двойных кавычек подряд. Есть также вероятность, что нужно просто экранировать символы \ путем удвоения "c:\\\\.\\HDIMAGE\\testExchange", возможно и к двоеточию, точке впереди нужно добавить \ "c\:\\\\\.\\HDIMAGE\\testExchange"- это уже зависит от правил обработки командной строки конкретной операционной системы.

Offline dmitryp  
#440 Оставлено : 20 сентября 2018 г. 11:53:02(UTC)
dmitryp

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

Группы: Участники
Зарегистрирован: 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
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
67 Страницы«<4243444546>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.