Ошибка 0x80090010 «Отказано в доступе» появляется при подписании, когда программа не может извлечь секретный ключ сертификата. В Saby текст выглядит так: «Не удалось извлечь секретный ключ сертификата 0x80090010: Отказано в доступе». Чаще всего дело в сроке ключа или в правах на носитель, проверка занимает несколько минут
Коротко: что делать
- Откройте КриптоПро CSP → Сервис → Протестировать
- Посмотрите срок действия закрытого ключа
- Если срок ключа истёк, нужен перевыпуск сертификата в удостоверяющем центре
- Если срок в порядке, проверьте, можно ли записывать на токен или флешку: права могут ограничивать групповые политики
- Права на носитель меняет системный администратор организации
- Не просите никого присылать ключ и не называйте PIN-код
Что означает ошибка
0x80090010 - константа NTE_PERM, текст Windows «Access denied», по-русски «Отказано в доступе». Криптопровайдер не получил доступ к ключу, который нужен для подписи
Код есть в справочнике кодов ошибок
Причины
Две причины, которые называет Saby на странице об этой ошибке:
- В КриптоПро CSP включён контроль сроков действия долговременных ключей, и срок ключа вышел
- Нет прав на запись на флешку или токен: доступ ограничили групповые политики
Срок ключа ЭП (электронная подпись), как правило, 15 месяцев. Сам сертификат бывает намного дольше, поэтому он может ещё действовать, а ключ уже нет
Диагностика
- Откройте Пуск → КриптоПро → КриптоПро CSP
- Перейдите на вкладку Сервис
- Нажмите Протестировать
- Выберите контейнер
- Посмотрите «Срок действия закрытого ключа»
- Срок ключа может не совпадать со сроком сертификата. Ориентируйтесь на дату из теста
- Срок прошёл - причина в нём. Срок не прошёл - проверьте права на запись на носитель
Решение
Срок ключа истёк: перевыпуск
После окончания срока ключа подписать документ нельзя, даже если сертификат действует
- Проверьте срок ключа по инструкции выше
- Выпустите новый сертификат: порядок описан в статье как продлить ЭЦП
- Установите новый сертификат
- Повторите подписание
⚠️ Не удаляйте старый контейнер, пока новый сертификат не заработал: сделайте копию и убедитесь, что подпись проходит
Продлить или обойти срок ключа нельзя, это ограничение безопасности. Единственный надёжный путь - перевыпуск у удостоверяющего центра
Нет прав на запись на токен или флешку
- Уточните у системного администратора, не запрещена ли запись на съёмные носители групповыми политиками
- Попросите разрешить запись для вашей учётной записи
- Повторите подписание
Не путать с лицензией
Если на вкладке Общие в КриптоПро CSP лицензия закончилась, ошибка обычно другая: 0x8007065B, подробности в статье ошибка 0x8007065B. Как оформить лицензию, написано в статье лицензия КриптоПро CSP
Если не помогло
Если ошибка так и не ушла, а документ нужно подписать сегодня, инженер ProKEP.ru подключится удалённо и проверит срок ключа и доступ к носителю при вас
- подключение через RuDesktop или AnyDesk, вы видите все действия на экране
- PIN-код вы вводите сами, инженер не просит его назвать и не копирует ключи
- после работы - официальный чек самозанятого
Как связаться с инженером и сколько это стоит - на странице помощи инженера
Частые вопросы
Что значит ошибка 0x80090010 «Отказано в доступе»?
Это код NTE_PERM, «Access denied»: криптопровайдеру отказано в доступе к ключу. Saby в таком случае называет две причины: включён контроль сроков действия долговременных ключей в КриптоПро CSP или нет прав на запись на флешку или токен
Как проверить срок действия закрытого ключа?
Откройте КриптоПро CSP, вкладка Сервис, кнопка Протестировать, выберите контейнер. Тест покажет срок действия закрытого ключа. Эта дата может отличаться от даты в сертификате, верной считается дата из теста
Что делать, если срок ключа истёк?
Подписать документ этим ключом уже нельзя, даже если сам сертификат ещё действует. Надёжный путь - перевыпуск сертификата в удостоверяющем центре. Срок ключа как правило 15 месяцев, продлить его нельзя
Это та же ошибка, что 0x8007065B?
Нет. 0x8007065B «Ошибка исполнения функции» обычно связана с лицензией КриптоПро CSP и разобрана в отдельной статье. 0x80090010 указывает на отказ в доступе к ключу: срок ключа или права на носитель