certutil -ping schlägt mit 30 Sekunden Timeout fehl - was tun?

10

Der Zertifikatspeicher auf meiner Win7-Box hängt ständig. Beobachten:


C: \> 1.cmd

C: \> certutil -? | findstr / i ping
  -ping - Ping-Schnittstelle für Active Directory-Zertifikatdienste
  -pingadmin - Ping-Verwaltungsschnittstelle für Active Directory-Zertifikatdienste

C: \> setze PROMPT = $ P ($ t) $ G.

C: \ (13: 04: 28.57)> certutil -ping
CertUtil: -ping Befehl FAILED: 0x80070002 (WIN32: 2)
CertUtil: Das System kann die angegebene Datei nicht finden.

C: \ (13: 04: 58.68)> certutil -pingadmin

CertUtil: -pingadmin Befehl FEHLGESCHLAGEN: 0x80070002 (WIN32: 2)
CertUtil: Das System kann die angegebene Datei nicht finden.

C: \ (13: 05: 28.79)> setze PROMPT = $ P $ G.

C: \>

Erklärungen:

  • Der erste Befehl zeigt Ihnen, dass es –pingund –pingadminzu certutil Parameter gibt
  • Der Versuch eines Ping-Parameters schlägt mit einer Zeitüberschreitung von 30 Sekunden fehl (die aktuelle Zeit wird in der Eingabeaufforderung angezeigt).

Dies ist ein ernstes Problem. Es verschraubt die gesamte sichere Kommunikation in meiner App. Wenn jemand weiß, wie dies behoben werden kann - bitte teilen.

Vielen Dank.

PS

1.cmd ist einfach ein Stapel dieser Befehle:

certutil -? | findstr /i ping
set PROMPT=$P($t)$G
certutil -ping
certutil -pingadmin
set PROMPT=$P$G

EDIT1

Es ist mir gelungen, die einzelne Windows-API zu bestimmen , die das Problem verursacht - DsGetDcName

Laut Windbg ruft das certutil -ping es so auf:

PDOMAIN_CONTROLLER_INFO pdci;
DWORD ret = ::DsGetDcName(NULL, NULL, NULL, NULL, DS_DIRECTORY_SERVICE_PREFERRED, &pdci);

Auf meiner Workstation tritt eine Zeitüberschreitung von 30 Sekunden auf und es wird der Fehlercode 1355 zurückgegeben. Dies bedeutet, dass ERROR_NO_SUCH_DOMAIN für die angegebene Domäne kein Domänencontroller verfügbar ist oder die Domäne nicht vorhanden ist.

Auf einem anderen Computer, bei dem es sich versehentlich um einen Windows Server 2003 handelt, wird fast sofort der richtige Domänencontrollername in der zurückgegebenen DOMAIN_CONTROLLER_INFOStruktur zurückgegeben.

Die Frage ist nun, was auf meiner Workstation fehlt, damit diese API den richtigen Domänencontroller findet.

Kennzeichen
quelle

Antworten:

0

Bitte überprüfen Sie Folgendes

  1. Können Sie certutil -ping -config "cadnsname\CA logical name"von den betroffenen Hosts ausführen .
  2. Wer hat die Berechtigung, Zertifikate bei der Zertifizierungsstelle anzufordern (hat jemand authentifizierte Benutzer in Domänenbenutzer geändert)?
  3. Überprüfen Sie die DCOM-Berechtigungen, um sicherzustellen, dass authentifizierte Benutzer über die richtigen Berechtigungen für die Zertifizierungsstelle verfügen. DCOM-Berechtigungen für die DCOM-Zugriffsgruppe CA for Certificate Service:

    Zugriffsberechtigungsstufe -> Lokaler Zugriff - Zulassen, Fernzugriff - Zulassungs- und Aktivierungsberechtigungsstufe zulassen -> Fernstart - Zulassen, Fernaktivierung - Zulassen

Weitere Informationen zur Fehlerbehebung finden Sie unter der folgenden URL.

http://blogs.technet.com/b/askds/archive/2007/11/06/how-to-troubleshoot-certificate-enrollment-in-the-mmc-certificate-snap-in.aspx

Mit Naik
quelle
Es tut mir leid, meine Unwissenheit preiszugeben, aber wie kann ich den CADNS-Namen kennen? Es wäre hilfreich, wenn Sie angeben würden, wie ich den relevanten "logischen Namen cadnsname \ CA" ermitteln kann. Können Sie die von Ihnen vorgeschlagenen Schritte etwas näher erläutern? Vielen Dank.
Markieren Sie den
Leider habe ich die in dem von Ihnen angehängten Artikel beschriebenen Schritte nicht ausgeführt, da dies wahrscheinlich für Windows Server-Computer mit Zugriff auf Active Directory vorgesehen ist. Meins ist eine Windows 7-Workstation ohne solchen Zugriff.
Markieren Sie den
Ich habe die Frage weiter bearbeitet.
Markieren Sie den
certutil -adca
unbenannt