The keygen Element

The Current State of HTML5 Forms

<keygen name=key>
<keygen name=key challenge=wufoo keytype=rsa>

Live Demo



 


Firefox
3.6+

Safari
4+

Safari
7-

Chrome
6+

Opera
10.6+

IE
11-

Android
2.3+

The Low Down

The <keygen> form field creates a Public Key / Private Key pair. Private Key is encrypted (based on the choice) and stored in the Local Key Database. The Public Key is sent with the form data. Also, it’s way more complicated than that.

  • In addition to the global attributes, and the regular form field attributes of nameformdisabled and autofocusattributes, <keygen> also supports challenge, and keytype.
  • The value will be created by the browser and submitted with the form without going thru any native constraint validation.
  • The challenge attribute enables submitting a challenge string along with the public key. The default is an empty string.
  • The keytype attribute is the type of key to generate. It defaults to RSA.
  • You can feel a significant lag when submitting a form (at least upon first generating)
  • Dropdown options in Chrome and Opera running Blink: 2048 (High Grade), 1024 (Medium Grade), with Presto versions providing a dropdown with 1024, 1280, 1536, 1792, 2048, 2304, 2560, 2816, 3072, 3328, 3584, 3840, 4096 as options.
  • Dropdown options in Safari 5: 2048 (High Grade), 1024 (Medium Grade), 512 (Low Grade)
  • Dropdown options in Firefox and Android: High Grade, Medium Grade
  • IE doesn’t (and doesn’t intend) to support it.
  • iOS claims to support it but creates a non-functioning empty dropdown.

Our Cookie Policy and Privacy Policy outline how we use cookies to help optimize service, personalize content, tailor and measure our marketing, and improve your user experience. I agree to use of cookies for these purposes.