Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
virtual P6R::P6ERR P6R::p6ICryptoKey::getDSAPublicKey ( P6BSTR pP,
P6BSTR pQ,
P6BSTR pG,
P6BSTR pY 
)
pure virtual

This method retrieves the standard parts of a DSA (DSS) public key.

If the error 'eTooSmall' is returned then one of the buffers is too small to hold part of the DSA key. In this case all the length parameters (e.g., pP->length) are assigned the required length. In this way, only one call is needed to this method to determine the size of all the required buffers (e.g., pP, pQ, pG, pY). To be able to use the DSA public key its associated DSA parameters must also be available.

Parameters
pP[ INOUT ] One of the DSA parameters. If pP->pString is NULL, then all the buffer required lengths will be returned. pP->length is the address of a P6UINT32 containing the size in bytes of pP->pString. On success the number of bytes stored in pP->pString will be returned in pP->length. If eTooSmall is returned then this parameter is assigned the buffer size required for the key.
pQ[ INOUT ] One of the DSA parameters. If pQ->pString is NULL, then all the buffer required lengths will be returned. pQ->length is the address of a P6UINT32 containing the size in bytes of pQ->pString. On success the number of bytes stored in pQ->pString will be returned in pQ->length. If eTooSmall is returned then this parameter is assigned the buffer size required for the key.
pG[ INOUT ] One of the DSA parameters. If pG->pString is NULL, then all the buffer required lengths will be returned. pG->length is the address of an P6UINT32 containing the size in bytes of pG->pString. On success the number of bytes stored in pG->pString will be returned in pG->length. If eTooSmall is returned then this parameter is assigned the buffer size required for the key.
pY[ INOUT ] The public key value. If pY->pString is NULL, then all the buffer required lengths will be returned. pY->length is the address of an P6UINT32 containing the size in bytes of pY->pString. On success the number of bytes stored in pY->pString will be returned in pY->length. If eTooSmall is returned then this parameter is assigned the buffer size required for the key.
Returns
SuccessP6R::eOk 
FailureP6R::eNotInitializedObject is in an incorrect state.
P6R::eInvalidArgOne of the pointers is NULL.
P6R::eWrongKeyClassThe class of this key is not CKC_PUBLIC.
P6R::eWrongKeyTypeMust be DSA
P6R::eTooSmallOne of the buffers is too small to hold the requested value.