http://bugs.winehq.org/show_bug.cgi?id=21443
--- Comment #2 from Kenneth Robinette support@securenetterm.com 2010-01-30 09:32:29 --- (In reply to comment #1)
This bug is likely to be in rsaenh, as advapi32 just forwards the call to the provider.
Yes, the bug is in rsaenh.c in the RSAENH_CPHashData() function at line 3959:
if (!get_algid_info(hProv, pCryptHash->aiAlgid) || pCryptHash->aiAlgid == CALG_SSL3_SHAMD5) { SetLastError(NTE_BAD_ALGID); return FALSE; }
This check forces an error, but why? There is no comment or documentation on why the Wine implementation does not support CALG_SSL3_SHAMD5.
Again, it can be confirmed that the Microsoft CryptSighHash function supports this.