[NOTE: Information on this element is VERY scarce and
almost all of the content below is verbatim from Netscape's lean documentation -
I have not been able to verify any of this. See the 'Tips & Tricks'
section for all known reference URLs (mostly pointed out by alert readers) on
this issue.]
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.
Description:
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.
The documentation for the KEYTYPE and PQG attributes is VERY thin - I
only found reference to them in the Mozilla source code (which is why I
only list support as v.6.0 and above) and even that was scarce. I only
try to document them here for the sake of completeness.
These are the URLs I have been able to find that document this element. They mostly seem
to be oriented toward the developer, which is understandable considering
proper use of this element involves non-trivial negotiation with a server.
Netscape Certificate Download Specification - another
technical, developer oriented document describing KEYGEN and server interaction.
Browser Peculiarities
The documentation states that export versions of Netscape (non-US versions)
only allow a 512 bit key size to be chosen, while US versions allow key size
choices of 512 bits, 768 bits, and 1024 bits.