TOP ▲ itcore TOP プログラムパーツ

uSSLgetKigen SSL有効期限を取得する。 | itcore 2019年

PHP

PHP TOP

関数

<?php
function uSSLgetKigen($server) {
  $timeout = 5;
  $kigen = "";
  $remote_socket = "ssl://$server:443";
  $resource_context = stream_context_create(array('ssl' => array('capture_peer_cert' => true)));
  $fp = stream_socket_client($remote_socket ,$errno, $errstr, $timeout , STREAM_CLIENT_CONNECT, $resource_context);
  if (!$fp) {
    echo "errno=$errno $errstr\n";
  } else {
    $cert  = stream_context_get_params($fp);
    //var_dump($cert);
    $ssl = openssl_x509_parse($cert['options']['ssl']['peer_certificate']);
    //var_dump($ssl);
    //echo "CN=".$ssl['subject']['CN']."\n";
    $kigen = date('Y/m/d', $ssl['validTo_time_t']);
    return $kigen;
  }
}
?>

テストプログラム

<?php include_once "uSSLgetKigen.func"; ?>
<?php
// 20191021 SSL有効期限を取得する。
$server = "www.itcore.jp";
echo "$server ".uSSLgetKigen($server)."\n";
?>

実行結果

www.itcore.jp 2021/05/29