DSA_SIG_NEW(3) Library Functions Manual DSA_SIG_NEW(3) NAME DSA_SIG_new, DSA_SIG_free, DSA_SIG_get0, DSA_SIG_set0 - manipulate DSA signature objects SYNOPSIS #include 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); DESCRIPTION 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. SEE ALSO DSA_do_sign(3), DSA_new(3) HISTORY DSA_SIG_new() and DSA_SIG_free() first appeared in OpenSSL 0.9.3 and have been available since OpenBSD 2.6. DSA_SIG_get0() and DSA_SIG_set0() first appeared in OpenSSL 1.1.0 and have been available since OpenBSD 6.3. Linux 6.8.2-arch2-1 June 10, 2019 Linux 6.8.2-arch2-1