Источник Мониторинг сертификатов windows в Zabbix
СКАЧАТЬ PowerShell.
команда вида:
(Get-ChildItem -Path cert: -Recurse -ExpiringInDays 365).subject
Выдаст нам название сертификатов срок действий которых истекает через 365 дней.
для Windows Server 2008 проверка выдает ошибки, используйте этот скрипт
Код: Выделить всё
Get-ChildItem -Path CERT: -Recurse | where { $_.notafter -le (get-date).AddDays(45) -AND $_.notafter -gt (get-date)}
Powershell.exe "& {(Get-ChildItem -Path cert: -Recurse -ExpiringInDays 45 | where {$_.PSPath -notmatch 'Remote Desktop' -and $_.PSPath -notmatch 'Operations Manager'}).subject}"
Она дополнительно исключает проверку серт в RDP и SCOM agent.
UserParameter=Certificate, powershell -NonInteractive -noprofile -executionpolicy bypass -command "(Get-ChildItem -Path cert: -Recurse -ExpiringInDays 30).subject"
Сбор различных команд откуда можно вытащить данные о сертификатах
Проверка лицензии на ПО Крипто Про
cpconfig -license -view
cpconfig -license -set "тут пишем ключ для криптопро"
Установка УЦ Корневой
certmgr -inst -file certne_ucw.cer -store uRoot
Установка промежуточных сертификатов
certmgr -inst -store uCa -file /home/guset/sred.cer - промежуточный
certmgr -inst -store uCa -file /home/guset/sos.crl -crl -отозванный
Установка Личного Сертификата с рутокена
csptest -keyset -enum_cont -fqcn -verifyc -uniq - просмотр носителей ключей
certmgr -inst -cont '\\.\Aktiv Co. Rutoken S 00 00\SCARD\rutoken_37855d89\0A00\906c'
Проверки цепочки она же выгрузка сертификата
cryptcp -copycert -dn "CN=Иванов" -df tt.cer - по фамилии выгрузка сертификата в текущую директорию
Просмотр установленных сертификатов
certmgr -list -store uRoot - Корневых
certmgr -list -store uCa - Промежуточных
certmgr -list -store uMy - Личных
Удаление сертификатов
certmgr -delete -dn "SN=Фамилия" - Удаление из личных сертификатов
certmgr -inst -file Минком.cer -store uRoot
certmgr -inst -store uCa -file /home/user1/ООО-ПрофиМенеджер.cer
certmgr -inst -store uCa -file /home/user1/otz.crl -crl
certmgr -inst -file /mnt/docs/certs/Минком.cer -store uRoot
certmgr -inst -store uCa -file /mnt/docs/certs/prom.cer
certmgr -inst -store uCa -file /mnt/docs/certs/otziv.crl -crl
название папки extensions
about:config
general.useragent.override
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0 VerifID:csv35.ru) Gecko/20100101 Firefox/52.0
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0 VerifID:csv35.ru01) Gecko/20100101 Firefox/78.0
xpinstall.signatures.required false (включение расширений)
browser.helperApps.deleteTempFileOnExit false (редактирование скачанных файлов)
Для доступа команды на windows прописать в переменную paht путь C:\Program Files\Crypto Pro\CSP до certmgr.exe
если переменная не указана будет открывается Certmgr.msc оснастка консоли управления (MMC)
C:\Users\имя вашего пользователя\AppData\Roaming\Microsoft\SystemCertificates\My
И есть несколько папок и файлов, соответствующих хранилищу сертификатов Windows. Папки скрыты, а открытый и закрытый ключи расположены в разных папках.
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
https://docs.microsoft.com/ru-ru/dotnet ... dfrom=MSDN
удаление из корневого хранилища сертификата по имени certmgr можно получить в составе Windows SDK.
certmgr /del /n "Имя" /s root
certutil -delstore -user TrustedPublisher "сертификат"
TrustedPublisher "Доверенные издатели"
CertUtil: -delstore - команда успешно выполнена. -но сертификат при этом остался на месте
certutil -delstore -enterprise root
root "Доверенные корневые центры сертификации"
CertUtil: -delstore - команда успешно выполнена.
certmgr.exe /del /c /n "Name" /s /r currentUser root дописать расширение .exe, так как файл .msc, имеет приоритет.
certutil -store root Список корневых сертификатов
CERTUTIL -delstore [-enterprise] [-user] [-gmt] [-seconds] [-v] [-dc dc_name] root [-user] [certificate_index] Удаление
certutil -delkey -csp "Провайдер" "s/n ключа" Удаление
Удалить старые сертификаты Windows
certutil.exe -delstore TrustedPeople "*.cer" - но сертификаты в хранилище как висели так и висят
certutil.exe -delstore -user TrustedPeople - но сертификаты в хранилище как висели так и висят
certutil.exe -delstore -user root или CA поставщик - заработало
HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
Reg delete "HKCU\Software\Microsoft\SystemCertificates\TrustedPeople\Certificates" /f - теперь в хранилище висят только действующие сертификаты
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EnterpriseCertificates
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SystemCertificates
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\EnterpriseCertificates
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\SystemCertificates
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\SystemCertificates
HKEY_USERS\.DEFAULT\Software\Microsoft\SystemCertificates
HKEY_USERS\.DEFAULT\Software\Policies\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-18\Software\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-18\Software\Policies\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-19\Software\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-19\Software\Policies\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-20\Software\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-20\Software\Policies\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-21-3002483080-1650114603-3144430796-1000\Software\Microsoft\SystemCertificates
HKEY_USERS\S-1-5-21-3002483080-1650114603-3144430796-1000\Software\Policies\Microsoft\SystemCertificates
Reg delete "HKLM\Software\Microsoft\SystemCertificates\TrustedPeople\Ce rtificates" /f - тогда и действующие снесет
Сертификаты уровня пользователей:
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates — содержит настройки сертификатов для текущего пользователя
HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates — как и предыдущее расположение, но это соответствует сертификатам пользователей, развёрнутым объектом групповой политики (GPO (Group Policy))
HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates — соответствует настройке определённых пользовательских сертификатов. У каждого пользователя есть своя ветка в реестре с SID (идентификатор безопасности).
Сертификаты уровня компьютера:
HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates — содержит настройки для всех пользователей компьютера
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates — как и предыдущее расположение, но это соответствует сертификатам компьютера, развёрнутым объектом групповой политики (GPO (Group Policy))
Сертификаты уровня служб:
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\ServiceName\SystemCertificates — содержит настройки сертификатов для всех служб компьютера
Сертификаты уровня Active Directory:
HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates — сертификаты, выданные на уровне Active Directory.
КриптоПРО
HKEY_LOCAL_MACHINE\SOFTWARE\CryptoPro\Setting\Users\(идентификатор пользователя)\Keys\ название контейнера (для 32-битной ОС Windows);
для 364-битной операционной системы «Виндовс» файл находится по адресу:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CryptoPro\Setting\Users\(идентификатор пользователя)\Keys\ наименование сертификата;
в отдельных случаях для поиска папки, в которой хранится электронная подпись, задается направление:
HKEY_USERS\S-1-5-21-{SID}_Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\CryptoPro\Setting\USERS\S-1-5-21-{SID}\Keys.
Поиск по реестру
reg query HKCU /f "Certificates" /s /k
reg query HKLM /f "Certificates" /s /k
REG QUERY – отобразить содержимое реестра.
/f - Данные или шаблон для поиска. Если строка содержит пробелы, заключайте ее в кавычки. Значение по умолчанию: "*".
/s - Запрос всех вложенных подразделов и их параметров (аналогично команде dir /s).
/k - Указывает на поиск только в именах разделов.
Пользовательские сертификаты (файлы):
%APPDATA%\Microsoft\SystemCertificates\My\Certificates
%USERPROFILE%\AppData\Roaming\Microsoft\Crypto\RSA\SID
%USERPROFILE%\AppData\Roaming\Microsoft\Credentials
%USERPROFILE%\AppData\Roaming\Microsoft\Protect\SID
Компьютерные сертификаты (файлы):
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
PowerShell:
# оставляем только действующие сертификаты в хранилище TrustedPeople
Get-ChildItem -Path Cert:\CurrentUser\TrustedPeople | Where {-not (Test-Certificate -Cert $_ -ErrorAction SilentlyContinue)} | Remove-Item -Verbose
подчистить вообще все хранилище
# удаляем все сертификаты из хранилища TrustedPeople!!!
Get-ChildItem -Path Cert:\CurrentUser\TrustedPeople | Remove-Item -Verbose -WhatIf
если заменить CurrentUser на LocalMachine, то очистится системное хранилище, а не текущего пользователя
Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist
Get-ChildItem -Recurse -path 'Cert:\LocalMachine\My' -ErrorAction Stop
PowerShell.exe (Get-ChildItem -Path cert: -Recurse -ExpiringInDays 45).subject
Для информации привожу список названий хранилищ сертификатов:
My - Личные
Root - Доверенные корневые центры сертификации
Trust - Доверительные отношения в предприятии
CA - Промежуточные центры сертификации
- Объект пользователя Active Directory
TrustedPublisher - Доверенные издатели
- Сертификаты, к которым нет доверия - Издатели, не имеющие доверия
AuthRoot - Сторонние корневые центры центры сертификации
TrustedPeople - Доверенные лица
AddressBook - Другие пользователи
- Доверенные корневые сертификаты КриптоПро CSP
- MSIEHistoryJournal
- Remote Desktop
- Запрос заявок на сертификат
- Доверенные корневые сертификаты смарт-карты
- Доверенные устройства
- Windows Live ID Token Issuer
КритоПро