CryptoAPI (no, this has nothing to do with licensing! YAY!)

David Elliott dfe at tgwbd.org
Wed Dec 19 23:12:11 CST 2001


On 2001.12.19 20:08 Alexandre Julliard wrote:
> David Elliott <dfe at tgwbd.org> writes:
> 
> > What bothers me though is that it does not get Intenret Explorer to
> > load up the RSA CSP.  The LoadLibrary fails because the DllMain
> > function in the CSP returns FALSE.  I speculate this has something to
> > do with the fact that a real CSP needs to have its image verified
> > before it will load.  Or maybe it is something different entirely.
> 
> Is this rsabase.dll?  If so this is because of a problem with
> LOAD_LIBRARY_AS_DATAFILE; I have a patch for this somewhere.
> 
> --
> Alexandre Julliard
> julliard at winehq.com
> 
> 

Actually, rsaenh.dll.  I am running IE 5.5 and accessing 
https://internetbanking.suntrust.com/.  Not that this site doesn't work 
with Galeon anyway, but it seemed like a fairly simple way to test the 
crypto functionality.

Running wine --debugmsg +crypt IEXPLORE.EXE I get:

[...]
trace:crypt:CryptAcquireContextA (phProv=0x7741b7d4, szContainer=(null), 
szProvider=Microsoft Enhanced Cryptographic Provider v1.0, dwProvType=1, 
dwFlags=f0000000)
trace:crypt:CryptAcquireContextA Provider is Microsoft Enhanced 
Cryptographic Provider v1.0
trace:crypt:CryptAcquireContextA DLL is rsaenh.dll
trace:crypt:CryptAcquireContextA Signature is 136 bytes long
trace:crypt:CryptAcquireContextA Type is 1
trace:crypt:CRYPTOAPI_LoadCSP ImagePath=rsaenh.dll
trace:crypt:CRYPTOAPI_LoadCSP pCspInfo->ImagePath=rsaenh.dll
err:crypt:CRYPTOAPI_LoadCSP Could not LoadLibrary 1114
err:crypt:CryptAcquireContextA Could not load CSP
trace:crypt:CryptAcquireContextA (phProv=0x7741b7d4, szContainer=(null), 
szProvider=Microsoft Enhanced Cryptographic Provider v1.0, dwProvType=1, 
dwFlags=f0000000)
trace:crypt:CryptAcquireContextA Provider is Microsoft Enhanced 
Cryptographic Provider v1.0
trace:crypt:CryptAcquireContextA DLL is rsaenh.dll
trace:crypt:CryptAcquireContextA Signature is 136 bytes long
trace:crypt:CryptAcquireContextA Type is 1
trace:crypt:CRYPTOAPI_LoadCSP ImagePath=rsaenh.dll
trace:crypt:CRYPTOAPI_LoadCSP pCspInfo->ImagePath=rsaenh.dll
err:crypt:CRYPTOAPI_LoadCSP Could not LoadLibrary 1114
err:crypt:CryptAcquireContextA Could not load CSP
[...]

I just tried running with +crypt,+relay and I get a crash before the main 
window comes up (with the non-drawn splash screen above everything) in 
INT21_FindFirstFCB on line 788 which is else pFCB = (FINDFILE_FCB *)fcb;

For some reason I cannot use the enter key in the console and trying to 
paste an enter from another window doesn't work either.  So using the 
debugger does not work, hitting Ctrl-C in the console does work though.  
Is this a problem other people are having?  I would have thought someone 
would have reported it by now if that was the case.

Anyway, if you think the patch you have might help me get RSAENH.DLL 
loaded and a bit further then I could probably have https sites working in 
IE shortly.

In any case I think if I just look over this code a little bit and make 
sure there are no absolutely glaring errors there should be no reason not 
to put it in the tree, even if it can't actually load a real CSP for some 
other reason.

-Dave




More information about the wine-devel mailing list