Jan Novak:
> wir haben ne Menge letsencrypt Zertifikate, wo wir die Gültigkeit
> prüfen, u.a. mit
>
> $stream = stream_context_create (array("ssl" =>
> array("capture_peer_cert" => true)));
> $read = fopen("https://".$sdata['domain'], "rb", false, $stream);
> $cont = stream_context_get_params($read);
> $var = ($cont["options"]["ssl"]["peer_certificate"]);
> $cert = openssl_x509_parse( $var );
>
> Leider wirft mir dieser Code seit neustem bei SSL3 Fehler, ansonsten
> funktioniert das.
Was für einen Fehler und wo genau?
> Gibt es eine elegantere Lösung, um die Laufzeit eines SSL Zertifikates
> zu überprüfen?
Nicht wirklich. Hier eine andere Lösung:
$url = "
https://www.google.com";
$orignal_parse = parse_url($url, PHP_URL_HOST);
$get = stream_context_create([
"ssl" => [
"capture_peer_cert" => true
]]);
$read = stream_socket_client("ssl://".$orignal_parse.":443", $errno,
$errstr, 30, STREAM_CLIENT_CONNECT, $get);
$cert = stream_context_get_params($read);
$certinfo = openssl_x509_parse(
$cert['options']['ssl']['peer_certificate']
);
echo '<pre>';
print_r($certinfo);
echo '</pre>';
--
Arno Welzel
https://arnowelzel.de