HTML Reference Guide

Tag Index| Content List| HTML FAQ



The KEYGEN element is a Netscape creation used to process security transactions with web-based certificate management systems. This element is used in the context of an HTML form along with other information needed to construct a certificate request - the generation of key material and submission of the public key - and the result of the transaction will be a signed certificate that the form can use to generate a challenge string paired with the KEYGEN's NAME attribute.

Use of the KEYGEN element generates a menu of key-size choices that the user must choose from. When the form contents are submitted for processing, a key pair of the selected size is generated. The private key is encrypted and stored in the local key database.


challenge - Specifies the challenge string to be packaged with the public key for use in verification of the form submission. If no challenge string is provided, then it is encoded as an 'IA5STRING' [see relevant URLs in 'Tips and Tricks'] of length zero.

name - Names the keygen string.

Example code:

<form METHOD="post" ACTION="" ENCTYPE="application/x-www-form-urlencoded"><keygen NAME="randomkey" CHALLENGE="1234567890"><input TYPE="text" NAME="Field1" VALUE="Default Text"></form>


See Also: