DSA_NEW(3)

πŸ“¦ version 4.1.0, in opensuse-leap 16.0

✨ 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:

πŸ‘‘ 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