w3c icon + 2.0 3.0 3.2 4.0
Netscape icon 1.0 2.0 3.0? 4.0  
MSIE icon 1.0 2.0 3.0 4.0  
Mosaic icon 1.0 2.0      
Opera 1.0 2.1 3.0    
WebTV 0.9 1.2      

<keygen>

container
start tagrequired
end tagrequired
Sandia Reference
Link to Site Map

This was an early attempt of making forms submission secure across the internet. The explanation below is a quote from Netscape, the original sponsor.

"The KEYGEN tag facilitates the generation of key material and submission of the public key as part of an HTML form. This mechanism is designed for use in web-based certificate management systems. It displays a menu of key-size choices from which the use must choose one. Then, when the submit button is pressed, a key pair of the selected size is generated. The private key is encrypted and stored in the local key database.

The public key and challenge string are DER encoded as PublicKeyAndChallenge, and then digitally signed with the private key to produce a SignedPublicKeyAndChallenge. The SignedPublicKeyAndChallenge is base64 encoded, and the ASCII data is finally submitted to the server as the value of a name-value pair, where the name is name as specified by the NAME attribute of the KEYGEN tag." (Netscape)

Example
<keygen name="somekey" challenge="1125983021">

challenge=
Opera 1.0 2.1 3.0    
WebTV 0.9 1.2      
"... specifies the challenge string to be packaged with the public key in the PublicKeyAndChallenge for use in verification of the form submission. If no challenge string is provided, the it is encoded as an IA5STRING of lengh zero" (Netscape)
name=
WebTV 0.9 1.2      
"... specifies the name for the name-vaue pair." (Netscape)