/*
rsagen.c -- RSA key generation and export
- Copyright (C) 2008-2013 Guus Sliepen <guus@tinc-vpn.org>
+ Copyright (C) 2008-2022 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "../logger.h"
#include "../rsagen.h"
-#include "../xalloc.h"
/* This function prettyprints the key generation process */
static int indicator(int a, int b, BN_GENCB *cb) {
+ (void)cb;
+
switch(a) {
case 0:
fprintf(stderr, ".");
// Generate RSA key
-#ifndef HAVE_BN_GENCB_NEW
-BN_GENCB *BN_GENCB_new(void) {
- return xzalloc(sizeof(BN_GENCB));
-}
-
-void BN_GENCB_free(BN_GENCB *cb) {
- free(cb);
-}
-#endif
-
rsa_t *rsa_generate(size_t bits, unsigned long exponent) {
BIGNUM *bn_e = BN_new();
rsa_t *rsa = RSA_new();
BN_set_word(bn_e, exponent);
BN_GENCB_set(cb, indicator, NULL);
- int result = RSA_generate_key_ex(rsa, bits, bn_e, cb);
+ int result = RSA_generate_key_ex(rsa, (int) bits, bn_e, cb);
BN_GENCB_free(cb);
BN_free(bn_e);