e9224c7177
key-generation and prime-checking functions. Rather than explicitly passing callback functions and caller-defined context data for the callbacks, a new structure BN_GENCB is defined that encapsulates this; a pointer to the structure is passed to all such functions instead. This wrapper structure allows the encapsulation of "old" and "new" style callbacks - "new" callbacks return a boolean result on the understanding that returning FALSE should terminate keygen/primality processing. The BN_GENCB abstraction will allow future callback modifications without needing to break binary compatibility nor change the API function prototypes. The new API functions have been given names ending in "_ex" and the old functions are implemented as wrappers to the new ones. The OPENSSL_NO_DEPRECATED symbol has been introduced so that, if defined, declaration of the older functions will be skipped. NB: Some openssl-internal code will stick with the older callbacks for now, so appropriate "#undef" logic will be put in place - this is in case the user is *building* openssl (rather than *including* its headers) with this symbol defined. There is another change in the new _ex functions; the key-generation functions do not return key structures but operate on structures passed by the caller, the return value is a boolean. This will allow for a smoother transition to having key-generation as "virtual function" in the various ***_METHOD tables. |
||
---|---|---|
.. | ||
asm | ||
.cvsignore | ||
bn.h | ||
bn.mul | ||
bn_add.c | ||
bn_asm.c | ||
bn_blind.c | ||
bn_ctx.c | ||
bn_depr.c | ||
bn_div.c | ||
bn_err.c | ||
bn_exp.c | ||
bn_exp2.c | ||
bn_gcd.c | ||
bn_gf2m.c | ||
bn_kron.c | ||
bn_lcl.h | ||
bn_lib.c | ||
bn_mod.c | ||
bn_mont.c | ||
bn_mpi.c | ||
bn_mul.c | ||
bn_nist.c | ||
bn_prime.c | ||
bn_prime.h | ||
bn_prime.pl | ||
bn_print.c | ||
bn_rand.c | ||
bn_recp.c | ||
bn_shift.c | ||
bn_sqr.c | ||
bn_sqrt.c | ||
bn_word.c | ||
bnspeed.c | ||
bntest.c | ||
divtest.c | ||
exp.c | ||
expspeed.c | ||
exptest.c | ||
Makefile.ssl | ||
todo | ||
vms-helper.c |