Zum Inhalt springen

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

html
<!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

Beispiel für das keygen-Tag

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

AttributWertBeschreibung
autofocusautofocusLegt fest, dass das Element beim Laden der Seite automatisch den Fokus erhält. Wird in IE und Firefox nicht unterstützt.
challengeZeichenketteDefiniert einen Challenge-String, der zusammen mit dem öffentlichen Schlüssel gesendet wird. Fehlt dieser, wird standardmäßig eine leere Zeichenkette verwendet.
disableddisabledGibt an, dass das <keygen>-Element deaktiviert sein muss.
formform_idOrdnet das Element einem bestimmten Formular über dessen ID zu. Wird in IE nicht unterstützt.
keytypersa, dsa, ecDefiniert 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.
nameZeichenketteDefiniert den Namen des <keygen>-Elements.

Das <keygen>-Tag unterstützt die Globalen Attribute und die Ereignisattribute.

Praxis

Was gilt über das HTML <keygen>-Tag?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.