HTMLのkeygenタグとは?使い方と主要属性をサンプルコード付きで解説
<keygen>タグとは
HTMLの<keygen>タグは、証明書管理システムと連携してWebフォームを処理するために用意されていた要素です。フォームが送信されると、秘密鍵はユーザーのローカル環境に保存され、公開鍵だけがサーバーへ送信される仕組みになっています。
注意:<keygen>タグはHTML5.2で廃止された要素であり、現在の主要ブラウザではサポートされていません。新規のプロジェクトでの利用は避け、本記事の内容は歴史的な仕様の理解やレガシーコードのメンテナンス時の参考としてご活用ください。
<keygen>タグの主な属性一覧
<keygen>タグには以下の属性が定義されています。それぞれの役割を表にまとめました。
| 属性 | 値 | 説明 |
|---|---|---|
| autofocus | autofocus | ページが読み込まれた際に、<keygen>要素へ自動的にフォーカスを当てることを指定します。 |
| challenge | 文字列 | 公開鍵と一緒に「PublicKeyAndChallenge」としてパッケージされるチャレンジ文字列を指定します。フォーム送信の検証に使用され、指定がない場合は長さゼロのIA5STRINGとしてエンコードされます。 |
| disabled | disabled | <keygen>要素を無効化することを指定します。 |
| form | form_id | 要素を関連付ける1つ以上のフォームを指定します。 |
| keytype | rsa dsa ec | 鍵の生成に使用する暗号アルゴリズムを指定します。 |
| name | 任意の名前 | 要素の名前を指定します。サーバー側ではこの名前をキーとして値を受け取ります。 |
<keygen>タグの使用例
以下のコードを実行すると、HTMLにおける<keygen>タグの基本的な使い方を確認できます。フォーム内に<keygen>要素を配置し、name属性とchallenge属性を設定しています。
<!DOCTYPE html> <html> <head> <title>HTML keygenタグ</title> </head> <body> <form> <keygen name = "random_key" challenge = "0987655421"> <input name = "sname" value = "学生名"> </form> </body> </html>
このように、<keygen>タグは<form>要素の中に記述するだけで動作しましたが、前述の通り現在では廃止されているため、代替手段としてクライアントサイド証明書やWeb Crypto APIなどを使用することが推奨されています。
-
HTMLのdatalistタグの使い方!入力候補リストを作成する方法
datalistタグとは?HTMLの<datalist>タグは、<input>要素に対して選択肢(候補リスト)を定義するためのタグです。テキストフィールドにユーザーが入力を始めると、あらかじめ用意された候補がドロップダウン形式で表示されるため、入力の手間を減らし、入力ミスを防ぐことができます。<datalist>タグを使用する際のポイントは以下の2点です。・<input>要素側にlist属性を指定し、その値と<datalist>要素のid属性を一致させる・選択肢は<datalist>〜</datalist>の中
-
HTMLのrequired属性とは?フォームの必須入力チェックを実装する方法
HTMLのrequired属性は、フォーム送信前にその要素(フィールド)への入力が必須であることを指定するための属性です。この属性が設定されたフィールドが空のまま送信ボタンがクリックされると、ブラウザは自動的に「このフィールドに入力してください(Please fill out this field)」というエラーメッセージを表示し、フォームの送信は失敗します。 JavaScriptを使わずに、HTMLだけで簡単なバリデーション(入力チェック)を実現できるのが大きな特徴です。 required属性を使用できる要素 required属性は、以下の3つのフォーム部品に対して使用できます。 <