# JPKI Image Verifier — 独立配布版

`.jpkiimg` の **真贋検証だけを行う、完全に独立した静的 HTML** です。
本リポジトリのメインツール（`jpki-web` / FastAPI 版）から **検証機能のみを切り出し**、
誰でも・どこでも・インストール不要で配布できる形にしてあります。

---

## 🎯 これは何？

- **`.jpkiimg` を受け取る側のための、ブラウザ単体で動く検証ツール**
- pyscard・IC カードリーダー・Python・サーバー、すべて **不要**
- HTML / JavaScript ファイル **1 つ**で完結
- 完全オフライン動作（ファイルをブラウザに読ませた後はネットワーク通信なし）

## ⚡ 使い方

### A. このフォルダをそのまま開く

```
verifier/index.html を ダブルクリック
→ ブラウザで開く
→ .jpkiimg をドラッグ&ドロップ
→ 「PDF保存 / 印刷」から A4 検証レポートとして保存
```

### B. ホスティングして配布する

GitHub Pages・Netlify・Vercel・S3 静的サイト等にこのフォルダをそのまま配置すれば、**URL を共有するだけで誰でも検証可能** になります。

```bash
# 例: GitHub Pages
git checkout main
# Settings → Pages → Source: main / verifier
# → https://<user>.github.io/jpki-web/verifier/ で公開
```

### C. メール・チャットで `index.html` を直接送る

```
「この画像が本物か確認してください」
→ index.html と .jpkiimg を一緒に送る
→ 受け取った人は index.html をブラウザで開き、.jpkiimg を D&D
```

---

## 🔒 セキュリティとプライバシー

- **ネットワーク通信なし**：ファイル読み込み後、外部サーバーへの送信は一切ありません
- **メモリ内処理のみ**：抽出された個人情報（氏名・住所等）はブラウザのタブメモリ内のみ
- **CDN 依存**：初回ロード時のみ JSZip と node-forge を jsDelivr CDN から取得します（オフライン環境では下記の同梱手順を参照）

### 完全オフライン版の作り方

```bash
cd verifier/
mkdir -p vendor
curl -L https://cdn.jsdelivr.net/npm/jszip@3.10.1/dist/jszip.min.js -o vendor/jszip.min.js
curl -L https://cdn.jsdelivr.net/npm/node-forge@1.3.1/dist/forge.min.js -o vendor/forge.min.js
```

その後 `index.html` 内の CDN URL を `./vendor/...` に書き換えれば、完全オフラインで動作します。

---

## ⚠️ 検証範囲の限界

このツールが **行うこと**：
- ZIP コンテナの構造チェック
- 内包画像の SHA-256 ハッシュ計算
- PKCS#7 分離署名による改ざん検知
- X.509 証明書からの署名者情報抽出（氏名・有効期間 等）

このツールが **行わないこと**：
- 証明書チェーン検証（J-LIS CA の信頼性確認）
- 失効確認（CRL / OCSP）
- タイムスタンプトークン（RFC 3161）検証
- 法的有効性の最終判定

**厳密な法的判定が必要な場合は、専門ツールまたは専門家へご相談ください。**

---

## 📄 検証レポート出力

検証後に **PDF保存 / 印刷** を押すと、ブラウザの印刷機能で A4 形式の検証レポートを保存できます。
レポートには検証結果、レポートID、検証日時、署名者CN、発行者、証明書有効期間、画像ハッシュが含まれます。

このPDFは士業・自治体実証・顧客説明向けの提出用控えを想定しています。証明書チェーン検証・失効確認・タイムスタンプ検証は含まれないため、厳密な法的判断ではなく一次確認レポートとして扱ってください。

---

## 🧪 テスト用サンプル

メインリポジトリの [`jpki-web`](https://github.com/highdefinitionaudiodriver/jpki-web) を使って、実機マイナンバーカードで `.jpkiimg` を生成してから本ツールで検証してください。

---

## 🤝 商用利用

- 個人・社内・士業利用は無料（MIT）
- 自治体・大規模イベント向けの **独自ホスト配布・UI カスタマイズ・ロゴ差し替え** は応相談
- 連絡先：highdefinitionaudiodriver@gmail.com

---

## 📜 仕様

検証ロジックは [`docs/SPEC.md`](../docs/SPEC.md) ※ メイン jpki-image-signer リポジトリ に準拠しています。
