Being able to load/save the digest state is a good idea. Management of the buffer should be left to the caller, however. Much simpler and cleaner that way. For example, work like the DER/i2d routines: if given a NULL pointer, return how much space is needed. Or provide something like the RSA_size function which tells you how much space is needed to store the state.
Then you only need get_state and set_state which read/write a buffer of the appropriate size. Very simple. /r$ -- STSM, Senior Security Architect DataPower SOA Appliances http://www.ibm.com/software/integration/datapower/ ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]