Quantcast
Channel: Server Support Forum
Viewing all articles
Browse latest Browse all 7443

Client-Server-Auth schlägt fehl (komplexes Problem)

$
0
0
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:

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>

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:

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
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).

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"

liefert:

Code:

openssl: yes http wrapper: yes https wrapper: yes
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?

Viewing all articles
Browse latest Browse all 7443