Zertifikatanforderung und das Zertifikat, das im Geschäft verfügbar ist, stimmt nicht überein

627
Athul k Surendran

Ich versuche, eine Verbindung zu einer API eines Drittanbieters herzustellen, für die die gegenseitige Einrichtung der TLS-Authentifizierung aktiviert ist. Ich sollte also meine Client-Zertifikate in meinem Schlüsselspeicher installieren und an den TLS-Handshake-Prozess senden. Ich habe die Zertifizierungsinstallation jetzt durchgeführt und die Serverzertifikatsanforderung lautet wie folgt

enter image description here

Und meine Zertifikateigenschaften sind dies

enter image description here enter image description here

enter image description here

Und wenn ich versuche, eine Verbindung herzustellen, erhalte ich eine Fehlermeldung wie diese bei Schannel

Der Remote-Server hat die TLS-Client-Authentifizierung angefordert, es konnte jedoch kein geeignetes Client-Zertifikat gefunden werden. Eine anonyme Verbindung wird versucht. Diese TLS-Verbindungsanforderung kann abhängig von den Richtlinieneinstellungen des Servers erfolgreich sein oder fehlschlagen.

Meine Vermutung ist also, dass die Anforderung und das verfügbare Zertifikat nicht übereinstimmen. Kann jemand bitte angeben, welche Eigenschaft auf dem Zertifikat nicht mit der Anforderung übereinstimmt?

CertUtility liefert dieses Ergebnis, wenn ich es vor der Pfx-Datei verwende, die ich habe

 ================ Certificate 0 ================ ================ Begin Nesting Level 1 ================ Element 0: Serial Number: xxxxxxxxxxxxxxxxxxxxxxx Issuer: CN=COMODO RSA Certification Authority, O=COMODO CA Limited, L=Salford, S=Greater Manchester, C=GB NotBefore: 12-02-2014 05:30 NotAfter: 12-02-2029 05:29 Subject: CN=COMODO RSA Domain Validation Secure Server CA, O=COMODO CA Limited, L=Salford, S=Greater Manchester, C=GB Non-root Certificate Cert Hash(sha1): xxxxxxxxxxxxxxxxxxxxxxxxx ---------------- End Nesting Level 1 ---------------- No key provider information Cannot find the certificate and private key for decryption.  ================ Certificate 1 ================ ================ Begin Nesting Level 1 ================ Element 1: Serial Number: xxxxxxxxxxxxxxxxxxxxxxx Issuer: CN=COMODO RSA Domain Validation Secure Server CA, O=COMODO CA Limited, L=Salford, S=Greater Manchester, C=GB NotBefore: 16-02-2018 05:30 NotAfter: 12-12-2018 05:29 Subject: CN=www.domain.com, OU=PositiveSSL, OU=Domain Control Validated Non-root Certificate Cert Hash(sha1): xxxxxxxxxxxxxxxxxxxxxxxxxx ---------------- End Nesting Level 1 ---------------- Provider = Microsoft Enhanced Cryptographic Provider v1.0 Encryption test passed CertUtil: -dump command completed successfully. 

Hinweis: Ich habe zwei Zertifikate in dieser PFX. Das Erste ist das Intermediary-Zertifikat und das zweite ist das aktuelle Zertifikat.

1
Das ist ein Serverzertifikat. Sehen Sie sich die Erweiterung zur erweiterten Schlüsselnutzung an. garethTheRed vor 6 Jahren 0
@garethTheRed Dies ist der volle Wert der EKU-Serverauthentifizierung (1.3.6.1.5.5.7.3.1) Clientauthentifizierung (1.3.6.1.5.5.7.3.2). Ich gehe also davon aus, dass sie auch als Clientzertifikat verwendet werden kann. Entschuldigung für den schlechten Screenshot Athul k Surendran vor 6 Jahren 0
Besser ist es, wenn Sie eine lokale Kopie des Zertifikats speichern und `certutil ausführen `dagegen Fügen Sie die Ausgabe in Ihre Frage ein, nachdem Sie Elemente wie Signatur und öffentlichen Schlüssel gelöscht haben, um Platz zu sparen. Sie haben es im Keystore des Benutzers (`certmgr.msc`) gespeichert, im Gegensatz zum Keystore der Maschine, oder? garethTheRed vor 6 Jahren 0
@garethTheRed Ich habe meine Frage mit den von Ihnen abgefragten Daten aktualisiert. Und ich habe bereits versucht, sowohl Aktuelle Benutzer als auch lokale Computer zu speichern (Eigentlich arbeite ich seit 10 Tagen an demselben Problem :(, Beide geben den gleichen Fehler wie in der Frage erläutert Athul k Surendran vor 6 Jahren 0

0 Antworten auf die Frage