# パスキー（WebAuthn）対応確認

パスキーが使えるかは、ブラウザと端末の組み合わせで決まります。このページは、WebAuthn の API・ユーザー確認つきの認証器・条件付き UI の有無を並べ、必要なら「テスト用のパスキー」を 1 つ作って認証を試します。サーバーは使いません。

- URL: https://tools.itlibra.com/ja/passkey-webauthn-test
- 端末内で処理・アップロードなし
- 最終更新: 2026-10-26

## 使い方

1. 開くと、このブラウザ・端末の対応状況（API・プラットフォーム認証器・条件付き UI・セキュアコンテキスト）を自動で確認します。この時点では何も作られません。
2. 「テスト用のパスキーを作って試す」を押すと、この端末のパスワード管理にテスト用のパスキーを 1 つ保存します。押す前に表示される注意を読んでください。
3. 作られたパスキーの属性（attestation の形式・フラグ UP・UV・BE・BS・AT、AAGUID、鍵の種類、転送方法）を確かめます。
4. 「この認証器で認証を試す」で署名を受け取り、カウンターとユーザー確認、署名の検証結果（WebCrypto）を確かめます。
5. 不要になったら、端末やブラウザのパスワード管理からテスト用のパスキーを削除します。

## こんなときに

- 自社サイトにパスキーを入れる前に、この端末で登録と認証が通るかを確かめる
- 「パスキーが使えない」という問い合わせを、ブラウザと端末の対応状況で切り分ける
- 生体認証や PIN によるユーザー確認が働いているかを、UV フラグで見る
- WebAuthn の認証データと署名を、実際の値で読んで仕組みを学ぶ

## できること

### 対応状況を一覧

WebAuthn の API の有無、プラットフォーム認証器、条件付き UI、セキュアコンテキスト、getClientCapabilities（ブラウザが対応する場合は全項目）を表示します。

### 登録の中身を読む

CBOR を自前で読み、attestation の形式、フラグ、AAGUID、鍵の種類（COSE の alg）、転送方法を表示します。

### 署名をその場で検証

認証で受け取った署名を WebCrypto で検証し、結果を表示します。ES256 と RS256 で作られたパスキーの署名を確かめます。

### 失敗を分かる言葉で

キャンセル、時間切れ、セキュリティの制限、認証器の状態など、原因ごとに何をすればよいかを表示します。

### 何も送らない

登録と認証はこの端末の中の操作で、サーバーとの通信はありません。結果もこのページには保存しません。


## 対応状況

| 機能 | 対応 | 補足 |
| --- | --- | --- |
| WebAuthn API の有無 | 対応 | — |
| プラットフォーム認証器（生体認証・PIN）の利用可否 | 対応 | isUserVerifyingPlatformAuthenticatorAvailable() の結果 |
| 条件付き UI（パスキーの候補表示）の可否 | 対応 | isConditionalMediationAvailable() の結果 |
| getClientCapabilities の一覧 | 一部対応 | ブラウザが対応している場合だけ表示します |
| テスト用のパスキーの作成 | 対応 | この端末のパスワード管理に 1 つ保存されます |
| 作ったパスキーでの認証と署名の検証 | 対応 | ES256 と RS256（このページが登録で求める 2 種類） |
| 認証器の製品名の表示 | 非対応 | AAGUID は番号で示すだけです。製品名の一覧は持ちません |
| 登録の証明書（attestation）の検証 | 非対応 | 形式と中身を読むだけです |
| サーバーでの登録・検証の実装例 | 非対応 | サーバー側のコードは示しません |
| サーバーへの送信・サーバーでの保存 | 非対応 | すべてこの端末の中で行います |
| テスト用のパスキーの削除 | 非対応 | このページからは消せません。端末やブラウザで削除します |

## 制限・注意事項

- 1 回押すと、テスト用のパスキーが 1 つ増えます（名前は「LIBRA Works test」）。
- rp.id はこのサイトのホスト名です。別のサイトのパスキーは扱えません。
- 認証器が種類を伏せたときは、AAGUID が 0 になります。

## プライバシーと安全性

確認、登録、認証、署名の検証はすべてお使いのブラウザの中で行われ、サーバーへ送信されません。作ったパスキーは端末のパスワード管理に保存され、このページは保存しません。

## よくある質問

### パスキーに対応しているかは、どう確かめますか？

このページを開くと、WebAuthn の API、プラットフォーム認証器、条件付き UI を自動で確認します。API が無いときは、ブラウザが古いか、安全な接続（https）でないことが多い原因です。

### プラットフォーム認証器が false のときは？

端末に生体認証や画面ロック用の PIN が設定されていないか、その認証器が使えない状態です。端末の設定でロックを有効にすると、true になることがあります。

### 条件付き UI とは何ですか？

ID の入力欄に、保存されたパスキーを候補として出す仕組みです（オートフィル）。この値が true でも、サイト側の実装がなければ表示されません。

### NotAllowedError が出たら？

キャンセル、時間切れ、またはこの端末で使える認証器がないときに出ます。もう一度押して、画面の指示に従ってください。

### AAGUID とは何ですか？

認証器の種類を表す 16 バイトの ID です（W3C の仕様）。このページは製品名の一覧を持たないため、番号だけを表示します。

### テスト用のパスキーは、どう消しますか？

端末やブラウザのパスワード管理（パスキーの一覧）から削除できます。このページからは削除できません。
