フォーム送信時の鍵ペアを生成するには?
keygenタグの書式
keygenタグに対応しているブラウザ
※Windows 7上で動作確認を行っています。
※ブラウザの設定より、異なる挙動をする場合があります。
keygenタグの属性一覧
属性 | 内容 |
グローバル属性 | ※グローバル属性のページを参照してください。 |
challenge | 公開鍵と合わせて送信されるチャレンジ情報(文字列)を指定します。 |
keytype | 鍵ペアを生成する方式を指定します。指定しない場合、「rsa」となります。 |
autofocus | ページを表示した際に、自動的にフォーカスを当てる場合に指定します。 この属性を有効にするには 「autofocus」 「autofocus="autofocus"」 「autofocus=""」 のいずれかを指定します。 |
name | キーの名前を指定します。ブランクの値を指定する(空にする)ことはできません。 |
disabled | コントロールを無効にする場合に指定します。 この属性を有効にするには 「disabled」 「disabled="disabled"」 「disabled=""」 のいずれかを指定します。 |
form | <keygen>と関連付けるフォームの「id」属性の値を指定します。 |
keygenタグの解説
<keygen>タグは、鍵ペア(キーペア)を生成するための要素です。
鍵ペアとは、暗号化方式の一種である「公開鍵暗号方式」でフォームを送信する際に使用される「秘密鍵」と「公開鍵」をまとめた呼び方です。
<keygen>を指定すると、鍵ペアを生成するための部品(コントロール)が表示されます。
コントロールと関連するフォームが送信されると、コントロールで生成する秘密鍵がローカルに保存され、パッケージされた公開鍵がサーバーに送信されます。
<keygen>には終了タグがありません。<keygen>を記述する際、開始タグのみを記述します。
また、<keygen>を<label>と関連付けて使用する場合、「id」属性には<label>の「for」属性と同じ値を指定してください。
keygenタグのサンプルソース1
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>サンプル1</title>
</head>
<body>
<section>
<h1>メッセージ送信</h1>
<p>メッセージ欄を入力してください。</p>
<form action="sample1.cgi" method="post" enctype="multipart/form-data">
<p>メッセージ:<input type="text" name="message"></p>
<p>キー:<keygen name="key" keytype="rsa" autofocus></p>
<p><input type=submit value="送信"></p>
</form>
</section>
</body>
</html>
keygenタグのサンプル画面1
keygenタグのサンプルソース2
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>サンプル2</title>
</head>
<body>
<section>
<h1>個人情報について</h1>
<p>個人情報を入力してください。</p>
<form id="form2" action="sample2.cgi" method="post" enctype="multipart/form-data">
<p>名前:<input type="text" name="username"></p>
<p>年齢:<input type="text" name="age"></p>
<p>住所:<input type="text" name="address"></p>
<p><input type=submit value="送信"></p>
</form>
<keygen name="key" form="form2" challenge="challenge string" disabled>
</section>
</body>
</html>
keygenタグのサンプル画面2
keygenタグの関連項目