<keygen>

ブラウザ
  • Cr
  • Fx
  • O
分類 フロー・コンテンツ / フレージング・コンテンツ / インタラクティブ・コンテンツ / フォーム関連要素リスト化サブミット可能リセット可能再関連付け可能ラベル付け可能) / パルパブル・コンテンツ
利用場所 フレージング・コンテンツが置ける場所
内容
  • この機能は削除される予定になっているそうです。使用しないことをお勧め致します。

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


<keygen name="example">

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

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">

disabled属性について

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

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

<keygen name="example" disabled>

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要素のページでご覧になれます。

autofocus属性について

autofocus属性は、フォーム部品の自動フォーカスを指定します。

この属性が指定された部品は、文書の読み込み時に自動的にフォーカスされることになります。

  • この属性は、1つの文書に1つだけ指定することができます。
<keygen name="example" autofocus>

使用例

  • 動作確認のため、送信先としてHTMLファイル(現在のページ)を指定しています。

<form method="get" action="keygen.html">

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

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

</form>

表示例

暗号化レベル:

  • 暗号化レベルを高めると、鍵の生成に時間がかかる場合があります。