# DSAKey Type

Contains the parameters for the DSA algorithm.

## Remarks

This type is made up of fields that represent the private and public key parameters used by the DSA algorithm.

**DSA Key Notes**

A DSA key is made up of a number of individual parameters. When calling __CreateKey__
the __Key__ property is populated
with a new private and public key.

After calling __Sign__ the public key must be sent to the recipient along with __HashSignature__ so they may perform signature verification.
Likewise you must obtain the public key along with __HashSignature__ in order to perform signature verification.

The public key consists of the following parameters:

The component also includes the PublicKey field which holds the PEM formatted public key for ease of use. This is helpful if you are in control of both signature creation and verification process. When sending the public key to a recipient note that not all implementations will support using the PEM formatted value in PublicKey in which case the individual parameters must be sent.

The private key consists of the following parameters:

The component also include the PrivateKey field which holds the PEM formatted private key for ease of use. This is helpful for storing the private key more easily.## Fields

GString |
Represents the G parameter for the DSA algorithm. |

GBbyte [] |
Represents the G parameter for the DSA algorithm. |

PString |
Represents the P parameter for the DSA algorithm. |

PBbyte [] |
Represents the P parameter for the DSA algorithm. |

PrivateKeyString |
This field is a PEM formatted private key. The purpose of this field is to allow easier management of the private key parameters by using only a single value. |

PublicKeyString |
This field is a PEM formatted public key. The purpose of this field is to allow easier management of the public key parameters by using only a single value. |

QString |
Represents the Q parameter for the DSA algorithm. |

QBbyte [] |
Represents the Q parameter for the DSA algorithm. |

XString |
Represents the X parameter for the DSA algorithm. |

XBbyte [] |
Represents the X parameter for the DSA algorithm. |

YString |
Represents the Y parameter for the DSA algorithm. |

YBbyte [] |
Represents the Y parameter for the DSA algorithm. |

## Constructors

publicDSAKey();

The default constructor creates a new DSAKey instance but does not assign a public or private key.

publicDSAKey(byte[]P,byte[]Q,byte[]G,byte[]Y);

The public key constructor assigns an existing public key.

publicDSAKey(byte[]P,byte[]Q,byte[]G,byte[]Y,byte[]X);

The private key constructor assigns an existing private key.