Usługi certyfikatów nie mogą opublikować certyfikatu jednostki końcowej.
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.
Umożliwienie publikacji certyfikatu jednostki końcowej
Opublikowanie certyfikatu wymaga łączności sieciowej i odpowiednich uprawnień sieciowych. Aby rozwiązać ten problem:
Upewnij się, że istnieje łączność sieciowa między klientem a urzędem certyfikacji (CA).
Upewnij się, że urząd certyfikacji ma uprawnienia do odczytu i zapisu atrybutu userCertificate obiektu użytkownika lub komputera jednostki żądającej certyfikatu.
Jeśli używanych jest wiele domen lub dwupoziomowa hierarchia domen (nadrzędna/podrzędna), konieczne jest nadanie grupie Wydawcy certyfikatów z jednej domeny (domeny A) uprawnień do odczytu i zapisu atrybutu userCertificate w innej domenie (domenie B). W tym celu postępuj zgodnie z procedurą w sekcji „Naprawianie błędów uprawnień międzydomenowych”.
Opublikuj certyfikat.
Aby wykonać te procedury, trzeba posiadać uprawnienie Zarządzaj urzędem certyfikacji lub otrzymać odpowiednie uprawnienia poprzez oddelegowanie.
Sprawdzanie połączenia sieciowego między klientem i urzędem certyfikacji
Aby potwierdzić poprawność połączenia klienta z urzędem certyfikacji:
Na kliencie kliknij przycisk Start, wpisz polecenie cmd, a następnie naciśnij klawisz ENTER.
Wpisz polecenie ping <serwer_FQDN>, gdzie <serwer_FQDN> jest w pełni kwalifikowaną nazwą domeny (FQDN) urzędu certyfikacji (na przykład serwer1.contoso.com), a następnie naciśnij klawisz ENTER.
W przypadku pomyślnego wykonania polecenia ping na ekranie powinna pojawić się odpowiedź podobna do następującej:
Reply from adres_IP: bytes=32 time=3ms TTL=59
Reply from adres_IP: bytes=32 time=20ms TTL=59
Reply from adres_IP: bytes=32 time=3ms TTL=59
Reply from adres_IP: bytes=32 time=6ms TTL=59 3
W wierszu polecenia wpisz polecenie ping <adres_IP>, gdzie <adres_IP> jest adresem IP kontrolera domeny, a następnie naciśnij klawisz ENTER.
Jeśli udaje się nawiązać połączenie z urzędem certyfikacji według jego adresu IP, ale nie według nazwy FQDN, może to wskazywać na problem z rozpoznawaniem nazw hostów w systemie nazw domen (DNS). Jeśli nie można nawiązać połączenia z urzędem certyfikacji według adresu IP, może to oznaczać problem z łącznością sieciową, konfiguracją zapory lub konfiguracją zabezpieczeń protokołu internetowego (IPsec).
Potwierdzanie uprawnień do kontenerów Komputery domeny i Użytkownicy domeny w usłudze Active Directory
Aby potwierdzić, że urząd certyfikacji ma niezbędne uprawnienia do kontenerów Komputery domeny i Użytkownicy domeny:
Kliknij przycisk Start, wskaż polecenie Narzędzia administracyjne i kliknij opcję Lokacje i usługi Active Directory.
W menu Widok kliknij polecenie Pokaż węzeł usług.
Dwukrotnie kliknij opcję Usługi, a następnie opcję Usługi klucza publicznego, po czym kliknij prawym przyciskiem myszy pozycję Komputery domeny i kliknij polecenie Właściwości.
Na karcie Zabezpieczenia upewnij się, że grupa Wydawcy certyfikatów ma uprawnienia do odczytu i zapisu.
Kliknij prawym przyciskiem myszy opcję Użytkownicy domeny, a następnie kliknij polecenie Właściwości.
Na karcie Zabezpieczenia upewnij się, że grupa Wydawcy certyfikatów ma uprawnienia do odczytu i zapisu.
Naprawianie błędów uprawnień międzydomenowych
Aby ustawić te uprawnienia za pomocą narzędzia Dsacls:
Kliknij przycisk Start, wpisz polecenie cmd i naciśnij klawisz ENTER, a następnie uruchom następujące polecenia:
dsacls "dc=<domenaB>,dc=<contoso>,dc=<com>" /I:S /G "<domenaA>\Cert Publishers":RP;userCertificate,user
dsacls "dc=<domenaB>,dc=<contoso>,dc=<com>" /I:S /G "<domenaA>\Cert Publishers":WP;userCertificate,user
dsacls "cn=<adminsdholder>,cn=system,dc=<contoso>,dc=<com>" /I:S /G \Cert Publishers":RP;userCertificate,user
dsacls "cn=<adminsdholder>,cn=system,dc=<domenaB>,dc=<contoso>,dc=<com>" /I:S /G "<domenaA>\Cert Publishers":WP;userCertificate,user
Zastąp teksty zastępcze <nazwa_domeny> i <com> z przykładu prawidłowymi nazwami ze swojej organizacji.
Więcej informacji znajduje się w artykule 281271 w bazie wiedzy Microsoft Knowledge Base ( http://go.microsoft.com/fwlink/?LinkID=95695).
Publikowanie certyfikatu
Aby opublikować certyfikat:
Na komputerze hostującym urząd certyfikacji kliknij przycisk Start, wpisz polecenie cmd i naciśnij klawisz ENTER.
Wpisz polecenie ping <adres_ip>, gdzie <adres_ip> to adres IP kontrolera domeny, i naciśnij klawisz ENTER, aby potwierdzić działanie połączenia sieciowego. W przypadku braku połączenia sieciowego rozwiąż problem, a następnie spróbuj ponownie.
W wierszu polecenia wpisz polecenie certutil -dspublish <cert.cer> ldap:///<lokalizacja sieciowa określona w komunikacie dziennika zdarzeń> i naciśnij klawisz ENTER. <Cert.cer> to plik certyfikatu wyeksportowany przy użyciu Kreatora eksportu certyfikatów.
Jeśli pomimo prawidłowej łączności nadal nie da się opublikować certyfikatu, skorzystaj z opcji Użytkownicy i komputery usługi Active Directory, aby upewnić się, że komputer udostępniający urząd certyfikacji ma uprawnienia do odczytu i zapisu atrybutu userCertificate obiektu użytkownika lub komputera. (Zazwyczaj wynika to z członkostwa w grupie Wydawcy certyfikatów).
Aby upewnić się, że przetwarzanie żądań certyfikatów działa poprawnie:
Kliknij przycisk Start, wpisz certmgr.msc i naciśnij klawisz ENTER.
Jeśli pojawi się okno dialogowe Kontrola konta użytkownika, potwierdź, że wyświetlana akcja jest odpowiednia, i kliknij przycisk Kontynuuj.
W drzewie konsoli kliknij dwukrotnie pozycję Osobiste, a następnie kliknij pozycję 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.2016 |
Category | EventCollection |
Enabled | True |
Event_ID | 80 |
Event Source | Microsoft-Windows-CertificationAuthority |
Alert Generate | False |
Remotable | True |
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.80" Enabled="true" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.2016" 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">80</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"/>
</WriteActions>
</Rule>