給皮夾使用者
領一張測試卡,再出示回來
選一種常見卡片、選一位虛構持卡人,用有備而來掃描 QR Code 收下卡片。接著在同一頁把卡片出示回來,看見簽章、持有人綁定與選擇性揭露怎麼運作。
前往領卡OPEN-SOURCE OID4VCI ISSUER
輕量化發行證件,支援數位皮夾
用一批虛構的測試資料,把「發卡 → 領卡 → 出示 → 查驗」整條流程在一頁裡走完,也讓你可以一鍵建立自己的發卡服務
給皮夾使用者
選一種常見卡片、選一位虛構持卡人,用有備而來掃描 QR Code 收下卡片。接著在同一頁把卡片出示回來,看見簽章、持有人綁定與選擇性揭露怎麼運作。
前往領卡給服務提供者
從 Cloudflare 免費方案開始,部署獨立的 OID4VCI issuer:持久的 did:key、預授權碼流程、狀態清單,以及能直接驗回自己卡片的出示端點。
查看部署與整合方式COLLECT A TEST CARD
每張卡片先列出會寫進去的欄位。皮夾收到後,欄位會以選擇性揭露的形式保存,出示時可以逐欄決定給不給。
本站不在官方信任清單,所以只有開發測試版的有備而來會收下這裡的卡片。
六種日常會遇到的卡片。欄位名稱盡量對齊皮夾已知的欄位表,卡面才會用中文顯示。
六位不存在的人。任何人都可以領任何一位的卡片;這裡沒有真實身分驗證。
PRESENT IT BACK
本站同時是一個只信任自己的查驗端:它用同一把 did:key 簽署查驗請求,收到出示後驗證發卡簽章、持有人金鑰綁定、nonce、audience 與狀態清單。這證明卡片是完整的,不代表其他人應該接受它。
每種卡片只要求其中幾個欄位,皮夾會逐欄詢問是否揭露。
TRUST LIST
皮夾與查驗端都以數位發展部的 DID 清單決定「這張卡是誰發的、要不要收」。下表即時讀取官方 API;本站的 did:key 列在最上方,並誠實標示它不在清單上、又被誰接受。
| 機構 | 登記端點 | DID | 鏈上紀錄 |
|---|---|---|---|
| 正在讀取官方信任清單… | |||
FOR DEVELOPERS
公開 repo 包含 Cloudflare Worker、三個 Durable Objects、OID4VCI 端點、狀態清單、出示查驗端點、部署 skill 與可直接交給 coding agent 的 prompt。第一次啟動時會在自己的 Durable Object 產生 P-256 did:key。
ONE-CLICK DEPLOY
按下後連接 GitHub、選 Cloudflare 帳號並開始部署。部署完成後開啟網址就能發測試卡;要讓皮夾收下,還需要把新站的 did:key 與主機名稱釘進皮夾的信任例外。
Deploy to CloudflareAGENT SKILL
Skill 會先確認新部署或既有服務整合,再處理自訂網域、皮夾端的信任釘定、測試與真機驗收邊界。
開啟部署 skillEMBED WITH API
讀取 GET /api/catalog,以 POST /api/offers 建立領卡 QR,再由一次性 WebSocket 得知皮夾何時收下。要換成自己的卡種與資料來源,改 src/catalog.ts。
PAIRED VERIFIER
同一組人維護的開源查驗端。它對政府卡只信任官方 DID API,所以會拒絕本站的測試卡;這是設計,不是缺陷。要驗自己的卡,請 fork 後明確加入信任政策。
開啟請出示皮夾COPYABLE PROMPT
請使用 https://github.com/mashbean/twdiw-vc-issuer-lite,幫我把「請收下卡片」部署到 Cloudflare Workers。保留 Durable Object 內的 issuer did:key;只發行 src/catalog.ts 裡的虛構測試資料,不要接進任何真實個資來源。完成測試、typecheck、dry-run 與公開網址檢查後,回報新站的 did:key 與主機名稱,讓我釘進皮夾的信任例外;真實皮夾的跨裝置領卡與出示列為獨立驗收步驟。開啟完整 prompt 與可填參數
發卡端實作 OpenID for Verifiable Credential Issuance 的預授權碼流程(credential offer by reference、token、credential,proof 為 openid4vci-proof+jwt)。卡片格式採台灣 TWDIW 現行方言:SD-JWT 包在 W3C vc 內,發行者與持有人都用 did:key(jwk_jcs-pub)。出示端與請出示皮夾相同,同時送出 Presentation Exchange 與 DCQL。這不代表已通過 OpenID Foundation conformance certification。
Q&A
只能用來測試。卡片上的人不存在,發卡機構也不存在。它們能讓你在皮夾裡看到卡面、練習出示與選擇性揭露,並在本頁的出示測試驗回來;任何真實服務都不應該接受它們。
官方皮夾與請出示皮夾都以數位發展部的 DID 信任清單決定發行者可不可信,本站刻意不在清單上。有備而來的開發測試建置以一條明確的沙盒例外釘住本站的 did:key 與主機名稱,Release 建置不包含這條例外。
不保存卡片。Durable Object 只在 10 分鐘內暫存這次領卡選了哪張卡、哪位虛構持卡人、預授權碼與 nonce;皮夾收下後立即刪除。發出去的卡片只存在皮夾裡,以及建立領卡的那個瀏覽器分頁。
示範站不接受輸入。自行部署時可以改 src/catalog.ts 換成自己的卡種與資料來源;一旦接進真實個資,就要另外處理告知、合法事由、保存期限與撤銷,不在示範站的範圍內。
每種卡片有自己的效期,寫在 exp 與 expiry_date。每張卡都佔用 StatusList2021 狀態清單的一個位置,查驗端會讀取 /status/1;目前示範站沒有撤銷操作介面,所有位置都是有效。
不是。這是獨立維護的開源實作,用於研究、測試與快速建立發卡服務,與數位發展部及各發卡機關沒有隸屬關係。
ECOSYSTEM