Il y a un nouvel élément * keygen
dans la spécification html5 . Il est pris en charge dans les principaux navigateurs, à l'exception d'Internet Explorer et de Safari.
Voici à quoi ça ressemble:
<form action="processkey.cgi" method="post" enctype="multipart/form-data">
<p><keygen name="key"></p>
<p><input type=submit value="Submit key..."></p>
</form>
Les implémentations actuelles prennent uniquement en charge RSA en tant qu'attribut keytype
.
Maintenant ma question, quelles choses utiles puis-je en faire? C'est pour quoi?
*: pas vraiment
L'utilisation évidente est l'authentification du client. Il peut être utilisé pour améliorer la sécurité en combinaison avec une phrase de passe ou une carte à puce, ou pour remplacer facilement la saisie d'un mot de passe.
WebID single sign on protocol est une proposition intéressante dans ce contexte.
Le principal problème avec les certificats clients est qu'ils sont liés au navigateur. Donc, si vous êtes sur un autre ordinateur, vous n'y avez pas accès sauf si vous avez pris des précautions.
Je pense qu'il pourrait être utilisé pour atténuer le détournement de session. Un serveur pourrait authentifier un client, puis avant de recevoir des données d'un client, le serveur pourrait effectuer une vérification sur le client. La spécification vous permet également de générer une clé publique et un défi. Avant de soumettre des informations importantes dans un formulaire, il serait bien de pouvoir réauthentifier le serveur.
Le but de l'élément est de fournir un moyen sécurisé d'authentifier les utilisateurs. La balise spécifie un champ générateur de paire de clés dans un formulaire. Plus d'informations peuvent être trouvées ici http://www.w3schools.com/html/html5_form_elements.asp