Présentation de l'utilisation et des attributs de la balise keygen, un nouvel élément de formulaire en HTML5 Cet article présente principalement la définition, l'utilisation et la description des attributs de la balise keygen html5, ainsi qu'une explication des avantages et des inconvénients du html5. balise keygen
Définition et utilisation de la balise keygen html5 : La balise
spécifie le champ générateur de paire de clés utilisé pour le formulaire.
Lorsque le formulaire est soumis, la clé privée est stockée localement et la clé publique est envoyée au serveur.
Exemple de balise HTML5 :
Formulaire avec champ keygen :
<form action="demo_keygen.asp" method="get">
Username: <input type="text" name="usr_name" />
Encryption: <keygen name="security" />
<input type="submit" />
</form>
Attributs de la balise keygen html5 :
Introduction aux avantages et inconvénients de la balise keygen html5 :
Tout d'abord, la balise tag générera une clé publique Et la clé privée, la clé privée sera stockée localement et la clé publique sera envoyée au serveur. Alors à quoi servent les clés publiques/privées générées par la balise De nombreux amis penseront probablement au cryptage asymétrique lorsqu'ils verront la clé publique/clé privée. Oui, la balise joue ici le même rôle. Ce que la balise
attend, c'est qu'après avoir reçu l'arrangement SPKAC (SignedPublicKeyAndChallenge), le serveur génère un certificat client (Client Certificate), puis le renvoie au navigateur pour que l'utilisateur puisse le télécharger et enregistrez-le localement. Ensuite, lorsque l'utilisateur a besoin d'une vérification, il utilise la clé privée et le certificat stockés localement pour vérifier sur le serveur via le protocole de transmission sécurisé TLS/SSL.
Voici les avantages de l'utilisation de la balise :
L'un est qu'elle peut améliorer la sécurité lors de la vérification ; 🎜>
- En même temps, s'il est utilisé comme certificat client, il peut améliorer la défense contre les attaques MITM
- Le tag keygen est ; implémenté dans tous les navigateurs et est très simple à mettre en œuvre
- De plus, il n'est pas nécessaire de prendre en compte les droits d'administrateur du système d'exploitation. Par exemple, le système d'exploitation définit différentes autorisations de navigateur pour différents utilisateurs. IE ou d'autres navigateurs peuvent désactiver la génération de clé dans les paramètres. Dans ce cas, vous pouvez utiliser la balise keygen pour générer et utiliser des certificats clients sans erreur.
Il existe de nombreuses lacunes dans les balises : (comme les dix suivantes)
- Certificat ( Certificats) n'est ni simple ni pratique dans différents systèmes (mais pour certains systèmes, c'est un autre avantage).
- Il n'existe pas d'emplacement standard pour stocker les clés privées.
- Voir le contenu généré par la balise sur une page HTML est toujours déroutant et difficile à comprendre. La balise
- permet aux utilisateurs de sélectionner la clé appropriée dans une liste, mais la plupart des utilisateurs ne savent pas comment choisir.
- De nombreux utilisateurs ne savent pas s'ils doivent suivre les instructions pour télécharger le certificat. La balise
- ne fournit pas de mécanisme pour gérer l'expiration des certificats.
- Il n'y a pas de longueur de clé ou de hachage standard pour obtenir l'indépendance du navigateur.
- Les algorithmes (RSA, DSA, ECC, etc.) ne sont pas pris en charge.
- La sélection de la taille de clé ne peut provenir que du contenu du formulaire généré par la balise , et n'est pas quelque chose que l'utilisateur peut choisir.
- La signature ne peut être basée que sur MD5 et ne peut pas utiliser d'autres algorithmes de cryptage.
Prise en charge des navigateurs
Tous les principaux navigateurs prennent en charge la balise
[Recommandations associées]
Connaissez-vous l'utilisation spécifique de la légende des balises html ? Explication détaillée des attributs et de l'utilisation de la balise legend
Qu'est-ce que la balise html map ? Explication détaillée de la structure et de l'utilisation spécifique de la balise html map
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!