DSA_NEW(3)
β¨ NAME β¨
okay bestie, welcome to the DSA_NEW(3) page from the Library Functions Manual β this one is all about DSA_new, DSA_up_ref, DSA_free, and their whole βallocate and free DSA objectsβ situation. slay.
π SYNOPSIS π
#include <openssl/dsa.h>
DSA*
DSA_new(void);
int
DSA_up_ref(DSA *dsa);
void
DSA_free(DSA *dsa);
π DESCRIPTION π
The DSA functions implement the Digital Signature Algorithm. iconic, honestly.
DSA_new() allocates and initializes a DSA structure, setting the reference count to 1. It is equivalent to calling DSA_new_method(3) with a NULL argument. bestie really said βnew object, who disβ and popped the refcount at 1.
DSA_up_ref() increments the reference count by 1. tiny little +1 moment, but make it secure.
DSA_free() decrements the reference count by 1. If it reaches 0, it frees the DSA structure and its components. The values are erased before the memory is returned to the system. if dsa is a NULL pointer, no action occurs β so no dramatic chaos, just nothing.
π RETURN VALUES π
If the allocation fails, DSA_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. so like, either you get the pointer or you get the NULL and the error-code receipts.
DSA_up_ref() returns 1 for success or 0 for failure. periodt.
π¦ SEE ALSO π¦
go read these next, bestie:
BN_new(3)crypto(3)d2i_DSAPublicKey(3)DH_new(3)DSA_do_sign(3)DSA_dup_DH(3)DSA_generate_key(3)DSA_generate_parameters_ex(3)DSA_get0_pqg(3)DSA_get_ex_new_index(3)DSA_meth_new(3)DSA_print(3)DSA_security_bits(3)DSA_set_method(3)DSA_SIG_new(3)DSA_sign(3)DSA_size(3)EVP_PKEY_set1_DSA(3)RSA_new(3)
π STANDARDS π
the standards flex here is literally: US Federal Information Processing Standard FIPS 186 (Digital Signature Standard, DSS), ANSI X9.30. very official, very βwe have paperworkβ energy.
π«Ά HISTORY π«Ά
DSA_new() and DSA_free() first appeared in SSLeay 0.6.0 and have been available since OpenBSD 2.4.
DSA_up_ref() first appeared in OpenSSL 0.9.7 and has been available since OpenBSD 3.2.
okay thatβs the whole page, bestie β brought to you by Debian, dated December 29, 2023, for DSA_NEW(3). mwah πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: libressl-devel-doc 4.1.0-bp160.1.1 Β· OpenSSL
- Copyright (c) 2000, 2002 The OpenSSL Project. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms