Niepowodzenie przetworzenia żądania przez usługi certyfikatów.
Jedną z podstawowych funkcji urzędu certyfikacji (CA) jest ocena otrzymywanych od klientów żądań certyfikatów i wystawianie certyfikatów tym klientom pod warunkiem spełnienia wstępnie zdefiniowanych kryteriów. Aby rejestracja certyfikatu powiodła się, przed przesłaniem żądania musi być spełnionych kilka warunków: urząd certyfikacji musi mieć prawidłowy certyfikat urzędu certyfikacji, szablony certyfikatów, konta klientów i żądania certyfikatów muszą być poprawnie skonfigurowane oraz musi istnieć sposób przesyłania żądania klienta do urzędu certyfikacji, sprawdzania tego żądania i instalowania wystawionego certyfikatu.
Usunięcie problemów uniemożliwiających przetwarzanie żądań certyfikatów
Istnieje wiele problemów, które mogą uniemożliwić przetworzenie żądania certyfikatu. Jeśli informacje podane w komunikacie w dzienniku zdarzeń nie wystarczają do rozwiązania problemu, w identyfikacji przyczyny mogą pomóc błędy i ostrzeżenia zgłoszone przed tym komunikatem lub po nim.
Aby zidentyfikować i rozwiązać problemy, które mogą blokować przetwarzanie żądań certyfikatów:
Sprawdź łańcuch certyfikatów urzędu certyfikacji (CA).
Wygeneruj i opublikuj nowe listy odwołania certyfikatów (CRL).
Sprawdź poprawność skonfigurowanych punktów dystrybucji list CRL.
Jeśli pomimo wykonania tych kroków problem nie zostanie rozwiązany, sprawdź zawartość kolejki nieudanych żądań na komputerze urzędu certyfikacji w poszukiwaniu informacji o przyczynach niepowodzenia.
Aby wykonać poniższe procedury, trzeba posiadać uprawnienie Zarządzaj urzędem certyfikacji lub otrzymać odpowiednie uprawnienia poprzez oddelegowanie.
Sprawdź łańcuch certyfikatów urzędu certyfikacji
Aby sprawdzić poprawność łańcucha urzędu certyfikacji:
Kliknij przycisk Start, wpisz polecenie mmc, a następnie naciśnij klawisz ENTER.
Jeśli zostanie wyświetlone okno dialogowe Kontrola konta użytkownika, upewnij się, że wymienione w nim działanie, jest tym, które chcesz wykonać, a następnie kliknij przycisk Kontynuuj.
W menu Plik kliknij polecenie Dodaj/Usuń przystawkę, kliknij opcję Certyfikaty, a następnie kliknij przycisk Dodaj.
Kliknij opcję Konto komputera, a następnie przycisk Dalej.
Wybierz komputer udostępniający urząd certyfikacji, kliknij opcję Zakończ, a następnie kliknij przycisk OK.
Wybieraj kolejne certyfikaty urzędu certyfikacji w łańcuchu certyfikatów, klikając następnie opcję Wyświetl certyfikat.
Kliknij kartę Szczegóły, a następnie opcję Kopiuj do pliku, aby uruchomić Kreatora eksportu certyfikatów. Zapisz każdy certyfikat, nadając mu rozszerzenie .cer.
Otwórz wiersz polecenia, dla każdego certyfikatu urzędu certyfikacji uruchom następujące polecenie: certutil -urlfetch -verify <CAcert.cer> i naciśnij klawisz ENTER. Zastąp <CAcert.cer> nazwą zapisanego w kroku 7 pliku certyfikatu urzędu certyfikacji.
Tego samego polecenia należy użyć z plikiem wystawionego przez dany urząd certyfikacji certyfikatu jednostki końcowej (użytkownika lub komputera), aby potwierdzić poprawność list CRL i łańcucha certyfikatów tego urzędu.
Rozwiąż wszelkie problemy wskazane w danych wyjściowych w wierszu polecenia.
Generowanie i publikowanie nowych list CRL
Jeśli dane wyjściowe w wierszu polecenia wskazują, że lista CRL urzędu certyfikacji wygasła, wygeneruj dla tego urzędu nowe listy CRL (podstawową i różnicową) i skopiuj je do wymaganych lokalizacji. Może to wymagać ponownego uruchomienia urzędu certyfikacji będącego w trybie offline.
Na komputerze urzędu certyfikacji sprawdź aktualną opublikowaną listę CRL. Domyślnie urząd certyfikacji tworzy listy CRL w folderze %windir%\System32\CertSrv\CertEnroll. Jeśli obecne listy CRL w tej lokalizacji wygasły lub są nieważne, możesz opublikować nową listę CRL przy użyciu poniższej procedury.
Aby opublikować nową listę CRL z wykorzystaniem przystawki Urząd certyfikacji:
Na komputerze udostępniającym urząd certyfikacji kliknij przycisk Start, wskaż polecenie Narzędzia administracyjne i kliknij opcję Urząd certyfikacji.
Wybierz urząd certyfikacji i rozwiń foldery pod jego nazwą.
Kliknij prawym przyciskiem myszy folder Odwołane certyfikaty.
Kliknij opcję Wszystkie zadania, a następnie opcję Opublikuj.
Listy CRL można też generować i publikować z wiersza polecenia.
Aby opublikować listę CRL za pomocą narzędzia wiersza polecenia Certutil:
Na komputerze udostępniającym urząd certyfikacji kliknij przycisk Start, wpisz polecenie cmd i naciśnij klawisz ENTER..
Wpisz polecenie certutil -CRL i naciśnij klawisz ENTER.
Jeśli lista CRL jest identyfikowana jako niedostępna, choć w katalogu lokalnym komputera urzędu certyfikacji istnieje poprawna lista CRL, upewnij się, że urząd certyfikacji może nawiązać połączenie z punktem dystrybucji list CRL, a następnie powtórz wcześniejsze kroki, aby ponownie wygenerować i opublikować listy CRL.
Listy CRL można ręcznie publikować w Usługach domenowych Active Directory, używając następującego polecenia:
certutil -dspublish"<crlname.crl>" ldap:///CN=<CA name>,CN=<CA hostname>,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>?certificateRevocationList?base?objectClass=cRLDistributionPoint
Zastąp crlname.crl nazwą swojego pliku CRL, <CA name> i <CA hostname> nazwą swojego urzędu certyfikacji i nazwą hosta, na którym działa ten urząd certyfikacji, a <contoso> i <com> obszarem nazw swojej domeny Active Directory.
Sprawdź skonfigurowane punkty dystrybucji list CRL
Sprawdź wszystkie skonfigurowane punkty dystrybucji list CRL, aby upewnić się, że publikacja powiodła się, a nowe listy CRL są dostępne w sieci.
Aby sprawdzić skonfigurowane punkty dystrybucji list CRL z użyciem przystawki Urząd certyfikacji:
Na komputerze udostępniającym urząd certyfikacji kliknij przycisk Start, wskaż polecenie Narzędzia administracyjne i kliknij opcję Urząd certyfikacji.
Kliknij prawym przyciskiem myszy nazwę urzędu certyfikacji i kliknij opcję Właściwości.
Kliknij kartę Rozszerzenia.
Zapoznaj się ze skonfigurowanymi punktami dystrybucji list CRL, aby upewnić się, że informacje są poprawne.
Aby sprawdzić adresy URL skonfigurowanych punktów dystrybucji list CRL za pomocą narzędzia Certutil:
Otwórz okno wiersza polecenia na komputerze urzędu certyfikacji.
Wpisz polecenie certutil -getreg ca\crlpublicationurls i naciśnij klawisz ENTER.
Sprawdzanie kolejki nieudanych żądań na komputerze urzędu certyfikacji
Aby sprawdzić kolejkę nieudanych żądań na komputerze urzędu certyfikacji w wykorzystaniem przystawki Urząd certyfikacji:
Na komputerze udostępniającym urząd certyfikacji kliknij przycisk Start, wskaż polecenie Narzędzia administracyjne i kliknij opcję Urząd certyfikacji.
Kliknij folder Żądania nieudane.
Szukaj nieudanych żądań zgłoszonych w czasie zbliżonym do badanego zdarzenia, sprawdzając kolumny Komunikat dyspozycji żądania, Kod stanu żądania i Nazwa żądającego w poszukiwaniu dodatkowych informacji diagnostycznych.
Aby sprawdzić nieudane żądania za pomocą narzędzia Certutil:
Na komputerze udostępniającym urząd certyfikacji kliknij przycisk Start, wpisz polecenie cmd i naciśnij klawisz ENTER.
Wpisz polecenie certutil -view LogFail i naciśnij klawisz ENTER.
Wpisz certutil -view -restrict requestID="<nnn>" i naciśnij klawisz ENTER. Zastąp <nnn> identyfikatorem jednego z zakończonych niepowodzeniem żądań z danych wyjściowych polecenia LogFail.
Aby upewnić się, że przetwarzanie żądań certyfikatów działa poprawnie:
Kliknij przycisk Start, wpisz certmgr.msc i naciśnij klawisz ENTER.
Jeśli zostanie wyświetlone okno dialogowe Kontrola konta użytkownika, upewnij się, że wymienione w nim działanie jest tym, które chcesz wykonać, a następnie kliknij przycisk Kontynuuj.
W drzewie konsoli dwukrotnie kliknij opcję Osobiste, a następnie kliknij opcję Certyfikaty.
W menu Akcja wskaż polecenie Wszystkie zadania i kliknij opcję Żądaj nowego certyfikatu, aby uruchomić Kreatora rejestracji certyfikatów.
Za pomocą kreatora utwórz i prześlij żądanie certyfikatu jednego z dostępnych typów.
W obszarze Wyniki instalacji certyfikatów upewnij się, że rejestracja została pomyślnie ukończona i nie zostały zgłoszone żadne błędy. Można też kliknąć opcję Szczegóły, aby wyświetlić dodatkowe informacje o certyfikacie.
Target | Microsoft.Windows.CertificateServices.CARole.6.2 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 21 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.6.2.CertSvcEvents.21" Enabled="onEssentialMonitoring" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.6.2" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">21</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToCertSvcEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageID42b3cc830b884161b292de001ad930e4"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>