Le tag <keygen> est responsable de la génération d'une paire de clés (publique et privée) utilisée pour chiffrer et déchiffrer les données de formulaire et pour créer et vérifier une signature numérique. La clé publique est envoyée au serveur avec les données du formulaire et la clé privée est stockée sur le périphérique de l'utilisateur local.

L'élément <keygen> donne à l'utilisateur la possibilité de choisir parmi une gamme d'options de taille de clé et également de choisir où générer la clé, par exemple dans une carte à puce ou dans un logiciel et stockée sur disque, mais cela n’est possible que si le navigateur de l’utilisateur prend en charge le matériel cryptographique.

Syntaxe

Le tag <keygen> est placé dans le conteneur <form>. Le tag fermant n’est pas requis.

Exemple

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <form action="demo_keygen.asp" method="get">
      <keygen name="rsaPublicKey" keytype="RSA">
      Nom de l'utilisateur: <input type="text" name="usr_name">
      <input type="submit">
    </form>
  </body>
</html>

Résultat

keygen

Support de navigateur

  • Options dans Chrome et Opera sur le moteur: 2048 (haut degré), 1024 (moyen). Dans le navigateur Opera, les options du moteur Presto sont disponibles 1024, 1280, 1536, 1792, 2048, 2304, 2560, 2816, 3072, 3328, 3584, 3840 et 4096.
  • Options dans Safari 5: 2048 (haut degré), 1024 (moyen), 512 (bas)
  • Options dans Firefox et Android: degré élevé, degré moyen.

Attributs

Attribut Valeur Description
autofocus autofocus Spécifie que lorsque la page est chargée, l'élément doit recevoir automatiquement le focus.
Non supporté en IE et Firefox.
challenge challenge Définit une chaîne d'appel transmise avec la clé publique. La valeur de l'attribut est une chaîne de texte. Si l'attribut n'est pas spécifié, une chaîne vide est utilisée par défaut.
disabled disabled Indique, que l’élément <keygen> doit être désactivé.
form form_id Spécifie l'identificateur du ou des formulaires auxquels appartient l'élément <keygen>.
Non supporté en IE.
keytype Définit l'algorithme de chiffrement de clé.
rsa - l'utilisateur peut choisir entre protection élevée et moyenne (valeur par défaut).
dsa - l'utilisateur peut choisir la taille de la clé.
ec L’utilisateur peut choisir entre une protection élevée ou moyenne.
name name Spécifie le nom de l'élément<keygen>.

Le tag <keygen> supporte également les Attributs globaux et les Attributs d'événements.

Support de Navigateurs

chrome firefox safari opera
1+ 1+ 1.2+ 3+

Pratiquez vos connaissances

Quel est l'usage du tag <keygen> en HTML ?
Trouvez-vous cela utile?