| Index: openssl/demos/tunala/cb.c
|
| ===================================================================
|
| --- openssl/demos/tunala/cb.c (revision 105093)
|
| +++ openssl/demos/tunala/cb.c (working copy)
|
| @@ -134,8 +134,27 @@
|
| /* TODO: Perhaps make it so our global key can be generated on-the-fly
|
| * after certain intervals? */
|
| static RSA *rsa_tmp = NULL;
|
| - if(!rsa_tmp)
|
| - rsa_tmp = RSA_generate_key(keylength, RSA_F4, NULL, NULL);
|
| + BIGNUM *bn = NULL;
|
| + int ok = 1;
|
| + if(!rsa_tmp) {
|
| + ok = 0;
|
| + if(!(bn = BN_new()))
|
| + goto end;
|
| + if(!BN_set_word(bn, RSA_F4))
|
| + goto end;
|
| + if(!(rsa_tmp = RSA_new()))
|
| + goto end;
|
| + if(!RSA_generate_key_ex(rsa_tmp, keylength, bn, NULL))
|
| + goto end;
|
| + ok = 1;
|
| + }
|
| +end:
|
| + if(bn)
|
| + BN_free(bn);
|
| + if(!ok) {
|
| + RSA_free(rsa_tmp);
|
| + rsa_tmp = NULL;
|
| + }
|
| return rsa_tmp;
|
| }
|
|
|
|
|