Rob,
as far as I can tell from looking at your patch, our work is pretty much non overlapping.
I worked on the following aspects:
- Implementation of "real handles", instead of "address-handles". - Separating OpenSSL dependend code from CSP code. I consider this beneficial, since there seem to be some license issues with OpenSSL (at least for the ReactOS project - there was a short discussion on this on the wine-devel list). If the OpenSSL code is cleanly separated, it will be easier to support GNUTLS or something later. - Basically, my code doesn't do any crypto stuff at all until now (Besides some first lines of code for MD5 hashing). I tried to get the MSDN CryptoAPI examples to compile and run, which only acquire contexts, hash data, derive keys, query CSP params and so on, but which never verify the results. So my code is mainly skin (but elephant skin), no guts.
I've attached the current version of my patch.
Do you have a certain application, which you want to get running? Would it be ok for you if we proceed as follows: I will wait until you submit your patch (It would be nice if you could add some unit-tests that test for behaviour you depend on). After this you give me a week or two to incorporate my work.
Is there any area in rsabase, which you definitely will not implement in the near future and which I could work on until you submit your patch?
Greetings, Michael