Hello,
I've worked on an OpenSSL based implementation of rsaenh.dll in my spare time
over the last three months. Although it is by no means complete, I feel that
the coarse structure should be stable by now. The patch is appended to this
mail as a gzipped tape archive. I'm aware that small patches are preferable,
but I hope someone helps me to get this beast in: Please give me feedback on
what remains to be done.
If you want to try the patch note the following:
- After you have applied the patch you have to run autoheader and autoconf.
Then cd dlls ; make_dlls ; cd .. ; configure.
- After you have compiled and installed wine, you have to unregister rsabase
and register rsaenh (regsvr32 /U rsabase ; regsvr32 rsaenh). rsaenh.dll is
meant to replace rsabase.dll sometime (Windows XP also has rsaenh.dll only).
- This patch was tested with the attached regression tests and with some MSDN
example code. No real application was tested until now.
- This code is not secure! The user's persistent private RSA signature and key
exchange key pairs are stored in the registry in _plaintext_. Do not use this
with your homebanking application ;)
- The code depends on CUR_BLOB_VERSION being defined in wincrypt.h. This is
implemented in a distinct trivial patch, which I've submitted this morning
and which will probably go into CVS tonight (that is if you live in
germany ;)
- You ain't see a whole lot, if you don't have the openssl headers installed
(libssl-dev on debian). The code will compile without, but you'll get a lot
of FIXME's and some of the regression tests will fail.
Please excuse me for posting a 30kB message.
Greetings,
Michael