CryptAcquireContext Failure, default/Type 024 requested

Vijay Kiran Kamuju infyquest at gmail.com
Fri Nov 9 17:44:24 CST 2007


Hi,

I am sending two patches one is the old patch.
The new patch contains the missing aes.c implementation and provider
implementation for AES.
Tests are failing for me.
Could you please tell why its failng?
I will improve   my tests once the failures are resolved.

Thanks,
VJ

On Nov 9, 2007 2:49 PM, Vijay Kiran Kamuju <infyquest at gmail.com> wrote:
> Hi Juan
>
>
> On Nov 9, 2007 2:21 PM, Juan Lang <juan.lang at gmail.com> wrote:
> > Hi Vijay,
> >
> > you forgot aes.c in your patch - please remember to git add it, then
> > commit it along with the rest of the changes.
> >
> > From what you've sent, your patch looks pretty good so far.  A few comments:
> >
> > @@ -161,6 +162,10 @@ static const PROV_ENUMALGS_EX
> > aProvEnumAlgsEx[4][RSAENH_MAX_ENUMALGS+1] =
> >    {CALG_RC2,       40, 40,   56,0,                    4,"RC2",
> > 24,"RSA Data Security's RC2"},
> >    {CALG_RC4,       40, 40,   56,0,                    4,"RC4",
> > 24,"RSA Data Security's RC4"},
> >    {CALG_DES,       56, 56,   56,0,                    4,"DES",
> > 31,"Data Encryption Standard (DES)"},
> > +  {CALG_AES,      128,128,  128,0,                    4,"AES",
> > 35,"Advanced Encryption Standard (AES)"},
> > +  {CALG_AES_128,  128,128,  128,0,                    8,"AES-128",
> > 39,"Advanced Encryption Standard (AES-128)"},
> > +  {CALG_AES_192,  192,192,  192,0,                    8,"AES-192",
> > 39,"Advanced Encryption Standard (AES-192)"},
> > +  {CALG_AES_256,  256,256,  256,0,                    8,"AES-256",
> > 39,"Advanced Encryption Standard (AES-256)"},
> >
> > I'm not sure AES support should be included in every "personality" of
> > rsaenh.  Specifically, some cryptographic providers don't support it.
> > Here's a blog that mentions how the MS_ENHANCED_PROV provider doesn't
> > support it, but the MS_ENH_RSA_AES_PROV does:
> > http://sys.cs.rice.edu/~sethn/wordpress/?p=19
> I think I'll split the patch into 3 parts
> 1) basic AES implementation in rsaenh
> 2) Add AES provider info with registering  MS_ENH_RSA_AES_PROV.
>     I have to make aProvEnumAlgsEx[4][RSAENH_MAX_ENUMALGS+1] to
> aProvEnumAlgsEx[5][RSAENH_MAX_ENUMALGS+1]
> and add the new algorithms, can you help me what algo's should I add
> to the new one.
> Add the registering code for type24 provider.
> 3) Tests
>
> >
> > +    if (!result) {
> > +        /* rsaenh compiled without OpenSSL */
> > +        ok(GetLastError()==NTE_BAD_ALGID, "%08x\n", GetLastError());
> > +        return;
> > +    }
> >
> > Our rsaenh hasn't built against OpenSSL in some time, so this test
> > should be removed from existing tests.  You don't need to do that if
> > you don't want, but don't bother adding it to new tests.
> >
> > +    result = CryptEncrypt(hKey, (HCRYPTHASH)NULL, TRUE, 0, pbData, &dwLen, 16);
> > +    ok(result, "%08x\n", GetLastError());
> > +
> > +    result = CryptDecrypt(hKey, (HCRYPTHASH)NULL, TRUE, 0, pbData, &dwLen);
> > +    ok(result, "%08x\n", GetLastError());
> >
> > You should check that the encrypted output matches some expected
> > value, and that the decrypted output matches the plaintext input.
> Well, I have tested the decrypted output by putting printf's.
> I will make sure we have good tests for it.
> Will send new patch set soon.
>
> >
> > Thanks very much for getting this started.
> > --Juan
> >
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Add-AES-support-to-rsaenh.dll-with-tests.patch
Type: text/x-diff
Size: 13780 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20071109/e13cf133/attachment-0002.patch 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Add-RSA-AES-Provider-for-rsaenh.dll.patch
Type: text/x-diff
Size: 99909 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20071109/e13cf133/attachment-0003.patch 


More information about the wine-devel mailing list