Ich habe einen Apache 2-Server mit einem selbst signierten Zertifikat installiert. Mein Browser zeigt „Es funktioniert!“ an, wenn ich versuche, eine Verbindung zum Server herzustellen. Aber von einer Anwendung aus, als ich cur_easy_perform() ausgab, schlug der Aufruf mit dem Fehlercode 60 fehl: Peer-Zertifikat kann mit angegebenen CA-Zertifikaten nicht authentifiziert werden!
Überprüft der Browser wirklich das Serverzertifikat? Was muss ich als Nächstes tun, wenn ich den oben genannten Fehler vermeiden möchte?
Danke.
Antwort1
Curl verwendet die von Ihrem Betriebssystem verwalteten SSL-Zertifikate (normalerweise in /etc/ssl/certs oder /user/lib/ssl/crts), um Zertifikate zu überprüfen. Ihr Browser verwendet normalerweise seinen eigenen Zertifikatspeicher. Wenn Sie Ihrem Browser also ein Zertifikat hinzufügen, kann Curl es nicht unbedingt überprüfen.
Um das Zertifikat dem von curl verwendeten Speicher hinzuzufügen, laden Sie das Zertifikat nach /etc/ssl/certs (oder in das Verzeichnis, in dem Ihre Distribution ihre SSL-Zertifikate speichert) herunter und führen Sie c_rehash in diesem Verzeichnis aus.