dieses Element in den Sprachstandard übernommen.
Beispiel
Erläuterung
Mit Hilfe des Standalone-Tags
definieren Sie ein Formularelement zum Generieren eines Schlüsselpaars.
Bild 8.12: Eine mögliche Darstellungsform des
keygen
- Elements im Browser
Es gibt keine Vorschriften, ob und wie ein Browser das
keygen
-Element visualisieren soll. Die meisten Browser, die das Element kennen, bieten wie in der Abbildung eineAuswahlliste an. Auswählbar ist dabei die Länge des zu generierenden Schlüssels. Angeboten werden in der Regel zwei Einträge: 2048 (high) und 1024 (medium) . Die Zahlen bedeuten die Anzahl der Bits. Längere Schlüssel sind sicherer, können jedoch nur benutzt werden, wenn beide Endbeteiligten der Datenübertragung die entsprechende Schlüssellänge unterstützen.
Das
name
-Attribut benennt das Formularfeld. Ein serverseitiges Script, das die Daten des Formulars auswertet, kann über den Namen, den Sie in diesem Attribut vergeben, auf den übermittelten Wert des Feldes zugreifen.
Das
keytype
-Attribut bestimmt das Verschlüsselungsverfahren, das verwendet werden soll ( keytype = Schlüsseltyp).
Damit wird das RSA-Verfahren ausgewählt, genauer der RSA Signature Algorithm entsprechend RFC 3279 und RFC 2313. Da dies der Default-Wert ist, können Sie das
keytype
-Attribut auch ganz weglassen.
RFC 3279 – Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure
http://www.ietf.org/rfc/rfc3279.txt
RFC 2313 – PKCS #1: RSA Encryption Version 1.5
http://www.ietf.org/rfc/rfc2313.txt
HTML5 verlangt keine bestimmten unterstützten Verfahren von den Browsern, nennt jedoch den von Netscape auch ursprünglich so vorgesehenen Default-Wert
rsa
.
Mit dem
challenge
-Attribut können Sie eine Zeichenkette angeben, die beim Absenden des Formulars zusammen mit dem generierten öffentlichen Schlüssel an den Server übertragen wird ( challenge = hier z. B. fordern, abverlangen). Die Zeichenkette wird zur Verifizierung des Formularversands verwendet. Wenn Sie kein
challenge
-Attribut angeben, wird als Challenge-Wert ein sogenannter IA5STRING der Länge 0 verwendet.
Weitere Hinweise
Das
keygen
-Element kann weitere typische Attribute für Formularelemente erhalten:
• Das
autofocus
-Attribut für automatisches Fokussieren von Formularfeldern
• Das
disabled
-Attribut zum Ausgrauen (Deaktivieren) von Formularfeldern
• Das
form
-Attribut für Felder außerhalb von Formularen
Wenn Sie das
keygen
-Element einsetzen, sollte den Formularanwendern entweder bekannt sein, wozu das Formularelement dient und, dass es für die weitere Website-Funktionalität unerlässlich ist. Oder Sie sollten im umgebenden Text erläutern, welchen Zweck das Element hat und welche Schlüssellänge der Anwender auswählen sollte. Andernfalls ist das Element für Anwender sehr verwirrend und verhindert möglicherweise, dass Anwender das Formular ausfüllen.
Der Microsoft Internet Explorer hat das
keygen
-Element im Gegensatz zu anderen Browsern bis einschließlich Version 8.0 nicht implementiert. Der Grund hierfür ist die ablehnende Haltung von Microsoft gegen RSA. Alle übrigen Browser interpretieren das
keygen
-Element seit Langem, allerdings nicht selten entsprechend der alten Netscape-Spezifikation. Die HTML5-Spezifikation stimmt nicht in allen Details damit überein.
Referenzinformationen
Elementreferenz
:
Attributreferenz
challenge
,
Attributreferenz
keytype
,
Attributreferenz
name
:
Attributreferenz
autofocus
,
Attributreferenz
disabled
,
Attributreferenz
form
:
8.3 Eingabekontrolle und Eingabehilfe
Eine wichtige Aufgabe bei der Verarbeitung von Formulardaten besteht darin, Eingaben auf Plausibilität zu prüfen. Bislang gab es zwei Ansätze dazu: entweder vor dem Absenden eines Formulars mit Hilfe von JavaScript oder nach dem Absenden im serverseitigen Verarbeitungsscript. Die Variante vor dem Absenden versagt, wenn ein Anwender JavaScript deaktiviert hat. Deshalb führte bislang kein Weg um eine serverseitige Prüfung von Formulardaten herum.
Mit HTML5 wird ein dritter Ansatz eingeführt: die direkte Eingabekontrolle durch den Web-Browser. In HTML können dabei