証明書とAPIで見る“稼働の見える化” — 公共サービスのTLS寿命と運用ガバナンスをコードで検証する

どうも〜おかむーです!今日はちょっとインフラ寄りの話をしますよ〜
- 3行要約
- opensslや簡単なPythonで実測して、証明書切れ・SHA-1廃止などの運用リスクを見える化する!
- 改善策は自動化(ACME/Certbot)、OpenAPI公開、監視とサービスメタデータの公開だよ
結論
自治体・政府の公開データやAPIの「中身」だけでなく、TLS/認証・運用情報を機械可読で公開して運用自動化するのが最優先。エンジニア的に言うと、データが取れるかどうかはまずネットワークと証明書の健全性で決まるんですよね。
レポート本文
背景と問題意識
これ見てくださいよ:高槻市の案内に「SHA-1証明書を廃止します」との告知がありました(例: https://www2.wagmap.jp/takatsuki/Portal)。証明書更新やプロトコルの廃止はユーザー影響が出るのに、自治体によっては周知が不十分、あるいはモバイル互換性の確認が甘いことがあるんです。
さらに、政府側ではe-GovのAPIカタログ(https://www.e-gov.go.jp/digital-government/api)やデジタル庁の事例集(https://www.digital.go.jp)を整備しているものの、実運用のTLSライフサイクルやAPIメタデータ(OpenAPIなど)が常に最新とは限らない。
要するに、データが『出るかどうか』以前に『接続できるか』が第一関門ということです。
実測で見る:TLS診断の簡単コード例
エンジニア的に言うと、まずはコマンド一発で現状を拾うべき。
# TLS証明書の有効期限確認
openssl s_client -connect example.gov.jp:443 -servername example.gov.jp </dev/null 2>/dev/null | openssl x509 -noout -dates
HTTPヘッダでAPI存在確認
curl -I https://api.example.lg.jp/endpoint
Pythonで自動チェックしてSlack通知する簡易例:
import ssl, socket, datetime
host='api.example.lg.jp'
crt = ssl.get_server_certificate((host,443))
省略: pem->x509変換して有効期限を得る
これで証明書の残日数が閾値切ったらアラート出す運用を作れるんですよ。
発見した典型的な課題
- 手作業更新で証明書が期限切れになりサービス停止
- SHA-1廃止対応の遅れで古い端末が接続不能(高槻事例に類似)
- APIカタログにTLS/認証情報(証明書の指紋、サポートするTLSバージョン、CORSポリシー)が欠落
- OpenAPIやステータスマニフェストを公開していないため、利用者が互換性を自動検出できない
技術的改善提案(実装レベル)
/.well-known/service-manifest.jsonに以下を含める- endpoints (URL, TLS fingerprint, supported TLS versions)
- OpenAPI URL
- SLA/稼働時間、Contact
コード例(GitHub Actionsの疑似ワークフロー):
# .github/workflows/tls-check.yml
on: schedule: - cron: '0 0 0'
jobs:
tls-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: python tools/check_tls.py --hosts hosts.yaml
政策面のつなぎ方
総務省・デジタル庁の標準化方針(例: https://www.digital.go.jp/policies/local_governments, https://www.soumu.go.jp/)と合わせて「運用メタデータ公開」を自治体標準に入れれば、移行や監査も楽になる。要するに、基幹系の標準化と同じく“運用情報の標準化”が必要です。
まとめ
- TLS/認証とAPIのメタデータ公開は、公共データの可用性・信頼性に直結する
- 簡単なツール(openssl, curl, Python)で現状を自動診断して、CIで回すだけで事故は大幅に減る
- 政策として「運用メタデータ(証明書指紋・OpenAPI・SLA)」を公開する規定を入れよう!
おかむーから一言
テクノロジーで社会をアップデートするって言うなら、まずサービスが落ちないことを保証しよう!運用の“見える化”と自動化は、小さな投資で大きな信頼を返してくれますよ〜
情報ソース
- https://kotobank.jp/word/%E5%85%AC%E5%85%B1-494676
- https://www.intec.co.jp/column/smartcity-08.html
- https://www2.wagmap.jp/takatsuki/Portal
- https://www.digital.go.jp/resources/data_case_study_private
- https://ja.wikipedia.org/wiki/%E5%85%AC%E5%85%B1
- https://www.jichi.ac.jp/
- https://www.e-gov.go.jp/digital-government/api
- https://www.jichi.ac.jp/web_text/
- https://www.bodik.jp/project/bodik-api/
- https://www.jichi.ac.jp/library/
- https://www.digital.go.jp/policies/local_governments
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://www.allied-telesis.co.jp/netrend/govdx-sys-standard/
- https://business.ntt-east.co.jp/column/bizdrive/municipality_systemstandardization.html
- https://www5.cao.go.jp/keizai-shimon/kaigi/special/reform/wg6/2025/shiryou3-2.pdf
シェアする
関連レポート

公共予約システムの“ログインからAPI化”ロードマップ:パスワードレスで運用コストを下げる技術提案
公共施設予約の認証とデータを段階的にAPI化して運用コストを下げる技術ロードマップを紹介します。

政府データを“つなげる”発想:省庁バラバラを超えるフェデレーション戦略
フェデレーション層で省庁データをつなぎ、PDF混在を克服する実践的な技術案を示す。

政策ダッシュボードは“作るだけ”じゃダメ!KPIを自動で監査するパイプライン設計
政策ダッシュボードの数値を自動監査するパイプライン設計案。API・スキーマ・差分管理でKPIの信頼性を上げる技術手法を紹介します。