#include <openssl/pem.h>
#include <openssl/err.h>
-#define __TINC_RSA_INTERNAL__
+#define TINC_RSA_INTERNAL
typedef RSA rsa_t;
#include "../logger.h"
#include "../rsagen.h"
+#include "../xalloc.h"
/* This function prettyprints the key generation process */
BN_set_word(bn_e, exponent);
BN_GENCB_set(cb, indicator, NULL);
- RSA_generate_key_ex(rsa, bits, bn_e, cb);
+ int result = RSA_generate_key_ex(rsa, bits, bn_e, cb);
BN_GENCB_free(cb);
BN_free(bn_e);
+ if(!result) {
+ fprintf(stderr, "Error during key generation!\n");
+ RSA_free(rsa);
+ return NULL;
+ }
+
return rsa;
}