Michael Jung mjung at
Tue Oct 26 10:20:27 CDT 2004

On Tuesday 26 October 2004 16:56, Juan Lang wrote:
> Michael wrote:
> > > 1. MD4, MD5, and SHA1 are now implemented in wine's
> > > advapi32.  Please use these instead of OpenSSL's.
> >
> > Yes, that makes sense. Would it be possible to move
> > the SHA1, MD4 and MD5 related code to some other
> > directory in the wine tree and link to it
> > statically from both advapi32 and rsaenh? Is the
> > misc directory meant for this purpose?
> No.  Generally, creating static libs is something we
> avoid in wine.  More specifically, these functions are
> already exported by advapi32, and you already link
> advapi32 (to get access to the registry) so there's no
> advantage to having a copy in both places.

There is also a DES implementation in dlls/advapi32/crypt_des.c. However, this 
one is not exported by advapi32.dll. I could copy the code over to 
dlls/rsaenh, but this would mean unnecessary code duplication. How are such 
cases handled in wine typically?

Although it is of no concern at the moment, another problem will arise in the 
future: advapi32 and cryptographic service provider dll's check each other 
against tempering by the use of digital signatures in windows (Probably 
because of US export restrictions on cryptographic software). Although I 
don't know for sure, I could imagine that this is actually the reason, why 
there are MD4, MD5 and SHA implementations in advapi32. Having rsaenh.dll 
call advapi32.dll for these algorithms would bypass these checks. I don't 
know if this will be an issue for wine though.


More information about the wine-devel mailing list