Имейте несколько компьютеров, где пользовательские сертификаты внезапно перестают работать.

Запуск certutil -silent -user -store my показывает, что все пользовательские сертификаты для затронутого пользователя перестали работать.

    my
================ Certificate 0 ================
Serial Number: 2a0000210be8f0775a3a2e2b7200040000210b
Issuer: CN=PROD Issuing CA, DC=somecompany, DC=Com, DC=Au
 NotBefore: 10/01/2017 7:46 AM
 NotAfter: 10/01/2018 7:46 AM
Subject: CN=username, OU=somecompany, OU=Level 1, OU=Laptop Users, OU=Special Group Users, DC=somecompany, DC=Com, DC=Au
Non-root Certificate
Template: 1.3.6.1.4.1.311.21.8.4586432.4805332.10505398.7351119.9274134.0.14270575.7769536
Cert Hash(sha1): cc 3b d0 2c 03 a1 d9 d4 0d 28 31 a7 84 c8 6d cb 6d 97 27 d8
  Key Container = 48fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d
  Provider = Microsoft Enhanced Cryptographic Provider v1.0
Cannot find the certificate and private key for decryption.

================ Certificate 1 ================
Serial Number: 7b4d6131959b5f6cd272
Issuer: CN=Communications Server
 NotBefore: 25/08/2017 10:41 AM
 NotAfter: 25/08/2017 6:41 PM
Subject: CN=someguy@somecompany.com.au
Non-root Certificate
Template: 
Cert Hash(sha1): 80 25 75 64 60 77 21 16 35 18 ee 04 4f 87 bc 5f f0 ae b3 2a
  Key Container = OC_KeyContainer_Lync_someguy@somecompany.com.au
  Provider = Microsoft Enhanced Cryptographic Provider v1.0
Cannot find the certificate and private key for decryption.

Проверка папки %APPDATA%\Microsoft\Crypto\RSA позволяет увидеть файлы закрытого ключа, т.е. в этом случае первый сертификат 48fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d .

Каковы возможные причины этой проблемы? Я подозреваю, что ключ шифрования для закрытого ключа стирается / изменяется; но интересно, как подтвердить, если это меняется.

В этом случае мы используем Cert Hash(sha1), чтобы найти сертификат пользователя в %APPDATA%\Microsoft\SystemCertificates\My\Certificates\CC3BD02C03A1D9D40D2831A784C86DCB6D9727D8 которая присутствует.

Затем, используя поле контейнера ключа, мы находим секретный ключ в %APPDATA%\Microsoft\Crypto\RSA\S-1-5-21-2091123715-180627453-533688462-45495\48fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d который также является444 ,

Файлы были изменены:

• Файл системных сертификатов CC3BD02C03A1D9D40D2831A784C86DCB6D9727D8 был последний раз изменен 25.08.2017 в 10:55. Было ли это, когда был запрошен новый ключ, то есть пользователь сообщал о проблеме до этого времени?

• Файл закрытого ключа в папке %APPDATA%\Microsoft\Crypto\RSA\S-1-5-21-2091123715-180627453-533688462-45495\48fa6c038e897eb98ea252b465308c55_7cc43284-5d87-4ba0-8673-6fb4d4de8f2d был обновлен 10/01/2017 56 утра (близко к времени, выданному в файле системного сертификата)

• Закрытый ключ был зашифрован с помощью мастер-ключа, хранящегося в %APPDATA%\Microsoft\Protect\<user SID>\c77f3872-e1e2-4449-9729-cc97e85e4a3c который был последний раз изменен 25.07.2017 8:19

• Папка Protect, содержащая мастер-ключ, используемый для дешифрования закрытых ключей, содержит файлы, которые в последний раз изменялись 14.08.2017, 8:23

%APPDATA%\Microsoft\SystemCertificates\My\Certificates содержит 0-байтовые файлы сертификатов, измененные 12/07/2017 с 12:00 до 7:50 с разными интервалами и с 8/06/2017 с 23:52 до 9/06/2017 8:33 каждые 8 минут

В настоящее время мы используем аудит Windows для поиска изменений в папке %APPDATA%\Microsoft\SystemCertificates и %APPDATA%\Microsoft\Crypto и %APPDATA%\Microsoft\Protect

Однако, учитывая, что файлы сертификата и закрытого ключа, по-видимому, существуют, не уверен, что это определит причину.

Журнал приложения также содержит ошибки для источника CertificateServicesClient-AutoEnrollment:

Ошибка автоматической регистрации сертификата для домена \ имени пользователя (0x8007003a) Указанный сервер не может выполнить запрошенную операцию.

Любые рекомендуемые действия для дальнейшего определения основной причины «Не удается найти сертификат и закрытый ключ для расшифровки». ошибка?

1 ответ1

0

Проблема, кажется, вызвана удаленным сбросом пароля. В тестовой среде повторяется проблема:

• Контроллер домена Server 2012 R2 с центром сертификации, настроенным для автоматической регистрации

• Windows 7 x64 клиент присоединился к домену

• Изолированная сеть, в которой размещены только DC и клиент

• Шаблон сертификата пользователя с экспортируемым закрытым ключом

  1. Развертывание сертификата пользователя на клиенте с помощью групповой политики автоматической регистрации
  2. Удален клиент из сети
  3. Подтвержденный пользователь может экспортировать закрытый ключ для сертификата, позволяющего экспортировать с помощью certmgr на клиенте Windows 7
  4. Переподключен клиент к сети
  5. Сбросить пароль пользователя, вошедшего в клиент с контроллера домена
  6. Использовать «Запуск от имени» для кэширования обновленного пароля на клиенте
  7. Отключен клиент от сети
  8. Вышел из системы / вошел в систему отключен от сети с обновленными кэшированными учетными данными
  9. Невозможно экспортировать закрытый ключ
  10. Переподключен клиент к сети
  11. Невозможно экспортировать закрытый ключ
  12. Выход из системы / вход в сеть - теперь можно снова экспортировать закрытый ключ

Закрытые ключи защищены путем шифрования с использованием мастер-ключей, хранящихся в папке% APPDATA%\Microsoft\Protect\\. Мастер-ключи дополнительно шифруются с помощью комбинации элементов, включая пароль пользователя. Если главный ключ не может быть расшифрован, закрытый ключ не может быть использован.

Метод изменения пароля - Ctrl+Alt+Del "Изменить пароль" на клиенте

С помощью монитора процессов, определенных Локальным центром безопасности, процесс (LSASS.exe) выполняет следующие действия:

  1. Связь с контроллером домена через порт TCP 88 (kerberos) и TCP порт 464 (kpasswd / kerberos v5)
  2. Обновите ключ reg в разделе HKLM\Security\Cache
  3. Написать в \domaincontroller \PIPE \protected_storage
  4. Обновления Serivce профиля пользователя HKLM\Software \Microsoft \Windows NT \CurrentVersion \ProfileList \\RefCount
  5. Обновление мастер-ключей, используемых для расшифровки закрытых ключей:

% APPDATA%\Microsoft\Protect\\

  1. Прочитать файл SYNCHIST & CREDHIST в папке% APPDATA%\Microsoft\Protect
  2. Обновить файл% APPDATA%\Microsoft\Protect\SYNCHIST
  3. Процесс 1-7 может повторяться несколько раз
  4. Обновите C:\Windows\debug\PASSWD.log с сообщением «Попытка сменить пароль сервер / домен для пользователя

Закрытые ключи продолжают работать благодаря шагам 5 - 7.

Метод изменения пароля - удаленный сброс через Active Directory - пользователи и компьютеры

  1. Файлы SYNCHIST & Master key не обновляются автоматически мгновенно
  2. Выйти из системы / войти в сеть при обновлении файлов SYNCHIST и Master key, сертификаты в порядке

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .