<keygen>

更新日
仕様 HTML5(HTML Living Standardでは未定義)
分類 フロー・コンテンツ / フレージング・コンテンツ / インタラクティブ・コンテンツ / フォーム関連要素リスト化サブミット可能リセット可能、再関連付け可能、ラベル付け可能) / パルパブル・コンテンツ
利用場所 フレージング・コンテンツが置ける場所
内容 無し(空要素)

この要素は廃止されました★ 参考情報としてこのページはしばらく残しておきます。

  • HTML5.1までは削除予定の要素として定義されていましたが、HTML5.2以降では廃止されました。

keygen要素は、フォームの送信時に暗号鍵(秘密鍵と公開鍵のペア)を生成します。


<keygen name="example">

属性
任意属性
name="" 部品の名前 文字列 部品を識別するための名前
keytype="" 暗号化の方式 rsa RSA暗号方式(RSAに対応している場合はこれが既定値)
challenge="" チャレンジ文字列 文字列 任意の文字列
form="" フォームとの関連付け ID名 関連付けるform要素に指定したID名
disabled 部品の無効化 disabled 値は省略可能

keygen要素を使用すると、フォームの送信時に秘密鍵公開鍵の鍵ペアが生成されます。(秘密鍵はローカルに保存され、公開鍵はサーバーに送信されることになります)

この要素に対応しているブラウザでは、鍵の長さを設定するためのフォーム部品が表示されます。(選択できる長さはブラウザにより異なります)

name属性について

name属性は、フォーム部品を識別するための名前を指定します。

この属性の値は、公開鍵とセットで送信されることになります。

<keygen name="key">

上記の場合は、key=ABCDEF ... といった感じで送信されます。

keytype属性について

keytype属性は、暗号化の方式を指定します。(しかし、指定できる値は rsa だけのようです)

  • RSA暗号方式に対応しているブラウザでは、この属性の既定値は rsa になります。
<keygen name="example" keytype="rsa">

challenge属性について

challenge属性は、公開鍵と一緒に送信する任意の文字列(チャレンジ文字列)を指定します。

<keygen name="example" challenge="abczyx">

form属性について

form属性は、そのフォーム部品をどのform要素に関連付けるかを指定します。この属性の値には、対応するform要素に指定したID名を記述します。

  • この属性は、部品をform要素の外に配置する場合に使用します。(form要素の中に配置する場合は不要です)
<p>暗号化レベル:<keygen name="key" form="example"></p>

<form method="post" action="example.cgi" id="example">
<p><input type="submit" value="送信する"></p>
</form>
  • 古いブラウザでは、この機能に対応していない場合があります。
  • form属性の使用例は、form要素のページでご覧になれます。

disabled属性について

disabled属性は、フォーム部品の無効化を指定します。

この属性が指定された部品は選択することができなくなり、データも送信されなくなります。

<keygen name="example" disabled>
旧HTMLからの変更点
  • HTML5:keygen要素が定義されました。
  • HTML5.2:keygen要素が廃止されました。

使用例


<form method="post" action="exmple.cgi">

<p>暗号化レベル:<keygen name="key"></p>

<p><input type="submit" value="送信する"></p>

</form>