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. セキュリティ上の懸念と新しいセキュリティ標準が採用されたためです。