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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Yuriy_AM  
#1 Оставлено : 9 июля 2024 г. 11:54:03(UTC)
Yuriy_AM

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

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

Добрый день!

OS: AstraLinux 1.7
CP: КриптоПро CSP 5.0.13000

Установлен КриптоПро HSM

Из консоли подписание ключём из HSM (HSMDB) происходит без ошибок.

Программным кодом (C++) подписание ключём из HDIMAGE проходит также без ошибок, проверка подписи публичным без ошибок. Контейнер в HDIMAGE с пином/пасвордом и без него - подписание работает.

Но ежели тем же программным кодом пытаться подписать ключём из HSMDB

Цитата:
[2024.07.05 13:35:34 +03:00] [info] [13552]: Add a certificate ca146aba702fc875d55980c0cc2e23e3bc41f661: HSMDB\\abcd
[2024.07.05 13:35:34 +03:00] [debug] [13552]: begin initContainer ca146aba702fc875d55980c0cc2e23e3bc41f661
[13552]: <capi10>CryptAcquireContextA!failed: LastError = 0x8009001A
[13552]: Вставьте носитель с контейнером abcd
[13552]: <capi10>CryptAcquireContextA!failed: LastError = 0x8009001A
[13552]: Press 'c' to cancel or 'u' to update (dynamic_readers must be on): [2024.07.05 13:35:34 +03:00] [error] [13552]: worker_crypto.cpp::136 [008009001A] WorkerCrypto::initContainer CryptAcquireContext ca146aba702fc875d55980c0cc2e23e3bc41f661 [HSMDB\\abcd]; Keyset as registered is invalid.
[2024.07.05 13:35:34 +03:00] [debug] [13552]: end initContainer ca146aba702fc875d55980c0cc2e23e3bc41f661


Посему, есть вопросы:
1. Работа с HSM как-то отличается от работы с HDIMAGE?
2. куда дели "ЖТЯИ.00096-01 92 01. КриптоПро HSM. Руководство программиста"?
3. почему нет нормальной документации на продукты КриптоПро?
Offline Русев Андрей  
#2 Оставлено : 9 июля 2024 г. 14:09:36(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,330

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 500 раз в 355 постах
Здравствуйте.
1. Принципиально не отличается.
2. Документ по-прежнему в составе комплекта документации.
3. Начинать знакомство с разработкой можно с https://support.cryptopr...7/2/sbork-primerov-n-nix

По вашей диагностике можно предположить, например, что вы не указали правильное имя провайдера (в духе "Crypto-Pro GOST R 34.10-2012 HSM CSP") при CryptAcquireContext. Плюс вместо имени в формате MEDIA\UNIQUE\CONTAINER - у вас HSMDB\\abcd - лучше использовать формат \\.\READER\CONTAINER - получается \\.\HSMDB\abcd (см. форматы имён в CPDN). И надо не забывать про необходимость экранирования бэкслешей в коде и консоли.

Официальная техподдержка. Официальная база знаний.
thanks 2 пользователей поблагодарили Русев Андрей за этот пост.
nickm оставлено 09.07.2024(UTC), Андрей * оставлено 09.07.2024(UTC)
Offline Yuriy_AM  
#3 Оставлено : 9 июля 2024 г. 15:17:04(UTC)
Yuriy_AM

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

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

Если получать доступ до \\.\HDIMAGE\blah-blah ошибок нет и всё огонь, но

При вызове метода CryptAcquireContext на HSMDB выводится ошибка:
Цитата:

Вставьте носитель с контейнером abcd
CryptAcquireContextA!failed: LastError = 0x8009001A
Press 'c' to cancel or 'u' to update (dynamic_readers must be on)
Keyset as registered is invalid.


работаю с этими стораджами 1 в 1

Отредактировано пользователем 9 июля 2024 г. 15:25:16(UTC)  | Причина: Не указана

Offline Русев Андрей  
#4 Оставлено : 9 июля 2024 г. 22:42:24(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,330

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 500 раз в 355 постах
Диагностика, которую вы приводите, буквально озанчает, что в указанном провайдере (помните я засотрял внимание на его имени) нет контейнера с таким именем. Вы говорите, что в консоли у вас работает подпись ключом на HSM. Можете привести пример такой команды с её выдачей на консоль? В духе:
Код:
[user@hsm-x64-centos6 ~]$ /opt/cprocsp/bin/amd64/csptest -keyset -container '\\.\hsm\srv512LMb' -unique -check -provider 'Crypto-Pro GOST R 34.10-2012 HSM CSP' -pass 11111111
CSP (Type:80) v5.0.10010 KB2 Release Ver:5.0.10010 OS:Linux CPU:AMD64 FastCode:READY:AVX,AVX2.
AcquireContext: OK. HCRYPTPROV: 137897611
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 HSM CSP
Container name: "HSM\\srv512LM.002\FBB5"
Check header passed.
Signature key is available. HCRYPTKEY: 0x838295b
Exchange key is available. HCRYPTKEY: 0x83828c3
Symmetric key is not available.
UEC key is not available.
License: Cert without license
Check container passed.
Check sign passed.
Check verify signature on private key passed.
Check verify signature on public key passed.
Check import passed (import restricted).
Check sign passed.
Check verify signature on private key passed.
Check verify signature on public key passed.
Check import passed.
Certificate in container matches AT_KEYEXCHANGE key.
Keys in container:
  signature key
  exchange key
Extensions:
  OID: 1.2.643.2.2.37.3.10
  PrivKey: Not specified - 09.07.2027 14:07:58 (UTC)

  OID: 1.2.643.2.2.37.3.9
  PrivKey: Not specified - 09.07.2027 14:07:59 (UTC)
Total: SYS: 0.010 sec USR: 0.010 sec UTC: 0.240 sec
[ErrorCode: 0x00000000]

И фрагмент кода, который с этим же контейнером и провайдером возвращает 0x8009001A = NTE_KEYSET_ENTRY_BAD.
Официальная техподдержка. Официальная база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.