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
könnte ein libcurl Bug sein, könnte etwas anderes sein ... –
fwiw: Ich benutze libcurl 7.42 Version. Frage mich, ob es sich um ein Versionsupgrade-Problem handelt. – Swtsvn
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. –