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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline dripfeeder  
#1 Оставлено : 14 июля 2022 г. 20:35:34(UTC)
dripfeeder

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

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

Здравствуйте.
Извиняюсь, если тема уже где-то была, но я прежде чем создавать пост, всё перепроверял по мануалу и.т.д.

Дано:
Цитата:
Distributor ID: AstraLinuxSE
Description: Astra Linux SE 1.6 (Smolensk)
Release: 1.6
Codename: smolensk


Расположение адаптера:
Цитата:
/opt/smev3/adapter


Установка не вызвала каких-либо проблем, в качестве БД указал не postgres. По завершении установки, последовал рекомендации закинуть ключи в /var/opt/cprocsp/keys/root/ (keys/root пришлось создать руками).

Адаптер стартанул, с этим всё вопрядке. Проблема возникла при настройке информационной системы, а именно в указании псевдонимов сертификата и приватного ключа. Решений "из коробки" под linux не оказалось, поэтому псевдонимы пришлось смотреть на win сервере через "Крипто СSP".
Указав эти псевдонимы, я так же указал следующее:

"Способ использования адаптера: встроенный интерфейс"
"Провайдер JCP2"

Немного отступлю, сказав, что java, JCP на этом linux сервере и ключи 100% рабочие, т.к. используются для самописного сервиса подписания СМЭВ3 в автоматическом режиме всех входящих запросов в виде веб-сервиса.


config.ini не трогал:

Цитата:
[Settings]
version=4.0.4
java=/home/company/smev3/jdk1.8.0_172/
port=8033
local_storage=/opt/smev3/adapter/
service_name=AdapterRoiv
storage_path=/opt/smev3/adapter/
incoming_attachments_path=/opt/smev3/adapter//in
storage_type=h2
storage_adapter_url=adapter
storage_configuration_url=configuration
ws_integration_host=localhost
push_notifications_host=localhost
push_notifications_path=/push
push_notifications_port=7992
smev_http_adapter_url=http://localhost:8033
inner_integration_adapter_url=http://localhost:8033
send_original_messages=true


Собственно, проблема при проверке подписи, а именно:

Цитата:
Провайдер: Доступен.
Публичный ключ: Псевдоним "st3t" не найден., Доступные псевдонимы: ""
Приватный ключ: Псевдоним "st3t" не найден.


Каталог с ключём в виде "st3t.000" и уже внутри все *.key
Я уже ключи, а точнее каталог с ними клал и сюда: "/opt/smev3/adapter/" и в "/var/opt/cprocsp/keys/root/", менял "Встроенный интерфейс" на "Файловое хранилище" но результат тот же.
Подскажите пожалуйста, куда копать, в каком направлении, т.к задача из разряда "вчера" (
Готов предоставить доп. информацию если необходимо. Спасибо.

Отредактировано пользователем 14 июля 2022 г. 20:38:39(UTC)  | Причина: Не указана

Offline two_oceans  
#2 Оставлено : 15 июля 2022 г. 12:32:56(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 395 раз в 366 постах
Автор: dripfeeder Перейти к цитате
Немного отступлю, сказав, что java, JCP на этом linux сервере и ключи 100% рабочие, т.к. используются для самописного сервиса подписания СМЭВ3 в автоматическом режиме всех входящих запросов в виде веб-сервиса.
Каталог с ключём в виде "st3t.000" и уже внутри все *.key
Я уже ключи, а точнее каталог с ними клал и сюда: "/opt/smev3/adapter/" и в "/var/opt/cprocsp/keys/root/", менял "Встроенный интерфейс" на "Файловое хранилище" но результат тот же.
Подскажите пожалуйста, куда копать, в каком направлении, т.к задача из разряда "вчера" (
Готов предоставить доп. информацию если необходимо. Спасибо.
Добрый день. По написанному сразу основные вопросы такие:
1) под каким пользователем стартует адаптер? "/var/opt/cprocsp/keys/root/" это для случая когда запущено под root, если у Вас другой пользователь последняя часть пути будет соответственно именем пользователя;
2) тот пользователь (под которым запускается) должен иметь права чтение+запись на папку с контейнером (в которой лежат 6 файликов .key) или точнее на каждый из 6 файликов, так как криптопровайдер время от времени их меняет (что-то вроде перешифрования ключа);
3)Что насчет обычных утилит КриптоПро CSP csptest/certmgr, они есть? Видят ли они какой-то сертификат / контейнер при запуске от имени того же пользователя? Если да, то перечень контейнеров - отличная подсказка, что должно быть в алиасе.

На windows имена контейнеров могут формироваться несколько по-другому в части имени считывателя, если фигурирует FAT12 или REGISTRY, то такое имя не пригодится под *nix. Если фигурирует HDIMAGE, то подойдет. По идее также должны подойти имена без считывателя, такое имя "дружественное" имя обычно можно подсмотреть без спецутилит текстовым редактором (только не пытайтесь текстовым редактором изменять) в файлике name.key (первые 4 байта - служебное кодирование ASN.1 далее идет имя, если конечно с файликом не шаманили вручную). В случае если шаманили в конце могут быть "лишние символы", не входящие в кодирование. Если имя длиннее 125 символов, то служебных байт в начале будет больше;
4) установлен ли пин-код на контейнер? Если да, то следующая проблема может быть в этом (когда контейнер найдется);
5) сертификат установлен в хранилище? С указанной ссылкой на контейнер? Это тоже потенциальная следующая проблема. Разные программы используют разный подход - одни сначала ищут сертификат в хранилище, потом по ссылке находят контейнер; другие наоборот сначала ищут контейнер потом ищут сертификат в контейнере и иногда найденный еще раз прогоняют по хранилищу. Оба подхода рабочие, но требуют наличия сертификата в разных местах. Возможно другой сервис использует другой подход и нужно сертификат добавить в еще одно место.

Лично по моему вкусу, первый подход дает более "прямое" движение логики, но всегда "сюрприз" вставлен ли носитель. В то же время во втором логика ходит кругами, но отлично отслеживает доступные контейнеры. В Вашем случае контейнер в папке, то есть ситуация "носитель не подключен" не самая актуальная (имею ввиду когда он найдется) и было бы оптимальнее искать по сертификату в хранилище.
6) контейнеры(в этом абзаце про контейнеры ОС *nix, не про ключевые контейнеры), докеры и/или Джава машины просто могут быть разные на одном и том же сервере, поэтому если один Джава сервис работает, это еще не гарантирует, что другой Джава сервис также будет работать (из-за настроек, классов, пакетов и т.д. в разных Джава мащинах). Будьте внимательны с этим, не раз на форуме оказывалось, что код выполняется совсем не той Джава машиной. Аналогично, если ключи в другом сервисе расположены в другом контейнере ОС, то их работоспособность может быть не связана с Вашей папкой ключей.

Offline dripfeeder  
#3 Оставлено : 18 июля 2022 г. 20:07:12(UTC)
dripfeeder

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

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

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

1. Все действия выполняются под root;
2. Под root, но может необходимы "специфические" права на ключи в таком случае?
3. Этих утилит нет, только jcp c лицензией. Я правильно понимаю, что через них можно посмотреть как-то алиасы? Есть ли у них CLI, т.к. сервер без GUI?
Вот тут спасибо, я не знал, что под linux и windows будут разные "имена", т.к. первым делом, я их смотрел перенеся ключи на win-сервер. Имя фигурирует как "REGISTRY\keyname" Я пробовал в vim открыть "name.key" и там было "0...st3t", собственно это имя я пытался использовать, как псевдоним сертификата и приватного ключа, но результаты безуспешны.
4. Нет, пин-код не установлен;
5. Вот тут немного не понятно. Я не знаю, где у JCP находится "контейнер", т.к. JCP использовал только для сервиса-подписания запросов, и там в моей реализации было не важно, где находятся ключи + работа через alias была. Я так понимаю, гуглить в сторону "JCP хранилище" ? В мануале по адптеру к linux такого не было на сколько я помню. Но я поищу этот вопрос, спасибо за наводку, может и в этом дело.
java перепроверял, всё та, с патчами и.т.д
Offline two_oceans  
#4 Оставлено : 19 июля 2022 г. 12:25:38(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 395 раз в 366 постах
1. Ок, пусть так и есть.
2. Как я представляю по аналогии с CSP, должен быть считыватель Директория (он же HDIMAGE), права перечисления на пути к папке и полные права на сами 6 файлов .key. Хотя просто для ясности - сертификат в uMy или mMy? В mMy должно быть немного посложнее с правами.
3. Да, утилиты могут перечислить контейнеры ключей или показать с каким контейнером связан сертификат (в случае наличия связи в хранилище). Если есть графическая часть "панель управления" или вроде того, то там должно быть видно список. PS если графики нет, то похоже (по ссылкам ниже) на чистом JCP для перечисления алиасов подойдет утилита keytool
Предположу HDMAGE\st3t или \\.\HDMAGE\st3t но мало ли.

Просто рандомно набрав в поиске вышло https://www.cryptopro.ru...&m=122090#post122090
https://www.cryptopro.ru...aspx?g=posts&t=17540
https://www.cryptopro.ru...aspx?g=posts&t=19073
https://www.cryptopro.ru....aspx?g=posts&t=4865
https://www.cryptopro.ru....aspx?g=posts&t=5165
https://www.cryptopro.ru...aspx?g=posts&t=18612

Отредактировано пользователем 19 июля 2022 г. 12:28:34(UTC)  | Причина: Не указана

Offline dripfeeder  
#5 Оставлено : 22 июля 2022 г. 2:11:56(UTC)
dripfeeder

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

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

Цитата:
csptest -keyset -enum_cont -fqcn -verifyc

Выхлоп:

CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.12500 OS:Linux CPU:AMD64 FastCode:READY:AVX. DISABLED:RSA;
AcquireContext: OK. HCRYPTPROV: 13962277
\\.\HDIMAGE\st3t

OK.
Total: SYS: 0.000 sec USR: 0.010 sec UTC: 0.030 sec
[ErrorCode: 0x00000000]

Всё это я получил установкой csp. Ну да ладно, установил.

В поле "Псевдоним приватного" и "Псевдоним сертификата" указываю:
Цитата:
HDIMAGE\st3t


А вот так получает такое:
Цитата:
keytool -list -providername JCP -storetype HDImageStore -keystore NONE -storepass 1
Jul 22, 2022 7:31:39 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
Jul 22, 2022 7:31:39 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Keystore type: HDIMAGESTORE
Keystore provider: JCP

Your keystore contains 0 entries



Те же ошибки.
1
2

Цитата:
Публичный ключ: Псевдоним "HDIMAGE\st3t" не найден., Доступные псевдонимы: ""

Приватный ключ: Ошибка механизма проверки: null


Как только я не бился с этими псевдонимами. При этом, на сколько я понимаю, с самим ключами всё, ок, они видны и.т.д.

Во многих ветках, в большинстве своём, опускается этот момент.

Отредактировано пользователем 22 июля 2022 г. 10:18:13(UTC)  | Причина: Не указана

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