2016-03-22 10 views
0

Ich benutze CURLOPT_PINNEDPUBLICKEY, um das Zertifikat anzuheften. Ich setze auch CURLOPT_SSL_VERIFYPEER auf 1 und CURLOPT_SSL_VERIFYHOST, wie in den Dokumenten erwähnt.CURLOPT_PINNEDPUBLICKEY nicht wirksam

Ich nahm die Zertifikatsdatei des Zielservers und erstellt sha256 base64 string wie in curl docs für CURLOPT_PINNEDPUBLICKEY erwähnt. Wenn Sie die gültige Zeichenfolge als "sha256 // sddgdSDFSQWbGGRFr9rugEih7jghJwjj0xqcvbo =" festlegen, oder wenn Sie nur wenige Zeichen in dieser Zeichenfolge ändern und sie als PINNEDPUBLICKEY festlegen, führt dies dazu, dass der Aufruf "curl" erfolgreich ist. Ich habe erwartet, dass ungültiger sha Fehler CURLE_SSL_PINNEDPUBKEYNOTMATCH verursacht. Aber es tat es nicht.

Ich habe das Zertifikat vom Chrome-Browser gespeichert, um die Datei und PEM-Datei, und gab den Pfad zum curl opt PINNEDPUBLICKEY. Noch gültiger Schlüssel und ungültiger Schlüssel führen beide zum Erfolg.

Sollte eine ungültige Zeichenfolge einen Fehler ergeben? Ich bin mir nicht sicher, ob PINNEDPUBLICKEY funktioniert oder nicht. Kann mir etwas fehlen? Irgendwelche Eingaben wären sehr hilfreich.

Dank

+0

könnte ein libcurl Bug sein, könnte etwas anderes sein ... –

+0

fwiw: Ich benutze libcurl 7.42 Version. Frage mich, ob es sich um ein Versionsupgrade-Problem handelt. – Swtsvn

+0

Sie können dies stattdessen in die Curl-Bibliotheksliste aufnehmen. Die Funktionalität (unter Verwendung eines falschen fixierten Schlüssels) wird in dem Curl-Test 2035 verifiziert. –

Antwort

0

Lösung für mein Problem: Ich musste meine curl Bibliothek 7,42-7,48 aktualisieren. Das behob das Problem und lieferte den richtigen Fehlercode, den ich für einen falschen öffentlichen Schlüssel erwartete.

Verwandte Themen