cURL PHP Richtige SSL-zwischen privat-Server mit einem selbst-signierten Zertifikat

Ursprünglich hatte ich eine Verbindung zwischen meinen 2 Servern, die mit setzen von curlopt_ssl_verifypeer auf "false" gesetzt, mit dem Gemeinsamen Namen im SSL-Zertifikat Fehler zu vermeiden. Im folgenden wird der client-code, der mit dem server verbunden, mit dem Zertifikat:

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);

Allerdings habe ich vor kurzem geändert, dieser code (setzen Sie ihn auf true) und angegeben das Computer-Zertifikat im PEM-format.

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($ch,CURLOPT_CAINFO,getcwd().'/includes/hostcert/Hostname.crt');

Dieser funktioniert großartig auf das lokale Netzwerk von einer test-Maschine, als das Zertifikat mit dem Hostnamen für eine CN. Wie kann ich setup den PHP-code, so dass es nur vertraut der hostname computer und unterhält eine sichere Verbindung.

Ich bin mir wohl bewusst, Sie können nur festlegen, CURLOPT_SSL_VERIFYHOST auf "0" oder "1" und setzen von curlopt_ssl_verifypeer auf "false", diese sind aber nicht gültig-Lösungen, wie Sie brechen die SSL-Sicherheit.

Meine /etc/hosts Datei ist wie folgt:

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost.localdomain   localhost ExampleHostName
::1             localhost.localdomain   localhost
InformationsquelleAutor TheFrack | 2012-06-05
Schreibe einen Kommentar