certutil
certutil
to wierszowe narzędzie Windows (składowa Certificate Services) do zarządzania certyfikatami i infrastrukturą PKI. Umożliwia wyświetlanie i konfigurowanie ustawień Certification Authority (CA), import/eksport certyfikatów, kodowanie i dekodowanie plików (Base64, ASN.1), publikację CRL oraz weryfikację łańcuchów certyfikatowych. Uruchomione bez parametrów na serwerze CA pokazuje konfigurację usługi; na stacji roboczej bez roli CA domyślnie wykonuje certutil -dump
, wyświetlając szczegóły certyfikatów w magazynie.
Składnia
Dział zatytułowany „Składnia”certutil [Opcje] Polecenie [Argumenty...]
Opcje
– globalne przełączniki:-user
,-enterprise
,-split
,-f
,-v
,-p <hasło>
.Polecenie
– operacja do wykonania, np.-addstore
,-importpfx
,-dump
,-revoke
.Argumenty
– parametry specyficzne dla polecenia, jak magazyn, ścieżka do pliku czy identyfikator certyfikatu.
Aby zobaczyć pełną listę opcji i poleceń, użyj:
certutil -?certutil <Polecenie> -?
Parametry
Dział zatytułowany „Parametry”Polecenie | Opis |
---|---|
-addstore | Dodaje certyfikat lub CRL do wskazanego magazynu, np. certutil -addstore my cert.cer . |
-importpfx | Importuje klucz prywatny i certyfikat z pliku PFX do magazynu, opcjonalnie z hasłem (-p ). |
-dump | Wyświetla szczegółowe informacje o certyfikacie, łańcuchu lub CA; domyślnie na kliencie. |
-decode | Dekoduje plik Base64 do formatu binarnego DER. |
-encode | Koduje plik binarny do formatu Base64. |
-revoke | Cofnięcie certyfikatu na serwerze CA. |
-getcrl | Pobiera listę CRL z CA lub pliku. |
-verify | Weryfikuje łańcuch certyfikacji i stan CRL. |
-ca.cert | Pobiera certyfikat CA. |
-schema | Dumpuje schemę AD dla usług certyfikacyjnych. |
Globalne przełączniki:
-user
(magazyn użytkownika),-enterprise
(magazyn maszynowy Enterprise),-f
(force overwrite),-split
(dzielenie wyjścia na pliki),-v
(verbose),-p <hasło>
(hasło do PFX).
Przykłady użycia
Dział zatytułowany „Przykłady użycia”- Dodanie certyfikatu do magazynu
certutil -addstore my C:\Certs\ca.cer
- Import pliku PFX z hasłem
certutil -p "Secret123" -importpfx my C:\Certs\user.pfx
- Weryfikacja certyfikatu
certutil -verify C:\Certs\server.cer
- Dump konfiguracji CA (na serwerze)
certutil -dump
- Kodowanie i dekodowanie pliku
certutil -encode input.bin output.b64certutil -decode output.b64 decoded.bin
- Pobranie listy CRL
certutil -getcrl C:\CRLs\crlfile.crl
certutil.exe
znajduje się w%SystemRoot%\System32
i jest zewnętrznym plikiem wykonywalnym.- Na serwerze CA dostępne są dodatkowe funkcje administracyjne; na stacji roboczej bez roli CA domyślnie działa
-dump
. - Kolejność parametrów ma znaczenie – zmiana kolejności globalnych przełączników może wpłynąć na zachowanie polecenia.
- Dla skryptów często preferuje się cmdlety PowerShell PKI, ale
certutil
pozostaje przydatne w czystym CMD. - Przy dużych plikach PFX użyj
-split
, aby uniknąć limitów bufora wyjścia.
Najczęściej spotykane błędy i rozwiązania
Dział zatytułowany „Najczęściej spotykane błędy i rozwiązania”Błąd | Przyczyna | Rozwiązanie |
---|---|---|
certutil is not recognized | Brak %SystemRoot%\System32 w PATH lub brak Certificate Services | Dodaj %SystemRoot%\System32 do PATH lub zainstaluj rolę Certificate Services. |
Expected no more than 3 args, received 4 | Nadmiarowy argument lub zła kolejność przy -MergePFX | Użyj poprawnej składni: certutil -MergePFX <in.pem> <out.pfx> -p <hasło> . |
Access is denied | Brak uprawnień do klucza prywatnego lub katalogu docelowego | Uruchom CMD jako administrator i sprawdź uprawnienia plików oraz UAC. |
The system cannot find the file specified | Nieistniejący plik lub błędna ścieżka | Zweryfikuj ścieżkę i nazwę pliku, uwzględnij cudzysłowy przy spacjach. |
Invalid option: <niewłaściwa opcja> | Literówka w przełączniku lub nieobsługiwany w danej wersji | Uruchom certutil -? lub certutil <polecenie> -? dla listy dostępnych opcji. |
Error opening store: The system cannot find the specified object | Błędna nazwa magazynu lub nieistniejący magazyn | Użyj prawidłowej nazwy magazynu (np. My , Root , CA ) lub utwórz własny magazyn w MMC (certmgr.msc). |
Porada: Zawsze wykonaj kopię zapasową (
certutil -backupkey
,certutil -backupcert
) i testuj operacje w środowisku testowym przed zmianą rzeczywistych magazynów certyfikatów.