CTログサーバーのAPIをコマンドラインから実行するツールを作った
概要
CTログサーバーのAPIをたたくコマンドラインツールを作りました。
詳細はこちら
理由
CTログサーバーは、RFC 6962に記載されるAPIを提供しますが、 使いやすいデータ構造で結果を取得することができません。
そこで、crt.sh などのウェブサービスを使うのですが、 こちらだと、オーバースペックであったり、レートリミットにかかったり、コマンドラインとの相性はよくないので、 もう少しプリミティブにCTログサーバーと直接やりとりしたくなり、作りました。
インストール・使い方
pipenvでインストールしてください。
使い方はこんな感じ
$ ./cttool.py monitor https://ct.googleapis.com/testtube leafcrt 21805860076285651889842223030228467907313529 2020-04-11 09:26:35 2020-07-10 09:26:35 CN=Fake LE Intermediate X1 CN=www.asa2000.com leafcrt 21863690318697950353276377428808609746848419 2020-04-11 09:26:23 2020-07-10 09:26:23 CN=Fake LE Intermediate X1 CN=test-4.staging.jp.cloudfoxy.com precert 21802147377670478084527395429361876508605196 2020-04-11 09:26:24 2020-07-10 09:26:24 CN=Fake LE Intermediate X1 CN=test-5.staging.us-w.cloudfoxy.com leafcrt 21824396527907332124567728734274662635973328 2020-04-11 09:26:43 2020-07-10 09:26:43 CN=Fake LE Intermediate X1 CN=test-5.staging.jp.cloudfoxy.com leafcrt 21794684193856491727085434479490803112859831 2020-04-11 09:26:24 2020-07-10 09:26:24 CN=Fake LE Intermediate X1 CN=test.stte.rocks precert 21864516430149817248388230101943631684877583 2020-04-11 09:26:48 2020-07-10 09:26:48 CN=Fake LE Intermediate X1 CN=test-3.staging.us-e.cloudfoxy.com
jsonでも出力できます。
$ ./cttool.py monitor https://ct.googleapis.com/testtube --start 119361290 --end 119361292 --json [ { "cert_type": "precert", "issuer": "CN=Fake LE Intermediate X1", "not_valid_after": "2020-07-05 15:29:06", "not_valid_before": "2020-04-06 15:29:06", "pem": "MIIFEzCCA/ugA...(snip)...", "serial": 21863364922683214852029586752934403698349576, "subject": "CN=newguiabr.com.br" }, { "cert_type": "precert", "issuer": "CN=Fake LE Intermediate X1", "not_valid_after": "2020-07-05 15:29:03", "not_valid_before": "2020-04-06 15:29:03", "pem": "MIIEaDCCA1CgA...(snip)...", "subject": "CN=test-2.staging.us-e.cloudfoxy.com" } ]