Changes between 0.9.3a and 0.9.4
+ *) Make callbacks for key generation use void * instead of char *.
+ [Ben Laurie]
+
*) Make S/MIME samples compile (not yet tested).
[Ben Laurie]
#undef PROG
#define PROG gendh_main
-static void MS_CALLBACK dh_cb(int p, int n, char *arg);
+static void MS_CALLBACK dh_cb(int p, int n, void *arg);
static long dh_load_rand(char *names);
int MAIN(int argc, char **argv)
{
BIO_printf(bio_err,"Generating DH parameters, %d bit long strong prime, generator of %d\n",num,g);
BIO_printf(bio_err,"This is going to take a long time\n");
- dh=DH_generate_parameters(num,g,dh_cb,(char *)bio_err);
+ dh=DH_generate_parameters(num,g,dh_cb,bio_err);
if (dh == NULL) goto end;
EXIT(ret);
}
-static void MS_CALLBACK dh_cb(int p, int n, char *arg)
+static void MS_CALLBACK dh_cb(int p, int n, void *arg)
{
char c='*';
#undef PROG
#define PROG genrsa_main
-static void MS_CALLBACK genrsa_cb(int p, int n, char *arg);
+static void MS_CALLBACK genrsa_cb(int p, int n, void *arg);
static long gr_load_rand(char *names);
int MAIN(int argc, char **argv)
{
BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n",
num);
- rsa=RSA_generate_key(num,f4,genrsa_cb,(char *)bio_err);
+ rsa=RSA_generate_key(num,f4,genrsa_cb,bio_err);
if (randfile == NULL)
BIO_printf(bio_err,"unable to write 'random state'\n");
EXIT(ret);
}
-static void MS_CALLBACK genrsa_cb(int p, int n, char *arg)
+static void MS_CALLBACK genrsa_cb(int p, int n, void *arg)
{
char c='*';
int max);
static int add_DN_object(X509_NAME *n, char *text, char *def, char *value,
int nid,int min,int max);
-static void MS_CALLBACK req_cb(int p,int n,char *arg);
+static void MS_CALLBACK req_cb(int p,int n,void *arg);
static int req_fix_data(int nid,int *type,int len,int min,int max);
static int check_end(char *str, char *end);
static int add_oid_section(LHASH *conf);
{
if (!EVP_PKEY_assign_RSA(pkey,
RSA_generate_key(newkey,0x10001,
- req_cb,(char *)bio_err)))
+ req_cb,bio_err)))
goto end;
}
else
return(0);
}
-static void MS_CALLBACK req_cb(int p, int n, char *arg)
+static void MS_CALLBACK req_cb(int p, int n, void *arg)
{
char c='*';
int BN_gcd(BIGNUM *r,BIGNUM *in_a,BIGNUM *in_b,BN_CTX *ctx);
BIGNUM *BN_mod_inverse(BIGNUM *ret,BIGNUM *a, BIGNUM *n,BN_CTX *ctx);
BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int strong,BIGNUM *add,
- BIGNUM *rem,void (*callback)(int,int,char *),char *cb_arg);
-int BN_is_prime(BIGNUM *p,int nchecks,void (*callback)(int,int,char *),
- BN_CTX *ctx,char *cb_arg);
+ BIGNUM *rem,void (*callback)(int,int,void *),void *cb_arg);
+int BN_is_prime(BIGNUM *p,int nchecks,void (*callback)(int,int,void *),
+ BN_CTX *ctx,void *cb_arg);
void ERR_load_BN_strings(void );
BN_ULONG bn_mul_add_words(BN_ULONG *rp, BN_ULONG *ap, int num, BN_ULONG w);
static int probable_prime_dh_strong(BIGNUM *rnd, int bits,
BIGNUM *add, BIGNUM *rem, BN_CTX *ctx);
BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int strong, BIGNUM *add,
- BIGNUM *rem, void (*callback)(int,int,char *), char *cb_arg)
+ BIGNUM *rem, void (*callback)(int,int,void *), void *cb_arg)
{
BIGNUM *rnd=NULL;
BIGNUM t;
return(ret);
}
-int BN_is_prime(BIGNUM *a, int checks, void (*callback)(int,int,char *),
- BN_CTX *ctx_passed, char *cb_arg)
+int BN_is_prime(BIGNUM *a, int checks, void (*callback)(int,int,void *),
+ BN_CTX *ctx_passed, void *cb_arg)
{
int i,j,c2=0,ret= -1;
BIGNUM *check;
void DH_free(DH *dh);
int DH_size(DH *dh);
DH * DH_generate_parameters(int prime_len,int generator,
- void (*callback)(int,int,char *),char *cb_arg);
+ void (*callback)(int,int,void *),void *cb_arg);
int DH_check(DH *dh,int *codes);
int DH_generate_key(DH *dh);
int DH_compute_key(unsigned char *key,BIGNUM *pub_key,DH *dh);
*/
DH *DH_generate_parameters(int prime_len, int generator,
- void (*callback)(int,int,char *), char *cb_arg)
+ void (*callback)(int,int,void *), void *cb_arg)
{
BIGNUM *p=NULL,*t1,*t2;
DH *ret=NULL;
#define MS_CALLBACK
#endif
-static void MS_CALLBACK cb(int p, int n, char *arg);
+static void MS_CALLBACK cb(int p, int n, void *arg);
#ifdef NO_STDIO
#define APPS_WIN16
#include "bss_file.c"
if (out == NULL) exit(1);
BIO_set_fp(out,stdout,BIO_NOCLOSE);
- a=DH_generate_parameters(64,DH_GENERATOR_5,cb,(char *)out);
+ a=DH_generate_parameters(64,DH_GENERATOR_5,cb,out);
if (a == NULL) goto err;
BIO_puts(out,"\np =");
return(ret);
}
-static void MS_CALLBACK cb(int p, int n, char *arg)
+static void MS_CALLBACK cb(int p, int n, void *arg)
{
char c='*';
RSA * RSA_new_method(RSA_METHOD *method);
int RSA_size(RSA *);
RSA * RSA_generate_key(int bits, unsigned long e,void
- (*callback)(int,int,char *),char *cb_arg);
+ (*callback)(int,int,void *),void *cb_arg);
/* next 4 return -1 on error */
int RSA_public_encrypt(int flen, unsigned char *from,
unsigned char *to, RSA *rsa,int padding);
#include <openssl/rsa.h>
RSA *RSA_generate_key(int bits, unsigned long e_value,
- void (*callback)(int,int,char *), char *cb_arg)
+ void (*callback)(int,int,void *), void *cb_arg)
{
RSA *rsa=NULL;
BIGNUM *r0=NULL,*r1=NULL,*r2=NULL,*r3=NULL,*tmp;