Tag Keygen en HTML5

Je suis donc tombé sur cette nouvelle balise en HTML5, . Je ne sais pas exactement à quoi ça sert, comment il est appliqué et comment cela peut affecter le comportement du navigateur.

Je comprends que cette balise est destinée au chiffrement de formulaire, mais quelle est la différence entre et un certificate SSL pour votre domaine. De plus, quel est l’atsortingbut challenge ?

Je ne prévois pas de l’utiliser car il est loin d’être implémenté dans une gamme acceptable de navigateurs, mais je suis curieux de savoir ce que fait exactement cette balise. Tout ce que je peux trouver, c’est une documentation vague sur les cookies sans véritables exemples d’utilisation.


Modifier:

J’ai trouvé un document TRÈS informatif, ici . Cela s’exécute à la fois par l’implémentation côté client et côté serveur de la balise keygen.

Je suis toujours curieux de savoir quel en serait l’avantage sur un certificate SSL de domaine.

SSL concerne “l’identification du serveur” ou “l’authentification serveur ET client (authentification mutuelle)”.

Dans la plupart des cas, seul le serveur présente son certificate de serveur lors de la négociation SSL afin que vous puissiez vous assurer que c’est bien le serveur auquel vous vous connectez. Dans certains cas, le serveur souhaite également vérifier que vous êtes réellement la personne que vous prétendez être. Pour cela, vous avez besoin d’un certificate client.

La génère une paire de clés publique / privée, puis crée une demande de certificate. Cette demande de certificate sera envoyée à une autorité de certificateion (CA). L’AC crée un certificate et le renvoie au navigateur. Vous pouvez maintenant utiliser ce certificate pour l’authentification de l’utilisateur.

Vous manquez une histoire. keygen a d’abord été supporté par Netscape alors qu’il s’agissait toujours d’un navigateur pertinent. IE, OTOH, a pris en charge les mêmes cas d’utilisation via ses API ActiveX. Opera et WebKit (ou même KHTML), ne voulant pas désosser l’intégralité de l’API Win32, au lieu de l’ingénierie inverse.

Il a été spécifié dans Web Forms 2.0 (qui a été fusionné dans la spécification HTML) afin d’améliorer l’interopérabilité entre les navigateurs qui l’ont implémenté.

Depuis lors, l’équipe d’IE a réitéré son refus de mettre en œuvre keygen , et la spécification (afin d’éviter de se transformer en science fiction sèche) a été modifiée pour ne pas nécessiter une implémentation réelle:

Remarque: Cette spécification ne spécifie pas les types de clés que les agents utilisateurs doivent prendre en charge – il est possible qu’un agent utilisateur ne prenne en charge aucun type de clé.

En bref, ce n’est pas un élément nouveau, et à moins que vous ne puissiez ignorer IE, ce n’est probablement pas ce que vous voulez.

Si vous cherchez “exactement” alors je vous recommande de lire le RFC .

L’élément keygen de créer une clé pour l’authentification de l’utilisateur tandis que SSL se préoccupe de la confidentialité des communications et de l’authentification du serveur. Citant le RFC

Cette spécification ne spécifie pas comment la clé privée générée doit être utilisée. Après réception de la structure SPKAC (SignedPublicKeyAndChallenge), le serveur doit générer un certificate client et le remettre à l’utilisateur pour le télécharger. Ce certificate, une fois téléchargé et stocké dans le magasin de clés avec la clé privée, peut ensuite être utilisé pour s’authentifier auprès des services qui utilisent l’authentification TLS et le certificate.

Obsolète

Cette fonctionnalité a été supprimée des normes Web. Bien que certains navigateurs puissent toujours le supporter, il est en train d’être supprimé. Évitez de l’utiliser et mettez à jour le code existant si possible. Sachez que cette fonctionnalité peut cesser de fonctionner à tout moment.

La source

La doc est utile pour développer ce qu’est l’élément keygen. Son exigence se trouve dans WebID, qui peut être compris comme faisant partie du Web sémantique de données liées, comme on peut le voir à l’ adresse https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/index-respec.html#creating- un certificate 2.1.1

Cela peut être utile pour les sites Web qui fournissent des services, où les gens doivent payer pour le service, comme la vidéo à la demande, ou le site Web d’actualités pour les professionnels comme Bloomberg. Avec cette clé, les gens ne peuvent regarder que le contenu de leur ordinateur et non des ordinateurs simultanés! Vous décidez comment les données sont stockées et traitées. vous pouvez spécifier un fichier .asp ou .php qui recevra les variables et votre fichier stockera cette clé dans le profil utilisateur. De cette façon, vos utilisateurs ne pourront pas se connecter depuis un autre ordinateur si vous le souhaitez. Vous pouvez les forcer à vérifier leur courrier électronique pour autoriser ce nouvel ordinateur, tout comme Steam. Fondamentalement, il permet d’individualiser l’access au service, si votre modèle de licence est par machine, comme le système d’exploitation.

Vous pouvez vérifier les spécifications ici: http://www.w3.org/TR/html-markup/keygen.html