Назад | Перейти на главную страницу

Ошибка «Связанный закрытый ключ не найден» и ошибка «certutil -repairstore» с сертификатом Windows и файлами ключей?

Старая машина не может загрузиться в Windows для выполнения экспорта сертификата. Файл сертификата и файл ключа были извлечены из файловой системы и скопированы. Сертификат предназначен для IE SSL-доступа к банку.

C: \ Users {пользователь} \ AppData \ Roaming \ Microsoft \ SystemCertificates \ My \ Certificates

C: \ Users {пользователь} \ AppData \ Roaming \ Microsoft \ SystemCertificates \ My \ Keys

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

Не был уверен, поэтому сюда же положите ключи:

C: \ Users {пользователь} \ AppData \ Roaming \ Microsoft \ Crypto \ RSA \ S-1-5-21 -...

Контейнер ключей и точный файл были идентифицированы с помощью certutil. Однако команда repairstore не работает.

Кроме того, в надежде найти место, где могут храниться ключи, был использован FindPrivateKey, но безуспешно:

«Ошибка PrivateKey по следующей причине: невозможно получить имя файла закрытого ключа»

Также была сделана резервная копия реестра старой системы. Попытка экспортировать сертификат в командной строке режима восстановления Windows также не удалась (certutil не найден).

Заранее спасибо.

Закрытые ключи, хранящиеся в виде файлов в перемещаемом профиле, зашифрованы с помощью «главного ключа», который регулярно обновляется. Главный ключ сам зашифрован паролем пользователя. Это описано там. Этот уровень шифрования, вероятно, является причиной наблюдаемых вами сбоев использования: Windows видит файл, но при попытке доступа к нему не может понять его содержимое, потому что главный ключ, который он использует, не соответствует тому, который фактически использовался для зашифровать ключи.

Теперь это изменилось с годами, поэтому, возможно, ваша ситуация может быть исправлена, в зависимости от конкретных версий Windows. Видеть эта страница для начинающих.

Если предположить, что не существует одобренного Microsoft метода восстановления, тогда, помимо попытки реконструировать плохо документированную систему шифрования, ваши разумные действия включают в себя одно из следующих действий:

  • Создайте виртуальную машину с выбранным вами решением виртуальной машины (например, VirtualBox), скопируйте весь диск с мертвой машины и загрузите его в виртуальную машину. Предполагается, что оборудование машины мертво, но диск все еще находится в нормальном состоянии. Windows, вероятно, будет жаловаться на драйверы и ее нужно будет загрузить в режиме восстановления или что-то в этом роде. Как только машина заработает, экспортируйте сертификат и закрытый ключ как файл PFX (PKCS # 12) и импортируйте его в другое место. Если закрытый ключ не был помечен как «экспортируемый», то для этого потребуется немного программирования, хотя это не так сложно, как может показаться на первый взгляд.

  • Просто попросите новый сертификат SSL. Этот сертификат используется для аутентификация; никакие данные не теряются, когда закрытый ключ недоступен. Банк может выдать другой сертификат, который будет таким же функциональным, как и предыдущий. Если они взимают с вас плату, подумайте о переходе в другой банк.