RSA_PSS_PARAMS_NEW(3)

πŸ“¦ version 4.4.0, in alpine 3.24, arch rolling

πŸ’… RSA_PSS_PARAMS_NEW(3) πŸ’…

okay bestie, welcome to the Library Functions Manual page for RSA_PSS_PARAMS_new and RSA_PSS_PARAMS_free β€” yes, the whole thing lives in libcrypto, no cap ✨


🌸 SYNOPSIS 🌸

like, first you gotta pull in the header:

#include <openssl/rsa.h>

and then the two functions themselves, exactly like this:

RSA_PSS_PARAMS *
RSA_PSS_PARAMS_new(void);

void
RSA_PSS_PARAMS_free(RSA_PSS_PARAMS *params);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so RSA_PSS_PARAMS_new() is the main character here πŸ‘‘ β€” it allocates and initializes a whole empty RSA_PSS_PARAMS object for you. and what even is that, you ask? it's literally the representation of an ASN.1 RSASSA-PSS-params structure, which is defined in RFC 8017 appendix A.2.3. iykyk πŸ“œ

that object is lowkey holding onto a bunch of stuff: it references the hash function and the mask generation function, and it stores the length of the salt plus the trailer field number. that's the whole vibe check of the struct πŸ’…

and then RSA_PSS_PARAMS_free() is the cleanup bestie β€” it frees params. periodt. 🧹


⭐ RETURN VALUES ⭐

RSA_PSS_PARAMS_new() returns the brand new RSA_PSS_PARAMS object πŸ’– …or NULL if an error happens 😭 (rip, it's giving "something went wrong").


πŸŽ€ SEE ALSO πŸŽ€

go check out your other faves, they're all linked up:


🌈 STANDARDS 🌈

RFC 8017: PKCS#1: RSA Cryptography Specifications Version 2.2 β€” that's the one, go read it if you're feeling academic πŸ“š


πŸ’œ HISTORY πŸ’œ

RSA_PSS_PARAMS_new() and RSA_PSS_PARAMS_free() first appeared in OpenSSL 1.0.1, and they've been available since OpenBSD 5.3. iconic longevity honestly 🫢


aaaand that's the page!! mwah πŸ’‹ this one came from Debian, dated June 8, 2025 β€” so go forth and allocate your PSS params responsibly, bestie πŸ“βœ¨

πŸ“¦ where this page comes from