Generates a signature on the given message digest using DSA based on FIPS 186.
#include "huidlc.h"
int hu_IDLCDSANoHashSign(sb_Params idlcParams, sb_PrivateKey privateKey, size_t length, const unsigned char *messageDigest, size_t *sLength, unsigned char *sValue, size_t *rLength, unsigned char *rValue, sb_GlobalCtx sbCtx)
BlackBerry 10.0.0
An IDLC parameters object.
An IDLC private key object.
The length (in bytes) of the message digest.
A message digest.
The length (in bytes) of sValue.
The 's' component from the signature computation.
The length (in bytes) of rValue.
The 'r' component from the signature computation.
A global context.
This function assumes that the input is a message digest (of any length); no digest operation will be performed on the input.
The IDLC parameter object must have been created with an RNG context.
If the length of s is known, a pointer to a buffer large enough to hold s should be passed in sValue and its length in sLength. This function will copy s into sValue and set the actual length of s in sLength.
If sValue is NULL, this function will set the correct length of s in sLength. If sValue is not NULL but sLength is too small, this function will return an error.
Similarly for r.
s and r will always have the same length.
The length of s or r can also be determined by calling hu_IDLCParamsGet() and retrieving the qLength argument.
The idlcParams object is NULL.
The tag for the params object is not of the expected type.
The private key object is NULL.
The private key object is invalid.
The length of the message digest is invalid.
The message digest is NULL.
The signature component length is NULL.
The signature component length is invalid.
The signature component length is NULL.
The signature component length is invalid.
Memory allocation failure.
Success.