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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Александр_Pyankov_  
#1 Оставлено : 26 марта 2024 г. 19:59:38(UTC)
Александр_Pyankov_

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

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

Сказал(а) «Спасибо»: 4 раз
Всем привет! подскажите пожалуйста

Выпустили новый сертификат, обновили Крипто ПРО.
пытаюсь с помощью нового серта подписать документ - происходит следующая ошибка при попытке получить приватный ключ из объекта X509Certificate2

System.Security.Cryptography.CryptographicException: Keyset as registered is invalid.

at CryptoPro.Sharpei.CPUtils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
at CryptoPro.Sharpei.CPUtils.GetKeyPairHelper(CPCspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandleCP& safeProvHandle, SafeKeyHandleCP& safeKeyHandle)
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider.GetKeyPair()
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider..ctor(CspParameters parameters)
at CryptoPro.Sharpei.NetDetours.CPX509Certificate2.get_PrivateKey()

Версия Крипто ПРО 5.0.12998 КС1

Как побороть?
Offline Александр_Pyankov_  
#2 Оставлено : 26 марта 2024 г. 20:05:37(UTC)
Александр_Pyankov_

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

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

Сказал(а) «Спасибо»: 4 раз
Код запускается в обычном консольном приложении через TaskScheduler
Offline Александр_Pyankov_  
#3 Оставлено : 27 марта 2024 г. 16:03:17(UTC)
Александр_Pyankov_

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

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

Сказал(а) «Спасибо»: 4 раз
При чем если запускать руками от того же пользователя, то все норм
Offline Максим Коллегин  
#4 Оставлено : 28 марта 2024 г. 10:56:39(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Где находился предыдущий контейнер, и где новый?
Если руками работает -- то проблема скорее всего с загрузкой профиля пользователя. Чтобы с этим не бороться в будущем рекомендую для автоматических задач использовать хранилище локального компьюетра.
Знания в базе знаний, поддержка в техподдержке
Offline Александр_Pyankov_  
#5 Оставлено : 28 марта 2024 г. 11:18:09(UTC)
Александр_Pyankov_

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Максим Коллегин Перейти к цитате
Где находился предыдущий контейнер, и где новый?
Если руками работает -- то проблема скорее всего с загрузкой профиля пользователя. Чтобы с этим не бороться в будущем рекомендую для автоматических задач использовать хранилище локального компьюетра.


Предыдущий сертификат хранился так:
Сертификат - в доверенных корневых локальной машины, Контейнер приватного ключа - в реестре

Новый сертификат - так же храниться на локальной машине, но вот контейнер, из-за требований заказчика, обусловленных изменившимся законодательством, хранится на рутокене, подключенном к машине.

Проблема возникает как раз тогда, когда код пытается получить доступ к приватному ключу.
Соответственно, если запускать утилиту подписания руками из командной строки, то все норм. А если ее запускает шедуллер, то происходит описанная выше проблема

Ну и я сейчас как раз ищу способ заставить это все работать - автоматически получить приватный ключ из подключенного рутокена

Offline nickm  
#6 Оставлено : 28 марта 2024 г. 11:26:21(UTC)
nickm

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

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

Сказал(а) «Спасибо»: 455 раз
Поблагодарили: 312 раз в 294 постах
Автор: Александр_Pyankov_ Перейти к цитате
А если ее запускает шедуллер, то происходит описанная выше проблема

Ну и я сейчас как раз ищу способ заставить это все работать - автоматически получить приватный ключ из подключенного рутокена

Из-под задачи планировщика от того пользователя, с которым Вы её выполняете, выполните перечисление носителей/ контейнеров с помощью csptest и сохраните вывод в файл, после изучите его.

Этим же способом можете выполнить и установку сертификата с привязкой к контейнеру (но, предварительно, конечно же лучше стоит изучить вывод):
Код:
csptest -absorb -certs

Отредактировано пользователем 28 марта 2024 г. 11:37:11(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#7 Оставлено : 28 марта 2024 г. 11:49:18(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Неитерактивно получить доступ к смарт-картам можно только под System.
Или воспользоваться новым функционалом службы локальных смарт-карт в КриптоПро CSP 5R3.
Знания в базе знаний, поддержка в техподдержке
thanks 2 пользователей поблагодарили Максим Коллегин за этот пост.
Андрей * оставлено 28.03.2024(UTC), Александр_Pyankov_ оставлено 02.04.2024(UTC)
Offline Александр_Pyankov_  
#8 Оставлено : 28 марта 2024 г. 18:23:57(UTC)
Александр_Pyankov_

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: nickm Перейти к цитате

Из-под задачи планировщика от того пользователя, с которым Вы её выполняете, выполните перечисление носителей/ контейнеров с помощью csptest и сохраните вывод в файл, после изучите его.

Этим же способом можете выполнить и установку сертификата с привязкой к контейнеру (но, предварительно, конечно же лучше стоит изучить вывод):
Код:
csptest -absorb -certs


Спасибо за совет! обязательно займусь
Offline Александр_Pyankov_  
#9 Оставлено : 28 марта 2024 г. 18:25:13(UTC)
Александр_Pyankov_

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

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

Сказал(а) «Спасибо»: 4 раз
Автор: Максим Коллегин Перейти к цитате
Неитерактивно получить доступ к смарт-картам можно только под System.
Или воспользоваться новым функционалом службы локальных смарт-карт в КриптоПро CSP 5R3.


Если можно, опишите подробнее - что значит "под System" ? как настроить TaskScheduller чтобы он так запускал приложение?

И где можно почитать про функционалом службы локальных смарт-карт в КриптоПро CSP 5R3 ?
Offline nickm  
#10 Оставлено : 28 марта 2024 г. 19:34:07(UTC)
nickm

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

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

Сказал(а) «Спасибо»: 455 раз
Поблагодарили: 312 раз в 294 постах
Автор: Александр_Pyankov_ Перейти к цитате
обязательно займусь

В этой теме подобный случай обсуждался.

Автор: Александр_Pyankov_ Перейти к цитате
Если можно, опишите подробнее - что значит "под System" ? как настроить TaskScheduller чтобы он так запускал приложение?

Как выполнять команды и скрипты от имени системы средствами Windows



thanks 1 пользователь поблагодарил nickm за этот пост.
Александр_Pyankov_ оставлено 02.04.2024(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.