Aktivieren der SSL-Unterstützung für CURL in XAMPP

8

Ich verwende ein verschlüsseltes PHP-Skript, das SSL-Unterstützung für CURL benötigt.

Ich verwende derzeit XAMPP für die lokale Entwicklung und muss wissen, wie ich die Standard-CURL aktualisieren kann, so dass SSL darüber aktiviert ist.

Der Grund, warum ich nach einem Upgrade / Support suche, ist, dass ich den folgenden Fehler erhalte, der beim googeln usw. auftritt. Ich verstehe, dass SSL für CURL auf meinem Rechner nicht unterstützt wird.

%Vor%

Wer hat bitte irgendwelche Empfehlungen für mich? Meine aktuelle lokale Serverkonfiguration:

  

XAMPP 1.7.3    cURL-Unterstützung aktiviert
cURL-Information 7.19.6
Apache-Version Apache / 2.2.14 (Win32) DAV / 2 mod_ssl / 2.2.14   OpenSSL / 0.9.8l mod_autoindex_color   PHP / 5.3.1 mod_apreq2-20090110 / 2.7.1   mod_perl / 2.0.4 Perl / v5.10.1
Geladene Module core mod_win32 mpm_winnt http_core mod_so mod_actions   mod_alias mod_asis mod_auth_basic   mod_auth_digest mod_authn_default   mod_authn_file mod_authz_default   mod_authz_groupfile mod_authz_host   mod_authz_user mod_cgi mod_dav   mod_dav_fs mod_dav_lock mod_dir   mod_env mod_headers mod_include   mod_info mod_isapi mod_log_config   mod_mime mod_negotiation mod_rewrite   mod_setenvif mod_ssl mod_status   mod_vhost_alias mod_autoindex_color   mod_php5 mod_perl mod_apreq2
SERVER_SIGNATURE Apache / 2.2.14   (Win32) DAV / 2 mod_ssl / 2.2.14   OpenSSL / 0.9.8l mod_autoindex_color   PHP / 5.3.1 mod_apreq2-20090110 / 2.7.1   mod_perl / 2.0.4 Perl / v5.10.1 Server bei   localhost Port 80
SERVER_SOFTWARE Apache / 2.2.14 (Win32) DAV / 2 mod_ssl / 2.2.14   OpenSSL / 0.9.8l mod_autoindex_color   PHP / 5.3.1 mod_apreq2-20090110 / 2.7.1   mod_perl / 2.0.4 Perl / v5.10.1

    
Stoic 09.12.2010, 08:04
quelle

3 Antworten

10

Wird auf Ihrem Computer nicht unterstützt? Der von Ihnen gepostete Fehler bedeutet, dass CURL das SSL-Zertifikat für den Remote-Server nicht überprüfen konnte und nicht unbedingt auf eine bestimmte Unzulänglichkeit Ihres Computers verweist. In meiner vorherigen Erfahrung mit CURL akzeptiert es standardmäßig keine Zertifikate. Abhängig von Ihrer Konfiguration und Ihrer geplanten Vorgehensweise können Sie einem einzelnen, selbstsignierten Zertifikat vertrauen [[Kann selbstsignierte Zertifikate nicht überprüfen!]] (z. B. von einem anderen) Computer, den Sie ausführen) oder Sie möchten einer echten Zertifizierungsstelle vertrauen (die die Überprüfung von Zertifikaten ermöglicht, die von dieser Zertifizierungsstelle signiert wurden). Dieses Tutorial ist relativ einfach, vorausgesetzt, Sie sind mit der Änderung der CURL-Einstellungen vertraut: Ссылка

Sie können Stammzertifizierungsstellen auswählen, wenn Sie diesen Pfad verwenden. Wenn Sie jedoch nur Übertragungen zwischen zwei Ihrer eigenen Computer sichern, müssen Sie CURL nur so einstellen, dass sie dem Zertifikat des anderen Computers vertrauen.

Auf der anderen Seite, wenn Sie tatsächlich ein tieferes Problem mit SSL haben, kann es aus einer Reihe von Dingen resultieren, wie zum Beispiel ohne SSL-Unterstützung. Wenn Sie Ihren eigenen Build von CURL erstellen, konfigurieren und kompilieren, sollten Sie sich Ссылка ansehen zu den Themen betreffend SSL, einschließlich

Ссылка und Ссылка

Beachten Sie im letzteren Link (FAQ), dass selbstsignierte Zertifikate NICHT verifiziert werden können. Wenn Sie eine Verbindung zu einem anderen Ihrer eigenen Server herstellen, muss das Zertifikat von einer Zertifizierungsstelle signiert werden, und das Zertifikat der Zertifizierungsstelle muss von CURL als vertrauenswürdig eingestuft werden. Es gibt kostenlose CAs, wenn Sie nur eine Signatur benötigen, oder Sie können eine eigene CA einrichten (meiner Erfahrung nach ist es nur zehn Mal einfacher, sie von jemandem signiert zu bekommen, der bereits dafür eingerichtet wurde). Wenn der andere Server eine sichere Seite hostet, die sich mit "der realen Welt" (Geld, Produkte, persönliche Informationen usw.) befasst, sollte sein Zertifikat sein oder Sie sollten es trotzdem von einer vertrauenswürdigen CA signieren lassen (VISA, Equifax, Comodo, Sie können eine Liste vertrauenswürdiger Stammzertifizierungsstellen in jedem Browser finden.)

Ich habe darauf eingegangen, was ich als Reaktion auf diesen Fehler tun kann, aber wenn das alles nicht hilft, könnten ein paar mehr Informationen über Ihre Einrichtung und Ihr System hilfreich sein. :)

    
Eaglebird 09.12.2010, 08:52
quelle
8

Eine wirklich einfache Lösung, die für mich funktionierte, war:

%Vor%

vor dem Aufruf:

%Vor%

in der PHP-Datei.

Ich glaube, dass dies alle Verifizierungen von SSL-Zertifikaten deaktiviert.

    
Chris Dutrow 12.05.2012 19:58
quelle
0

Sie sollten Ihren öffentlichen Schlüssel mit einer Zertifizierungsstelle signieren (es gibt ein Skript, das diese Dinge für Sie erledigen kann) oder Sie können eine Zertifizierungsantragsanforderung senden und diese mit Ihrer eigenen erstellten Zertifizierungsstelle oder einer freien Zertifizierungsstelle signieren. ....

Pfad für das CA.pl-Skript /usr/lib/ssl/misc/CA.pl

Dieser Befehl erstellt eine Zertifizierungsstelle, die zum Signieren Ihres Serverschlüssels benötigt wird  Der öffentliche Schlüssel dieser CA muss ebenfalls in der CA_file

enthalten sein %Vor%

erstellt einen privaten Schlüssel für den Server und eine Zertifizierungsanforderung

%Vor%

erstellt das Serverzertifikat aus dem privaten Schlüssel und der Anforderung (einschließlich des privaten CA-Schlüssels)

%Vor%     
jspeshu 09.12.2010 09:01
quelle

Tags und Links