HTML <keygen>-Tag
Die <keygen>-Tag ist eines der HTML5-Elemente. Es ist für die Generierung eines Schlüsselpaars (öffentlich und privat) verantwortlich, das zum Verschlüsseln und Entschlüsseln von Daten verwendet wird, die beim Absenden eines HTML-Formulars an den Server gesendet werden. Der öffentliche Schlüssel wird zusammen mit den Formulardaten an den Server gesendet, während der private Schlüssel das Gerät des Benutzers niemals verlässt und vom Browser oder dem Schlüsselbund des Betriebssystems verwaltet wird.
Sein Hauptzweck war die Formularverschlüsselung und Authentifizierung, nicht digitale Signaturen.
Das <keygen>-Element ermöglicht es dem Benutzer, aus einer Reihe von Schlüsselgrößenoptionen zu wählen und anzugeben, wo der Schlüssel generiert werden soll, z. B. auf einer Smartcard oder in einer auf der Festplatte gespeicherten Software. Diese Funktion funktioniert sowohl mit kryptografischer Hardware als auch mit der standardmäßigen softwarebasierten Schlüsselgenerierung.
Syntax
Das <keygen>-Tag wird in den <form>-Container eingefügt; das schließende Tag ist nicht erforderlich. In XHTML muss das <keygen>-Tag jedoch selbstschließend sein (<keygen />).
Beispiel für das HTML <keygen>-Tag:
HTML <keygen>-Tag
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<form action="/form/submit" method="post">
<keygen name="rsaPublicKey" keytype="rsa">
User’s name:
<input type="text" name="usr_name" />
<input type="submit" />
</form>
</body>
</html>Ergebnis

Browserunterstützung
- Chrome, Edge, Firefox, Safari, Opera: Veraltet und entfernt. Alle großen Browser haben die Unterstützung für
<keygen>im Jahr 2021 aufgrund von Sicherheits- und Usability-Bedenken eingestellt. - Mobile Browser: Nicht unterstützt.
DANGER
Beachten Sie, dass das '<keygen>'-Tag in HTML5 veraltet ist und nicht verwendet werden sollte. Es wird stattdessen empfohlen, andere Authentifizierungsmethoden wie OAuth oder OpenID zu verwenden.
Attribute
| Attribut | Wert | Beschreibung |
|---|---|---|
| autofocus | autofocus | Legt fest, dass das Element beim Laden der Seite automatisch den Fokus erhält. Wird in IE und Firefox nicht unterstützt. |
| challenge | Zeichenkette | Definiert einen Challenge-String, der zusammen mit dem öffentlichen Schlüssel gesendet wird. Fehlt dieser, wird standardmäßig eine leere Zeichenkette verwendet. |
| disabled | disabled | Gibt an, dass das <keygen>-Element deaktiviert sein muss. |
| form | form_id | Ordnet das Element einem bestimmten Formular über dessen ID zu. Wird in IE nicht unterstützt. |
| keytype | rsa, dsa, ec | Definiert den Schlüsselverschlüsselungsalgorithmus. rsa ist der einzige offiziell standardisierte Wert. dsa und ec wurden nie standardisiert und hatten inkonsistente Browserunterstützung. rsa (Standard) bietet hohe/mittlere Sicherheit. dsa ermöglicht die Auswahl der Schlüsselgröße. ec bietet hohe/mittlere Sicherheit. |
| name | Zeichenkette | Definiert den Namen des <keygen>-Elements. |
Das <keygen>-Tag unterstützt die Globalen Attribute und die Ereignisattribute.
Praxis
Was gilt über das HTML <keygen>-Tag?