PHPでTLS/SSL証明書の有効期間を取得

昔使ったのでメモ用に。
SNI(同じIPアドレスで複数ドメイン)に対応するためオプションを付けています。
他にも色々情報が取れますが、今回は使わないので有効期間のみです。


取り合えずwww.php.netをサンプルに取得してみます。
<?php
$host = 'www.php.net';
$port = 443;
$timeout = 5;
//
$stream_context = stream_context_create(array(
    'ssl' => array(
        'capture_peer_cert' => true,
        'max_redirects' => 0,
        'SNI_enabled'=>true,
        'SNI_server_name'=>$host,
    )
));
$resource = stream_socket_client(
    'ssl://'. $host. ':'. $port,
    $errno,
    $errstr,
    $timeout,
    STREAM_CLIENT_CONNECT,
    $stream_context
);
$cont = stream_context_get_params($resource);
$Data = openssl_x509_parse($cont['options']['ssl']['peer_certificate']);

// span
$tm_start = $Data["validFrom_time_t"];
$tm_end = $Data["validTo_time_t"];
echo date("Y-m-d H:i:s", $tm_start)." - ".date("Y-m-d H:i:s", $tm_end);
出力はこんな感じに。
  • 2021-05-18 19:04:38 – 2022-05-18 19:04:38
Facebooktwitterlinkedintumblrmail

量子アニーリングでシフト表作成

某雑誌で量子アニーリングの記事を読み興味を持ち、これを使ったなにか良いお題がないか考えた結果、シフト表を作成しようと思い立ちました。

以下のような月のシフト表に、自動で出勤日を決定できるようにします。
0が休日で、1が出勤日とします。

この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

Docker Desktop for Mac さん、API無反応で起動に失敗しがち

Docker Desktop 使ってますか?

ボクの開発環境はもうどっぷりと依存してます。
大抵の開発で必須なので動かなくなると復旧するまでなにもできなくなります。

そんな、 Docker Desktop for Mac さんですが、このところかなり頻繁にAPIが反応しない的なメッセージをよこして起動に失敗します。
そしてメッセージについてくる対処用のボタンをクリックしても無反応で Docker Desktop に対して何もできなくなります。

この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

Macの移行で復元してみたらOSが巻き戻った!けど残念…って話

開発環境に Macbook Pro の15インチを使用しつづけて結構な年月が経ちました。

(壊れたりで)数回ハードの変更はありましたが、OSを更新すると各プロジェクトの環境調整が必要になるということもあり、Mojave でOSの更新を止めてました。ハードが Big Sur 非対応ってのもありましたが。

このまま Intel Mac が滅びるまで添い遂げるつもりだったのですが、タッチパッドが死んでしまいハードを変更することになりました。なってしまいました。

Apple Sillicon なマシンで開発全てがどうにかなってる未来が来る前に!
そんな未来は来ない可能性も高いですけども(Windows も絡んでるんでなぁ)

愚痴でした。本題に入ります。

この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

SPAでのキャッシュの闇

というか自分の失敗なんですけど。
今回の話は具体的にはNuxt2系でクライアント側でキャッシュしてみてのやらかしです。ひとことで言うと

「自分でちゃんと後始末しなきゃだめ」

この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

Phaser3でスプライト画像を使う

Phaser3のサンプルは網羅的でも説明的でもなく、実際に動くものをそのまま放り込んだようなものなので詳細が無くて応用がしにくいです。
(設定の種類別に表示するでもなく、設定の中身を説明するでもなくリンクも無く、とにかく動くぞ!という感じ)

何とか動くようになるまでの経緯が以下。
この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

PostgreSQLのTRIGGER備忘録

PostgreSQLのTRIGGERは滅多に使わない>忘れてしまっていたので思い出すのを兼ねて備忘録とします。
今回はテーブルに対しての追加更新削除時のデータを、ログテーブルに丸ごと保存する例です。
この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

WSL2を入れたらVirtualBoxのゲストOSが途中でフリーズ

Windows 10のVersion 1903 Build 18362 以降ということでそろそろWSL2を入れてみるかなと
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10 こちらを参考に入れてみたところ、VirtualBox 6.1.14でゲストOSが起動途中で悉くフリーズするようになってしまったので、対処に色々とした記録です。 この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

AppSheetお試し5「合計を表示して遷移調整」

AppSheetお試し4「集計したりチャートにしたり」の続きです。

前回の最後に書いたようにすべての’出費’の合計を確認する方法がありません。
コレをどうにかします。
この投稿の続きを読む »Facebooktwitterlinkedintumblrmail

AppSheetお試し4「集計したりチャートにしたり」

AppSheetお試し3「情報表示を整える」の続きです。

前回の内容くらいまでだとかなり直感的でいい感じなんですが、これからはAppSheet先生に「どうにかなりませんかね〜」とご機嫌をうかがいつつパズルを解いていくみたいな様相になっていきます(解けるとは言っていない)
この投稿の続きを読む »Facebooktwitterlinkedintumblrmail