Вопрос или проблема
Я пытаюсь восстановить мой хранилище сертификатов в Windows 10, выполнив следующую команду:
C:\WINDOWS\system32>certutil -store -user my 330000019dba8d5dddb98062a900000000019d
my "Personal"
CertUtil: -store command FAILED: 0x80090011 (-2146893807 NTE_NOT_FOUND)
CertUtil: Object was not found.
Я дважды проверил в MMC, серийный номер моего сертификата. Но мне все равно не удается восстановить хранилище сертификатов.
Я получал ту же ошибку при попытке экспортировать PFX. Оказалось, что мне нужно было экспортировать в C:\cert.pfx
вместо просто cert.pfx
(оно пыталось экспортировать файл в хранилище сертификатов Cert:\LocalMachine\My
).
У меня была та же проблема. Я сделал следующее, чтобы решить её.
-Использовал серийный номер сертификата вместо отпечатка. Я не уверен, почему отпечаток не сработал, хотя раньше он работал.
-Когда я вставлял серийный номер, добавлялся лишний странный символ в начале. Я удалил этот символ.
.
Ответ или решение
Ошибка "-2146893807 NTE_NOT_FOUND", возникающая при попытке восстановления хранилища сертификатов в Windows 10, может быть вызвана несколькими причинами. Давайте рассмотрим теорию, примеры и возможные решения этой проблемы, следуя методу TEA (Theory, Example, Application).
Теория
Когда вы работаете с сертификатами в Windows, они хранятся в специальных хранилищах, таких как «Мой» (My), «Доверенные корневые центры сертификации» (Trusted Root Certification Authorities) и так далее. Утилита certutil
используется для управления сертификатами и их хранилищами. Код ошибки -2146893807 (0x80090011) обозначает NTE_NOT_FOUND
, что указывает на то, что запрашиваемый объект не найден. Это может произойти по нескольким причинам:
-
Неправильный идентификатор сертификата: Удостоверьтесь, что вы используете правильный идентификатор сертификата — серийный номер или отпечаток — в вашей команде.
-
Проблемы с кодировкой: Иногда при копировании серийного номера в командную строку могут добавляться лишние символы или невидимые символы юникода.
-
Неправильное хранилище сертификатов: Удостоверьтесь, что вы указываете правильное хранилище сертификатов в команде
certutil
.
Пример
Рассмотрим вашу команду:
C:\WINDOWS\system32>certutil -store -user my 330000019dba8d5dddb98062a900000000019d
Эта команда пытается получить доступ к сертификату в пользовательском хранилище "Личное" (Personal), используя определенный серийный номер. Ваша ошибка может возникнуть, если сертификат с этим серийным номером не существует в указанном хранилище или если серийный номер неверный или имеет дополнительный скрытый символ.
Применение
Для успешного решения данной проблемы следует предпринять следующие шаги:
-
Проверка серийного номера: Убедитесь, что вы используете серийный номер, а не отпечаток. Откройте
MMC
(консоль управления) и проверьте, что в свойствах сертификата действительно отображается тот серийный номер, который вы используете в команде. -
Удаление лишних символов: Когда копируете серийный номер из консоли MMC, убедитесь, что в начале строки не затесались лишние символы, особенно если копирование производилось мышкой. Часто проблема может быть связана с невидимыми юникодными символами.
-
Экспорт файла: Если вы сталкиваетесь с проблемами экспорта PFX-файла, попробуйте явно указать полный путь для экспорта, как указано в примере. В командной строке это будет выглядеть как:
C:\WINDOWS\system32>certutil -exportPFX -user my cert.pfx
Вместо
cert.pfx
указывайте полный путь, например:C:\cert.pfx
. -
Проверка пути и имени файла: Если при экспорте сертификатов возникают ошибки, удостоверитесь, что путь и имя файла действительны и не конфликтуют с именами в хранилище сертификатов.
-
Учитывайте особенности разрядности системы: Некоторые команды требуют запуска от имени администратора или могут различаться между 32- и 64-битными версиями Windows. Проверьте настройки вашего пользователя и запустите консоль с правами администратора.
-
Обновление системы и утилит: Иногда обновления системных утилит и самой операционной системы могут решить проблемы, вызванные устаревшими библиотеками или ошибками в коде.
Заключение: следуя рекомендациям выше, многие пользователи могли исправить ошибку NTE_NOT_FOUND
в Windows при управлении сертификатами. Если проблема сохраняется даже после выполнения всех указанных действий, рекомендуется обратиться за дополнительной поддержкой в вашу ИТ-службу или использовать специализированные форумы, где могут помочь эксперты.