libressl-DSA_SIG_new3
Manipulate dsa signature objects
Usage
Crypto Library (libcrypto, -lcrypto)
#include <openssl/dsa.h>
DSA_SIG *
DSA_SIG_new(void);
void
DSA_SIG_free(DSA_SIG *sig);
void
DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **r, const BIGNUM **s);
int
DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s);
Overview
DSA_SIG_new() allocates an empty DSA_SIG structure.
DSA_SIG_free() frees the DSA_SIG structure and its components. The values are erased before the memory is returned to the system. If sig is a NULL pointer, no action occurs.
DSA_SIG_get0() retrieves internal pointers to the r and s values contained in sig.
The r and s values can be set by calling DSA_SIG_set0(). Calling this function transfers the memory management of the values to sig, and therefore they should not be freed by the caller.
Return values
If the allocation fails, DSA_SIG_new() returns NULL and sets an error code that can be obtained by ERR_get_error(3). Otherwise it returns a pointer to the newly allocated structure.
DSA_SIG_set0() returns 1 on success or 0 on failure.