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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline lstef  
#1 Оставлено : 27 февраля 2020 г. 13:49:37(UTC)
lstef

Статус: Активный участник

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Необходимо, чтобы приложение, запущенное под системным пользователем, могло подписывать данные.
При проверке на локальном пользователе импортирую ключевую пару -
Код:
/opt/cprocsp/bin/amd64/certmgr -install -pfx -file <путь к .pfx файлу> -pin <пароль к .pfx файлу>

и нормально подписываю им данные через
Код:
/opt/cprocsp/bin/amd64/cryptcp -sign -der -thumbprint

Но т.к. хранилище ключей локальное, то пользователь, от которого запущен сервис, не видит этих ключей и выдаёт ошибку
Код:
CryptCP 4.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.
Ошибка: Сертификаты не найдены.
/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:295: 0x2000012D
[ErrorCode: 0x2000012d]

Каким образом можно организовать глобальное хранилище или создать хранилище для системного пользователя?
Offline lstef  
#2 Оставлено : 27 февраля 2020 г. 14:07:56(UTC)
lstef

Статус: Активный участник

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Если использовать при импорте параметр -store:
Код:
/opt/cprocsp/bin/amd64/certmgr -install -store mTest -pfx -file <путь к .pfx файлу> -pin <пароль к .pfx файлу>

а потом при подписи указать
Код:
/opt/cprocsp/bin/amd64/cryptcp -sign -mTest -der -thumbprint ....................

то сертификат находит, а ключ нет:
Код:

CryptCP 4.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:"ООО ...................."
Действителен с 11.04.2019 14:04:03 по 11.04.2020 14:14:03

Цепочки сертификатов проверены.
Папка '/tmp/':
/tmp/9f0fe02f55c7f82efdbde227832415a6... Ошибка: Не удалось получить закрытый ключ сертификата.
/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:442: 0x20000136
[ErrorCode: 0x20000136]
Offline Александр Лавник  
#3 Оставлено : 27 февраля 2020 г. 14:19:43(UTC)
Александр Лавник

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

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,414
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 779 раз в 721 постах
Автор: lstef Перейти к цитате
Если использовать при импорте параметр -store:
Код:
/opt/cprocsp/bin/amd64/certmgr -install -store mTest -pfx -file <путь к .pfx файлу> -pin <пароль к .pfx файлу>

а потом при подписи указать
Код:
/opt/cprocsp/bin/amd64/cryptcp -sign -mTest -der -thumbprint ....................

то сертификат находит, а ключ нет:
Код:

CryptCP 4.0 (c) "КРИПТО-ПРО", 2002-2018.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:"ООО ...................."
Действителен с 11.04.2019 14:04:03 по 11.04.2020 14:14:03

Цепочки сертификатов проверены.
Папка '/tmp/':
/tmp/9f0fe02f55c7f82efdbde227832415a6... Ошибка: Не удалось получить закрытый ключ сертификата.
/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:442: 0x20000136
[ErrorCode: 0x20000136]

Здравствуйте.

Ключевые контейнеры для компьютера на жестком диске должны находиться в директории:

Код:
/var/opt/cprocsp/keys/
Техническую поддержку оказываем тут
Наша база знаний
Offline lstef  
#4 Оставлено : 27 февраля 2020 г. 15:02:20(UTC)
lstef

Статус: Активный участник

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
сейчас у меня в этой папки 3 хранилища, полностью идентичных по файлам
- для рута (root/f4e8adee.000)
- для моего пользователя (lstef/f4e8adee.000)
- и глобальное (f4e8adee.000)
все содержат идентичные при побитовом сравнении файлы
header.key
masks2.key
masks.key
name.key
primary2.key
primary.key

копирую хранилище lstef/f4e8adee.000 в www-data/f4e8adee.000
даю на него права www-data:www-data, но при запуске от апача всё равно ничего нет
если я при запуске от апача, а не из консоли, указываю -mTest, то процесс подписи виснет и всё
Offline Александр Лавник  
#5 Оставлено : 27 февраля 2020 г. 16:31:09(UTC)
Александр Лавник

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

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,414
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 779 раз в 721 постах
Автор: lstef Перейти к цитате
сейчас у меня в этой папки 3 хранилища, полностью идентичных по файлам
- для рута (root/f4e8adee.000)
- для моего пользователя (lstef/f4e8adee.000)
- и глобальное (f4e8adee.000)
все содержат идентичные при побитовом сравнении файлы
header.key
masks2.key
masks.key
name.key
primary2.key
primary.key

копирую хранилище lstef/f4e8adee.000 в www-data/f4e8adee.000
даю на него права www-data:www-data, но при запуске от апача всё равно ничего нет
если я при запуске от апача, а не из консоли, указываю -mTest, то процесс подписи виснет и всё

В этом случае Вам нужно хранилище ключевых контейнеров и хранилище сертификатов пользователя www-data, а не компьютера (системное).

Выполните установку сертификата в хранилище my (Личное) для пользователя www-data:

Код:
sudo -u www-data /opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov


Затем под этим пользователем Вы сможете использовать сертификат, например, в команде:

Код:
sudo -u www-data /opt/cprocsp/bin/amd64/cryptcp -sign -der -thumbprint ....................

Без указания хранилища сертификатов используется хранилище my (Личное) текущего пользователя.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Александр Лавник за этот пост.
Местный оставлено 23.07.2020(UTC)
Offline lstef  
#6 Оставлено : 27 февраля 2020 г. 16:51:27(UTC)
lstef

Статус: Активный участник

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Цитата:
Выполните установку сертификата в хранилище my (Личное) для пользователя www-data:

Тут только одна проблема - как задать в командной строке для certmgr пароль на хранилище для пользователя.
Когда я устанавливал с CSP для проверки на рабочую станцию, то указал KC1, т.к. в описании было сказано, что при этом
не используются gui-запросы и для установки на сервер для работы с командной строкой предпочтительнее этот вариант.

Но при импорте с помощью certmgr выстреливает gtk-окно чтобы задать пароль. Пользователь www-data не может обращаться к иксам, поэтому при запуске
Код:
sudo -u www-data /opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov

получаю ошибку
Код:
Certmgr 1.1 (c) "Crypto-Pro",  2007-2018.
program for managing certificates, CRLs and stores
No protocol specified
Error while importing pfx
The keyset is not defined.
[ErrorCode: 0x80090019]
Offline Александр Лавник  
#7 Оставлено : 27 февраля 2020 г. 17:01:10(UTC)
Александр Лавник

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

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,414
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 779 раз в 721 постах
Автор: lstef Перейти к цитате
Цитата:
Выполните установку сертификата в хранилище my (Личное) для пользователя www-data:

Тут только одна проблема - как задать в командной строке для certmgr пароль на хранилище для пользователя.
Когда я устанавливал с CSP для проверки на рабочую станцию, то указал KC1, т.к. в описании было сказано, что при этом
не используются gui-запросы и для установки на сервер для работы с командной строкой предпочтительнее этот вариант.

Но при импорте с помощью certmgr выстреливает gtk-окно чтобы задать пароль. Пользователь www-data не может обращаться к иксам, поэтому при запуске
Код:
sudo -u www-data /opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov

получаю ошибку
Код:
Certmgr 1.1 (c) "Crypto-Pro",  2007-2018.
program for managing certificates, CRLs and stores
No protocol specified
Error while importing pfx
The keyset is not defined.
[ErrorCode: 0x80090019]

Если графика не нужна и/или она мешает, то удалите пакет для графических окон cprocsp-rdr-gui-gtk-64.
Техническую поддержку оказываем тут
Наша база знаний
Offline lstef  
#8 Оставлено : 28 февраля 2020 г. 15:03:20(UTC)
lstef

Статус: Активный участник

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Спасибо, завелось всё.
Были проблемы ещё с проверкой цепочки сертификатов т.к. у системного пользователя другое окружение и он не мог достучаться, но это тоже решили.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.