NAME
DSA_SIG_new
,
DSA_SIG_free
, DSA_SIG_get0
,
DSA_SIG_set0
—
manipulate DSA signature
objects
SYNOPSIS
#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);
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
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.