The Low Down
<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 name, form, disabled and autofocusattributes,
- The value will be created by the browser and submitted with the form without going thru any native constraint validation.
challengeattribute enables submitting a challenge string along with the public key. The default is an empty string.
keytypeattribute 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.