Element-Referenz
HTML 5 doctype - weil html einfach einfach ist.
nach oben

<keygen>NEU

Für eine sichere Datenübertragung von Formulardaten definiert die HTML5 Spezifikation das neue <keygen> Element, mit dessen Hilfe ein kryptografisches Schlüsselpaar generiert wird. Der Browser erstellt einen sogenannten Signed Public Key and Challenge (SPKAC), also ein Schlüsselpaar aus privatem und ein öffentlichen Schlüssel.

Der so erzeugte private Schlüssel verbleibt im lokalen Speicher des Benutzers und der öffentliche Schlüssel wird gemeinsam mit den restlichen Formulardaten an die im action-Attribut des Formulars angegebene Adresse übertragen. Die übermittelten Formulardaten werden also nicht verschlüsselt zum Server übermittelt!

Browser, die das <keygen> Element unterstützen, bieten eine Auswahlliste mit der Länge (Anzahl Bits) des zu generierenden Schlüssels an. Schlüssel mit mehr als 2048 Bits (high) sind zwar sicherer, können jedoch nur genutzt werden, wenn beide Empfänger und Sender die entsprechende Schlüssellänge auch unterstützen.

elementspezifischen Attribute
AttributBeschreibung
autofocusBeim Laden der Seite direkt auf Keygeneingabe fokkusieren
challengeZeichenkette zur Verifizierung des Schlüssels
disabledKeygeneingabe deaktivieren
formKeygeneingabefeld bestimmten Formular zuweisen
keytypeVerwendeter Verschlüsselungsalgorithmus
nameName des Keygeneingabefeldes

Das Attribut challenge definiert eine Zeichenkette, die beim Absenden des Formulars zusammen mit dem generierten öffentlichen Schlüssel an den Server übertragen wird und verifiziert die übermittelten Formulardaten.

Das Attribut keytype definiert das anzuwendende Verschlüsselungsverfahren, die HTML5 Spezifikation definiert für die Browser keine zu unterstützenden Verfahren, nennt jedoch den ursprünglich von Netscape vorgesehenen Default-Wert rsa. Dementsprechend wird der RSA Signature Algorithm entsprechend der Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) ProfileRFC 3279 und RFC 2313 - PKCS #1: RSA Encryption Version 1.5RFC 2313 als Verfahren definiert. Bei Nutzung des RSA-Verfahrens kann somit das Attribut keytype auch weggelassen werden, da dies durch den Default-Wert definiert ist.

Das Attribut name definiert das Formularfeld, sodass ein serverseitiges Script, welches die Daten des Formulars entgegennimmt, auf den übermittelten Wert des Feldes zugreifen kann.

Beispiel:

//<!-- Formular -->
<form action="/form.cgi" method="post" enctype="multipart/form-data">
//<!-- Keygeneingabefeld mit RSA-Algorithmus -->
<p><keygen name="key" challenge="121324253637" keytype="rsa"></p>
//<!-- Submit Button des Formulars -->
<p><input type="submit" value="absenden"></p>
</form>

Beispiel:


Das <keygen> Element wurde bereits Mitte der 90er Jahre mit Netscape 3.0 (SPKIInformationBedeutung: SPKISimple Public Key Infrastructure) eingeführt, gehörte jedoch nie zum HTML-Standard.


Notation

<keygen [Attribute] />

Elternelemente

Kann gemäß der HTML5 Spezifikation innerhalb der folgenden Elemente vorkommen:

zum <form> Element<form> .


Elementinhalt

void-Element, darf keinen End-Tag haben und ist ohne Inhalt.


Attribute

Kann folgende elementspezifische Attribute enthalten:
zum HTML5 Attribut autofocusautofocus | zum HTML5 Attribut challengechallenge | zum HTML5 Attribut disableddisabled | zum HTML5 Attribut formform | zum HTML5 Attribut keytypekeytype | zum HTML5 Attribut namename

Des Weiteren kann das Element folgende allgemeinen Attribute und Event-Handler enthalten:
zum HTML5 Attribut accesskeyaccesskey | zum HTML5 Attribut classclass | zum HTML5 Attribut contenteditablecontenteditable | zum HTML5 Attribut contextmenucontextmenu | zum HTML5 Attribut datadata | zum HTML5 Attribut dirdir | zum HTML5 Attribut draggabledraggable | zum HTML5 Attribut hiddenhidden | zum HTML5 Attribut idid | zum HTML5 Attribut itemitem | zum HTML5 Attribut itempropitemprop | zum HTML5 Attribut langlang | zum HTML5 Attribut spellcheckspellcheck | zum HTML5 Attribut stylestyle | zum HTML5 Attribut subjectsubject | zum HTML5 Attribut tabindextabindex | zum HTML5 Attribut titletitle

onabort | onblur | onchange | onclick | oncontextmenu | ondblclick | ondrag | ondragend | ondragenter | ondragleave | ondragover | ondragstart | ondrop | onfocus | onformchange | onforminput | oninput | onkeydown | onkeypress | onkeyup | onmousedown | onmousemove | onmouseout | onmouseover | onmouseup | onmousewheel | onscroll | onselect | onsubmit


W3C Logo Spezifikation

Tastaturkürzel