RSA_GENERATE_KEY(3)
π RSA_GENERATE_KEY(3) π
okay so welcome to RSA_GENERATE_KEY(3) β this is from the Library Functions Manual, bestie, and it's literally all about generating an RSA key pair. We're gonna cover every bit, no skipping. β¨
πΈ NAME πΈ
RSA_generate_key_ex, RSA_generate_key β generate RSA key pair. periodt. π
π¦ SYNOPSIS π¦
library βlibcryptoβ #include <openssl/rsa.h>
int
RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);
Deprecated: π«Ά
RSA *
RSA_generate_key(int num, unsigned long e,
void (*callback)(int, int, void *), void *cb_arg);
π DESCRIPTION π
RSA_generate_key_ex() generates a key pair and stores it in rsa. Slay.
The modulus size will be of length bits, and the public exponent will be e. Key sizes with num < 1024 should be considered insecure β like, do not come to the group chat with that, fr fr. π
The exponent is an odd number, typically 3, 17 or 65537. iconic numbers, honestly.
A callback function may be used to provide feedback about the progress of the key generation. If cb is not NULL, it will be called as follows using the BN_GENCB_call(3) function:
- While a random prime number is generated, it is called as described in
BN_generate_prime(3). - When the n-th randomly generated prime is rejected as not suitable for the key,
BN_GENCB_call(cb, 2, n)is called. - When a random
phas been found withp-1relatively prime toe, it is called asBN_GENCB_call(cb, 3, 0).
The process is then repeated for prime q with BN_GENCB_call(cb, 3, 1).
RSA_generate_key() is deprecated. New applications should use RSA_generate_key_ex() instead β like, it's giving legacy, bestie. RSA_generate_key() works in the same way as RSA_generate_key_ex() except it uses βold styleβ call backs. See BN_generate_prime(3) for further details. π
π RETURN VALUES π
RSA_generate_key_ex() returns 1 on success or 0 on error. RSA_generate_key() returns the key on success or NULL on error.
The error codes can be obtained by ERR_get_error(3). iykyk. π₯
β SEE ALSO β
π§ HISTORY π§
RSA_generate_key() appeared in SSLeay 0.4 or earlier and had its cb_arg argument added in SSLeay 0.9.0. It has been available since OpenBSD 2.4.
RSA_generate_key_ex() first appeared in OpenSSL 0.9.8 and has been available since OpenBSD 4.5. history lesson but make it cute. π
π BUGS π
BN_GENCB_call(cb, 2, x) is used with two different meanings. bestie, pick a lane. π
RSA_generate_key() goes into an infinite loop for illegal input values. that's not a vibe. not even a little. π
later, bestie β this was the Debian page, dated June 8, 2025, for RSA_GENERATE_KEY(3). mwah πβ¨
π¦ where this page comes from
- alpine 3.24: libressl-doc 4.3.1-r0 Β· custom
- arch rolling: libressl 4.4.0-1 Β· ISC AND custom:OpenSSL
- Copyright (c) 2000, 2002, 2013 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