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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline alex.master  
#1 Оставлено : 24 декабря 2024 г. 15:21:59(UTC)
alex.master

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

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

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

Суть проблемы Windows Server 2019. Установлены КриптоПро CSP 5, КриптоПро.net сервер, КриптоПро .Net клиент.
Сертификат КриптоПро с закрытым ключом установлен в LocalMachine, контейнер - в реестр с паролем.
При попытке зашифровать/расшифровать файл кода на c# получаем ошибку:


System.Security.Cryptography.CryptographicException
----Source: System.Security
----Message---------
Unknown error "-1073741275".

При попытке расшифровать файл, зашифрованный открытым ключом сертификата, инструментами КриптоПро
получаем:
"
"Cannot find the certificate and private key to use for decryption.
Код ошибки 0x8009200C".

После установки сертификата в CurrentUser, всё расшифровывается. Т.е. если от в LocalMachine, то ошибка, если в CurrentUser, то нет.
Права на контейнер и сертификат для этого пользователя выданы все.


Падает на вызове envelopedCms.Decrypt(). Ошибка та же - Unknown error "-1073741275".


Буду очень признателен за помощь в этом вопросе.

Отредактировано пользователем 25 декабря 2024 г. 17:10:52(UTC)  | Причина: Не указана

Offline alex.master  
#2 Оставлено : 14 января 2025 г. 15:16:09(UTC)
alex.master

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

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

Добрый день.

Код здесь тривиальный:
public static byte[] DecryptSignedCmsMessage(byte[] encData, X509Certificate2 ourCertificate)
{
var extraOurStore = new X509Certificate2Collection(ourCertificate);

// Создаем объект для декодирования и расшифрования.
EnvelopedCms envelopedCms = new EnvelopedCms();

// Декодируем сообщение.
m_logger.Trace("Декодируем сообщение...");
envelopedCms.Decode(encData);
m_logger.Trace("Сообщение декодировано успешно.");

// Расшифровываем сообщение
m_logger.Trace("Расшифровываем сообщение...");
envelopedCms.Decrypt(envelopedCms.RecipientInfos[0]), extraOurStore); // Здесь получаем UnknownError.
m_logger.Trace("Сообщение расшифровано успешно.");

return envelopedCms.ContentInfo.Content;
}

На тестовом сервере с тестовым сертификатом все работает.
На продакшн сервере получаем ошибку.
Offline Андрей *  
#3 Оставлено : 14 января 2025 г. 15:41:33(UTC)
Андрей *

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

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

Сказал «Спасибо»: 571 раз
Поблагодарили: 2297 раз в 1798 постах
Здравствуйте.

Зачем используется extraOurStore?

Вызов envelopedCms.Decrypt(); - успешно завершается, если убрать?
Техническую поддержку оказываем тут
Наша база знаний
Offline alex.master  
#4 Оставлено : 5 февраля 2025 г. 13:34:48(UTC)
alex.master

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

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

Автор: Андрей * Перейти к цитате
Здравствуйте.

Зачем используется extraOurStore?

Вызов envelopedCms.Decrypt(); - успешно завершается, если убрать?


Никак не влияет.
envelopedCms.Decrypt() всегда вылетает с UnknownError=-1073741275 независимо от того, с параметрами он вызывается или без.
Offline Андрей *  
#5 Оставлено : 5 февраля 2025 г. 16:20:42(UTC)
Андрей *

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

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

Сказал «Спасибо»: 571 раз
Поблагодарили: 2297 раз в 1798 постах
свяжите сертификат из LocalMachine с контейнером.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#6 Оставлено : 5 февраля 2025 г. 16:23:32(UTC)
Андрей *

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

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

Сказал «Спасибо»: 571 раз
Поблагодарили: 2297 раз в 1798 постах
запустить КриптоПРО CSP с правами администратора (вкладка Общие)
Сервис\Установить личный сертификат, указать через Обзор, далее..
указать, что контейнер компьютера и опцию Найти контейнер автоматически и... далее...

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