HTML keygen: Main Tips
- The HTML <keygen>element generated a private and public key pair, which was used while submitting an HTML <form>.
- keygenHTML usually had attributes such as- autofocus,- challenge,- disabled, and- form.
- In HTML5, keygenis no longer supported.
keygen Explained
After HTML <keygen> created a public key, it was sent to a web server along with the other form inputs. The private key was stored locally. Web browsers used these keys to generate a certificate for secure data communication between a web browser and a web server.
Note: the functionality of <keygen> in HTML depended on the web browser and the corresponding web server program.
The example below defines a key-pair used while submitting an HTML <form>.
<form action="login" method="POST">
  Username: <input type="text" name="user_name">
  Password: <input type="password" name="user_password">
  Keygen Strength: <keygen name="login_form">
  <input type="submit" value="Login">
</form>Attributes for keygen
autofocus
It sets focus to the element after a web page loads.
<form action="login" method="POST">
  Username: <input type="text" name="user_name">
  Password: <input type="password" name="user_password">
  Keygen Strength: <keygen name="login_form" autofocus>
  <input type="submit" value="Login">
</form>challenge
It defines a challenge string for validation on a web server.
<form action="login" method="POST">
  Username: <input type="text" name="user_name">
  Password: <input type="password" name="user_password">
  Keygen Strength: <keygen name="login_form" challenge="staff_login">
  <input type="submit" value="Login" >
</form>disabled
It sets the element disabled.
<form action="login" method="POST">
  Username: <input type="text" name="user_name">
  Password: <input type="password" name="user_password">
  Keygen Strength: <keygen name="login_form" disabled>
  <input type="submit" value="Login">
</form>form
It defines a space separated list of form ID's.
<form id="user_login" action="login" method="POST">
  Username: <input type="text" name="user_name">
  Password: <input type="password" name="user_password">
  Keygen Strength: <keygen name="login_form" form="user_login">
  <input type="submit" value="Login">
</form>
keytype
It defines the type of algorithm to be used for key generation.
<form action="login" method="POST">
  Username: <input type="text" name="user_name">
  Password: <input type="password" name="user_password">
  Keygen Strength: <keygen name="login_form" keytype="dsa">
  <input type="submit" value="Login">
</form>name
It defines a name for the element (it is a required attribute).
<form action="login" method="POST">
  Username: <input type="text" name="user_name">
  Password: <input type="password" name="user_password">
  Keygen Strength: <keygen name="login_form">
  <input type="submit" value="Login">
</form>