Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
Ошибка при подписании документа Keyset as registered is invalid.
Статус: Участник
Группы: Участники
Зарегистрирован: 24.06.2021(UTC) Сообщений: 17
Сказал(а) «Спасибо»: 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
Как побороть?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.06.2021(UTC) Сообщений: 17
Сказал(а) «Спасибо»: 4 раз
|
Код запускается в обычном консольном приложении через TaskScheduler
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.06.2021(UTC) Сообщений: 17
Сказал(а) «Спасибо»: 4 раз
|
При чем если запускать руками от того же пользователя, то все норм
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,391 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 715 раз в 620 постах
|
Где находился предыдущий контейнер, и где новый? Если руками работает -- то проблема скорее всего с загрузкой профиля пользователя. Чтобы с этим не бороться в будущем рекомендую для автоматических задач использовать хранилище локального компьюетра. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.06.2021(UTC) Сообщений: 17
Сказал(а) «Спасибо»: 4 раз
|
Автор: Максим Коллегин Где находился предыдущий контейнер, и где новый? Если руками работает -- то проблема скорее всего с загрузкой профиля пользователя. Чтобы с этим не бороться в будущем рекомендую для автоматических задач использовать хранилище локального компьюетра. Предыдущий сертификат хранился так: Сертификат - в доверенных корневых локальной машины, Контейнер приватного ключа - в реестре Новый сертификат - так же храниться на локальной машине, но вот контейнер, из-за требований заказчика, обусловленных изменившимся законодательством, хранится на рутокене, подключенном к машине. Проблема возникает как раз тогда, когда код пытается получить доступ к приватному ключу. Соответственно, если запускать утилиту подписания руками из командной строки, то все норм. А если ее запускает шедуллер, то происходит описанная выше проблема Ну и я сейчас как раз ищу способ заставить это все работать - автоматически получить приватный ключ из подключенного рутокена
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,319
Сказал(а) «Спасибо»: 563 раз Поблагодарили: 393 раз в 372 постах
|
Автор: Александр_Pyankov_ А если ее запускает шедуллер, то происходит описанная выше проблема
Ну и я сейчас как раз ищу способ заставить это все работать - автоматически получить приватный ключ из подключенного рутокена Из-под задачи планировщика от того пользователя, с которым Вы её выполняете, выполните перечисление носителей/ контейнеров с помощью csptest и сохраните вывод в файл, после изучите его. Этим же способом можете выполнить и установку сертификата с привязкой к контейнеру (но, предварительно, конечно же лучше стоит изучить вывод): Отредактировано пользователем 28 марта 2024 г. 11:37:11(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,391 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 715 раз в 620 постах
|
Неитерактивно получить доступ к смарт-картам можно только под System. Или воспользоваться новым функционалом службы локальных смарт-карт в КриптоПро CSP 5R3. |
|
2 пользователей поблагодарили Максим Коллегин за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.06.2021(UTC) Сообщений: 17
Сказал(а) «Спасибо»: 4 раз
|
Автор: nickm Из-под задачи планировщика от того пользователя, с которым Вы её выполняете, выполните перечисление носителей/ контейнеров с помощью csptest и сохраните вывод в файл, после изучите его. Этим же способом можете выполнить и установку сертификата с привязкой к контейнеру (но, предварительно, конечно же лучше стоит изучить вывод): Спасибо за совет! обязательно займусь
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.06.2021(UTC) Сообщений: 17
Сказал(а) «Спасибо»: 4 раз
|
Автор: Максим Коллегин Неитерактивно получить доступ к смарт-картам можно только под System. Или воспользоваться новым функционалом службы локальных смарт-карт в КриптоПро CSP 5R3. Если можно, опишите подробнее - что значит "под System" ? как настроить TaskScheduller чтобы он так запускал приложение? И где можно почитать про функционалом службы локальных смарт-карт в КриптоПро CSP 5R3 ?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,319
Сказал(а) «Спасибо»: 563 раз Поблагодарили: 393 раз в 372 постах
|
|
1 пользователь поблагодарил nickm за этот пост.
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
Ошибка при подписании документа Keyset as registered is invalid.
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close