ASIUtil.CCyrypto

Our company has this website developed in-house many years ago now. It basically is for our sales team to keep track of their retention meetings and such It doesn’t really tie too much into the iMIS database, except I think it grabs member data, such as company, phone, etc. The login in part of this website uses a hash to read the user password. I’m not sure for what reason, but it seems it calls a couple ASI related DLLs called ASIUtil.CCrypto, and OmniHash.

My problem is, I’m trying to move our website to a temp server so I can upgrade our original server with more RAM, and install 2008 (32bit). As of now, our webserver is on a 2000 box…I know…

So, I’ve installed 2008 (32bit) on a temp server, and copied over all the files, setup IIS, the DSNs, etc. but when I attempt to login to AMS, it gives me an error. I’ve tweaked the IIS configs, triple checked settings, and I’m still getting errors. The part the code hangs on, is when calling the ASIUtil.CCYrpto (and I’m sure it’ll hang when it tries to call OmniHash too).

This is the error it spits out:

Server object error 'ASP 0177 : 800401f3'
Server.CreateObject Failed
/login_auth.asp, line 47
800401f3

And this is the code on the page:

dim cryObject
set cryObject = Server.CreateObject("ASIUtil.CCrypto")
strSucess = cryObject.Init(strDBName,strUID,strPWD)
strResult = cryObject.OmnisHash(sPassword)
Set cryObject = nothing

If aryUser(1,0) = strResult then
………………

After doing research, it looks like it referenced a couple DLLs. So I copied them to the new server, and attempted to register them, but it gave me errors (I forgot what they were…I can go recreate them if you need me to).

If anyone out there can help me solve this, it would be very much appreciated, as I'm pretty much stuck on how to fix this.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

double checking...

You registered the dlls like this, I assume (with paths as appropriate)?  If you get errors, what are they?

regsvr32 asiutil.dll

regsvr32 asidbupgrade.dll

regsvr32 asidbutil.dll

Well, I guess I was

Well, I guess I was registering the wrong dlls altogether.

I asked my imis consultant if she had the dlls, which she gave did give me the ones you mentioned. I registered without a hitch, but now it's saying incorrect password. I'm thinking the version my consultant sent me could have read the hashes differently. So I un-registered those, and copied the ones from the 2000 box. But two of the dlls are apparently still in use, so I can't replace them with the 2000 ones. Hopefully a reboot of the server will allow me to replace the newer dlls with the older ones. And hopefully then it will work. I'll report back tomorrow. Thanks for the help Henry.

No luck with replacing the

No luck with replacing the older dlls. I am still getting incorrect password errors. I've tried several different user accounts, I've even tried using the hash in the DB as the password just for kicks.

If I register all the dlls except asiutil.dll, I get the original error (Server object error 'ASP 0177 : 800401f3' Server.CreateObject Failed), but if I register just the asiutil.dll I get a bad password error. I've tried both the version on our current webserver, and the version I was given by my consultant. Both give me bad password errors. So it's something to do with what the asiutil.dll handles.

When I register the asiutil.dll, is there anything i need to do with the permissions/application pools/etc. in IIS?

I noticed on 2000 box I have 3 additional filters loaded on the root: sspifilt.dll, compfilt.dll, and md5filt.dll. I have tried to register these on the temp webserver, but it gives me the error of: 'The module "xxxxfilt.dll" failed to load. Make sure the binary is stored at the specified path or debug it for problems with the binary or dependent .DLL files. The specified module could not be found.'

Ideas?

Taking it slow

The additional filters would have been added to IIS by Control Panel > Add/Remove Windows Components or Server Manager on later versions of Windows.  They aren't specifically needed by ASIUtil.

When ASIUtil experiences certain kinds of errors, it returns a "generic" hash, meaning it doesn't use the secret key from the iMIS database.  Most likely, ASIUtil is unable to connect to the iMIS database to read the secret key.  Make sure the DSN/user/password are correct, and make sure the user can read System_Params.  (If you're on 15.1.2 or later, it also needs write access to the PCI audit log.)
--
Bruce Wilson
Director, Technical Services
RSM McGladrey, Inc.