General information
Category:
Windows API functions
Jonathan -
Thanks for your thoughts on this one. I am mostly ignorant when it comes to the win api so please forgive me if that is obvious. I admit it up front. The init method of the class contains a call to the following code:
LOCAL lhProviderHandle, lcProviderName, lcContainerName
*** Create Handle to Crypto Provider
If type('this.cProviderName') != T_CHARACTER then
this.cProviderName = dcEmpty && Default
EndIf
lcProviderName = this.cProviderName
If type('this.cContainerName') != T_CHARACTER then
this.cContainerName = dcFOXPRO_APP && Default
EndIf
lcContainerName = this.cContainerName
lhProviderHandle = 0
if !this.CreateRandomCryptKeys(lcContainerName,lcProviderName,dnPROV_RSA_FULL)
return .F.
endif
this.CryptAcquireContext(@lhProviderHandle, ;
lcContainerName, lcProviderName, dnPROV_RSA_FULL,0)
this.hProviderHandle = lhProviderHandle
Return .T.
dcEmpty appear to be .null. although I can't find where it is initialized. Nevertheless, it appears the third parameter is being passed as it should. That would seem to leave the problem with the later assignment:
this.oCrypto.cProviderName = "Microsoft Base Cryptographic Provider v1.0"
that is used in the actual implementation of the class. Could it be that there is a more specific provider name that should be referenced? If so how would I know what it should be?
-btw The actual vcx file is the one that came with FoxPro and has not been changed. So, I would expect it to be right in it's code (as it seems to be).
Thanks for any further thought on this.
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only