I've been provided with a custom ActiveX DLL (written in C++) that reads a certiifcate to generate a signature for a passed XML string, and I'm having trouble instantiating it.
The DLL is registered succesfully on my computer and I've explicitly granted IUSR_<machinename> to use it.
The DLL comes with a testtool (written in Visual Basic) which instantiates the object like this:
Dim loCertCryptCOM As New CCOMCRYPTLib.CCrypt
As you can see, this testtool uses "CCOMCRYPTLib.CCrypt" to instantiate the object from the DLL.
However, if I try to do the same from my ASP/VBscript application, like this:
Set l_oCertCrypt = Server.Createobject("CCOMCRYPTLib.CCrypt")
I get an "Server.CreateObject Failed. Invalid Class string" error.
I also have the C++ sources for this DLL and browsing those, I saw that the ProgID for the DLL is "CComCrypt.CCrypt" which puzzles me, since the VB-application uses something else for the instantiation.
To test, I tried instantiating the object like this:
Set l_oCertCrypt = Server.Createobject("CComCrypt.CCrypt")
and it seems to work, except that the function call that I need to trigger is not recognised then (error: Type mismatch: 'l_oCertCrypt.CreateHash').
It seems strange that the Visual Basis application is successfull in instantiating an object that I can't instantiate from my ASP/VBscript webapplication.
And the Visual Basic application has no problem triggering the CreateHash() method, and I can't get that working.
Any ideas what I might be doing wrong here?
--
Marja