最終更新日

keygen要素

keygen要素は、フォーム送信時に暗号化用の鍵ペアを生成します。keygen要素が含まれたフォームが送信されると、秘密鍵はローカルに保存され、公開鍵はパッケージ化されてサーバーに送信されます。

challenge属性では、チャレンジを指定します。指定されると、鍵とパッケージ化され送信されます。

keytype属性では、暗号鍵の種類として「rsa」キーワードを指定できます。省略時の既定の設定はRSAで、不明なキーワードが指定されていたり、RSAがブラウザによりサポートされていない場合は、不明な設定となります。HTML5の仕様では、サポート可能な暗号鍵の種類については定義されていません。ブラウザによっては、どのkeytype属性もサポートしない可能性があります。

keygen要素は空要素で、終了タグはありません。Phrasingコンテンツを子にできる要素の記述箇所で使用できます。

HTML5での変更点
・keygen要素は、HTML5で追加された新しい要素です。
カテゴリ タグの省略 親要素 子要素
Flowコンテンツ
Phrasingコンテンツ
Interactiveコンテンツ
フォーム関連要素
空要素 Phrasingコンテンツを子にできる要素 なし
属性 説明
autofocus autofocus 論理属性。ページ表示時に項目がフォーカスされます。
challenge 文字列 認証の為の乱数文字列を指定します。
disabled disabled 論理属性。フォームコントロールが使用不可になります。
form ID form要素のid属性の値を指定します。
keytype キーワード 暗号鍵の種類をキーワードで指定します。初期値は「rsa」です。
name 文字列 keygen要素の名前を指定します。
グローバル属性 - -
イベント属性 - -
サンプルコード
<body>
  <p>暗号鍵を生成します。</p>
  <form action="keyprocess.cgi" method="post" enctype="multipart/form-data">
    <p><keygen name="key" keytype="rsa"></p>
    <p><input type="submit" value="公開鍵を送信"></p>
  </form>
</body>
参考文献:W3C HTML5「4.10.14 The keygen element」外部リンク
HOME