75 votes

Keygen balise HTML5

Je suis donc venu sur cette nouvelle balise HTML5, <keygen>. Je ne peux pas tout à fait comprendre ce qu'elle est, comment elle est appliquée, et comment il peut affecter le comportement du navigateur.

Je comprends que cette balise est de la forme de cryptage, mais quelle est la différence entre <keygen> et avoir un certificat SSL pour votre domaine. Aussi, quel est le challenge d'attribut?

Je ne suis pas l'intention de l'utiliser comme il est loin d'être mis en œuvre dans une plage acceptable de navigateurs, mais je suis curieux de savoir ce qu'est EXACTEMENT cette balise n'. Tout ce que je peux trouver est vague l'emporte-pièce, une documentation, sans réelle des exemples d'utilisation.


Edit:

J'ai trouvé un document TRÈS instructif, ici. Ce phénomène s'étend à la fois côté client et côté serveur de mise en œuvre de la keygen tag.

Je suis toujours curieux de savoir ce que le bénéfice de ce domaine certificat SSL serait.

32voto

duddex Points 266

SSL est sur "l'identification de serveur" ou "serveur ET le client d'authentification (authentification mutuelle)".

Dans la plupart des cas, seul le serveur présente son serveur de certificat au cours de la négociation SSL de sorte que vous pouvez assurez-vous que c'est le serveur que vous attendez pour vous connecter. Dans certains cas, le serveur veut aussi vérifier que vous l'êtes vraiment la personne que vous prétendez être. Pour cela, vous avez besoin d'un certificat client.

L' <keygen> balise génère une paire clé publique/privée et crée ensuite une demande de certificat. Cette demande de certificat sera remis à une Autorité de certification (CA). Le CA crée un certificat et l'envoie au navigateur. Vous êtes maintenant en mesure d'utiliser ce certificat pour l'authentification de l'utilisateur.

24voto

Ms2ger Points 7551

Il vous manque un peu d'histoire. keygen a d'abord été pris en charge par Netscape quand il était encore un navigateur. C'est à dire, otoh, que, pris en charge le même cas d'utilisation grâce à son ActiveX Api. L'opéra et WebKit (ou même KHTML), qui veulent renverser l'ensemble de l'API Win32, d'ingénierie inverse keygen à la place.

Il a été précisé dans les Formulaires Web 2.0 (qui a maintenant été intégrée dans la spécification HTML), dans le but d'améliorer l'interopérabilité entre les navigateurs qui l'ont mis en œuvre.

Depuis, l'équipe IE a réitéré leur refus de mettre en oeuvre keygen, et le cahier des charges (pour éviter de tourner en sec de la science-fiction) a été modifié pour ne pas nécessiter une mise en œuvre effective:

Remarque: Cette spécification ne pas préciser quels sont les principaux types d'agents utilisateurs sont à soutenir, il est possible pour un utilisateur l'agent ne prennent pas en charge tous types de clés à tous les.

En bref, ce n'est pas un élément nouveau, et, sauf si vous pouvez l'ignorer c'est à dire, ce n'est probablement pas ce que vous voulez.

7voto

Andrew Points 49

Si votre recherche pour "exactement" alors je vous recommande la lecture de la RFC.

L' keygen élément est pour la création d'une clé pour l'authentification de l'utilisateur, alors que le protocole SSL est préoccupé par la confidentialité de la communication et de l'authentification du serveur. Citant le RFC

Cette spécification ne précisez pas la façon dont la clé privée générée est utilisée. Il est prévu qu'après la réception du SignedPublicKeyAndChallenge (SPKAC) la structure, le serveur va générer un certificat du client et de l'offrir à l'utilisateur pour le téléchargement; ce certificat, 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 que l'utilisation de TLS et de l'authentification par certificat.

0voto

Chawathe Vipul Points 623

La doc est utile de donner des précisions sur ce qui est le keygen élément. Son exigence se pose dans WebID que peut-être fait partie de la Sémantique du Web de Données Liées comme on le voit dans https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/index-respec.html#creating-a-certificate 2.1.1

-2voto

Paulo Santos Points 17

Cela peut être utile pour les sites web qui offrent des services, où les gens ont besoin de payer pour le service, comme la vidéo à la demande, ou site web de nouvelles, pour les professionnels comme Bloomberg. Avec cette touches de gens ne peuvent que regarder le contenu de leur ordinateur et de ne pas en simultané les ordinateurs! Vous décidez de la façon dont les données sont stockées et traitées. vous pouvez spécifier une .asp ou .fichier php qui va recevoir les variables et votre fichier de magasin de clés dans le profil de l'utilisateur. De cette façon, vos utilisateurs ne seront pas en mesure de se connecter à partir d'un autre ordinateur si vous le souhaitez. Vous pouvez les forcer à vérifier leurs e-mails d'autoriser ce nouvel ordinateur, tout comme de la vapeur. Fondamentalement, il permet de personnaliser l'accès au service, si votre modèle de licence par machine, comme le Système d'Exploitation.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X