Hallo Community...
ich habe ein etwas komplexes Problem, das sich nur schwer erklären lässt. Mein Hauptproblem ist das, dass der Fehler mutmaßlich an völlig unterschiedlichen Stellen lauern kann.
Also:
Mein Server: Apache 2.2.16 / Debian 6.0 / PHP 5.3.3
Ich möchte via PHP (file_get_contents) Daten von einer Webseite einlesen. Der Server, auf dem die Webseite läuft, verlangt eine Zertifikat-basierte Authentifizierung. Der Anbieter des Webservices hat mir hierfür ein p12-Zertifikat aus- und zugestellt, das ich ordnungsgemäß "zerlegt" habe.
Mein selbst erstellter vHost (in /etc/apache2/sites-enabled) sieht wie folgt aus:
Meine Webseiten, die auf oben genanntem Server liegen, sind nun alle über "https://" erreichbar, nachdem man bestätigt hat, dass es sich beim Zertifikat-Aussteller um keinen vertrauenswürdigen Aussteller handelt (logisch).
Mein Problem ist nun aber, dass "php_file_get_contents" (auch fopen) folgende Fehlermeldung liefert:
openssl ist definitv aktiv!
allow_url_fopen ist aktiv!
Ich kann auch problemlos andere "https://"-Seiten mit "file_get_contents" einlesen (z.B. https://www.facebook.com).
liefert:
Ich möchte also behaupten, dass PHP-seitig alles in Ordnung ist.
Ich denke nun, dass es an zwei Kanten hängen kann:
1. Das Zertifikat stimmt nicht
2. Dieser Bug: https://bugs.launchpad.net/ubuntu/+s...p5/+bug/592442
Leider weiß ich nicht, wie ich testen kann, ob das Zertifikat stimmt.
Hat jemand eine Idee?
ich habe ein etwas komplexes Problem, das sich nur schwer erklären lässt. Mein Hauptproblem ist das, dass der Fehler mutmaßlich an völlig unterschiedlichen Stellen lauern kann.
Also:
Mein Server: Apache 2.2.16 / Debian 6.0 / PHP 5.3.3
Ich möchte via PHP (file_get_contents) Daten von einer Webseite einlesen. Der Server, auf dem die Webseite läuft, verlangt eine Zertifikat-basierte Authentifizierung. Der Anbieter des Webservices hat mir hierfür ein p12-Zertifikat aus- und zugestellt, das ich ordnungsgemäß "zerlegt" habe.
Mein selbst erstellter vHost (in /etc/apache2/sites-enabled) sieht wie folgt aus:
Code:
<VirtualHost IP.0.0.0:443>
## bla bla
SSLEngine on
SSLCertificateFile /pfad/zu/meinem/server.crt
SSLCertificateKeyFile /pfad/zu/meinem/key.key
SSLCertificateChainFile /pfad/zur/certificate-kette.crt
SSLCACertificateFile /pfad/zum/austeller.crt
## bla bla
</VirtualHost>
Mein Problem ist nun aber, dass "php_file_get_contents" (auch fopen) folgende Fehlermeldung liefert:
Code:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure in /var/....php on line 4 Warning: file_get_contents(): Failed to enable crypto in /var/...php
allow_url_fopen ist aktiv!
Ich kann auch problemlos andere "https://"-Seiten mit "file_get_contents" einlesen (z.B. https://www.facebook.com).
PHP-Code:
$w = stream_get_wrappers();
echo 'openssl: ', extension_loaded ('openssl') ? 'yes':'no', "\n";
echo 'http wrapper: ', in_array('http', $w) ? 'yes':'no', "\n";
echo 'https wrapper: ', in_array('https', $w) ? 'yes':'no', "\n";
Code:
openssl: yes http wrapper: yes https wrapper: yes
Ich denke nun, dass es an zwei Kanten hängen kann:
1. Das Zertifikat stimmt nicht
2. Dieser Bug: https://bugs.launchpad.net/ubuntu/+s...p5/+bug/592442
Leider weiß ich nicht, wie ich testen kann, ob das Zertifikat stimmt.
Hat jemand eine Idee?