Имейте несколько компьютеров, где пользовательские сертификаты внезапно перестают работать.
Запуск 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) Указанный сервер не может выполнить запрошенную операцию.
Любые рекомендуемые действия для дальнейшего определения основной причины «Не удается найти сертификат и закрытый ключ для расшифровки». ошибка?