thomas: SSL Expire per PHP auslesen?

ich versuche mich seit ein paar tagen mit einem script, welches das verfallsdatum von ssl zertifikaten auslesen soll.

bisher dachte ich, man könnte es per Funktion stream_get_meta_data() auslesen, allerdings beinhaltet dies keinerlei SSL daten.

codebeispiel:

$url = 'https://domain.tld';
$fp = fopen($url, 'r');
foreach($meta_data['wrapper_data'] as $metaContentZeile)
{
echo "<br>".$metaContentZeile;
}

ausgabebeispiel:

HTTP/1.1 200 OK
Date: Tue, 01 Apr 2008 15:31:45 GMT
Server: Apache/1.3.27 (Linux/SuSE) mod_ssl/2.8.12 OpenSSL/0.9.6i
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Content-Type: text/html

Dies ist allerdings nicht das SSL Datum. hat jemand eine idee?

  1. Moin!

    ich versuche mich seit ein paar tagen mit einem script, welches das verfallsdatum von ssl zertifikaten auslesen soll.

    bisher dachte ich, man könnte es per Funktion stream_get_meta_data() auslesen, allerdings beinhaltet dies keinerlei SSL daten.

    Vermutlich scheitert es einfach daran, dass du mit PHP keinen Zugriff auf die SSL-Kapselung der HTTP-Kommunikation hast.

    Zumindest macht dein Codebeispiel da keinerlei Anstalten, auch nur im Ansatz irgendwie mit der SSL-Schicht zu kommunizieren, da wird nur Nutzdatentransfer per HTTPS gemacht.

    Wie kompliziert oder einfach es ist, das SSL-Zertifikat abzufragen und dann dessen Gültigkeitsdauer zu ermitteln, kann ich nicht abschätzen, da ich mich damit noch nicht beschäftigt habe. Ansatzpunkt wäre, wenn überhaupt, die SSL-Einbindung von PHP.

    Alternativ: Nagios als allgemeiner Alles-Monitor kann auch SSL-Zertifikate auf Ablauf checken - neben diversen anderen Dingen auch. Das zugehörige Check-Programm heißt "check_http" und ist eierlegende Wollmilchsau für alles, was irgendwie mit HTTP zusammenhängt (wenn man passende Parameter übergibt).

    - Sven Rautenberg

    --
    "Love your nation - respect the others."