html keygenラベル

HTML Keygenタグについての解説

Keygenタグの定義と使用説明

<keygen> タグは、HTML5において使用されるタグの一つで、公開鍵と秘密鍵のペアを生成するためのものです。表単に用意されたフォームにて、安全にデータを送信する際に使用されます。このタグは、特定のインプットフィールドで暗号化証明書を生成するために設計されています。

ブラウザーのサポート程度

残念ながら、<keygen> タグは異なるブラウザ間でのサポートが非常に限られています。実際、多くの現代のブラウザはこのタグを非推奨としています。以下の表は主なブラウザでのサポート状況を示しています:

ブラウザー サポート状況
Google Chrome 56 以前サポート、現在は非推奨
Mozilla Firefox バージョン 69 以降非推奨
Microsoft Edge 非サポート
Safari 非サポート
Opera 非サポート

Keygenタグの属性とイベント

<keygen> タグにはいくつかの属性があります:

属性 説明
autofocus ページが読み込まれたときに自動的にフォーカスが設定される。
challenge TLS (Transport Layer Security) 接続に対する文字列の課題を提供する。
disabled フォーム要素を無効にする。
form この<keygen> タグが属するフォームのIDを指定する。
keytype 生成する鍵の種類を指定する。"rsa"(リベース)型が一般的。
name 名前を指定する。この名前が生成された公的鍵の名前になる。

なお、<keygen> タグには特定のイベントは存在しません。

コード例

以下は、<keygen> タグを使用してフォーム内で公開キーを生成する例です:

    <form action="/submit-public-key" method="post">
        <label for="public-key">公開鍵作成:</label>
        <keygen id="public-key" name="publicKey" keytype="rsa">
        <input type="submit" value="送信">
    </form>

Q&A

Q1. <keygen> タグはどのような場面で使われる?

A1. セキュリティが重要なデータ送信を行う際の暗号化証明書の生成に使われます。

Q2. <keygen> タグの代わりに何が使えるか?

A2. 現代の開発環境では、JavaScriptを使ったクライアント側の暗号化ライブラリや、WebCrypto APIが推奨されます。

Q3. なぜ <keygen> タグは現在のブラウザで非推奨とされたのか?

A3. セキュリティ上の懸念と新しいセキュリティ標準が採用されたためです。