PDA

View Full Version : Unable to authorize payment: cannot open shared object file: No such file or director


Lee Forester
08-11-06, 09:48 PM
Hi,

I'm having difficulties getting LinkPoint credit card authorization for a new Miva 4.22 store. The unfolding saga:

Had storefront on Valueweb shared server running 4.23. Everything was fine.

Moved to VW dedicated server (Linux) with Miva 4.22. Rebuilt store from scratch since I couldn't figure out how to make it backwards compatable. I am pretty much a Linux newb.

Store seemed to function fine, but when I brought it online I got the error: Unable to authorize payment-Linkpoint not supported.

After reading of a similar case in this fine newsgroup, I got the linkpoint-4.11-linux_glibc2.so file, put it on the server and pointed to it in the miva.conf file.

Now I get: cannot open shared object file: No such file or directory

Reading here about a similar case (not with LinkPoint) it seemed that this could be a certificate issue with LinkPoint. Currently I do see a certificate in the Payment Configuration module Cardservice/LinkPoint Payment Gateway but I don't remember requesting a new certificate when we migrated. Could this be the issue?

In the mivadata/LinkPoint directory I have a file called Evia Learning.pem

Other info:
MM 4.22
Miva engine 4.11
Cardservice/LinkPoint module 4.2403

Any other suggestions welcome. Thanks in advance.

dotCOM_host
08-11-06, 10:47 PM
First - you shouldn't have had to recreate the store from scratch - you could simply copy your 4.23 store from shared to dedicated server. Then again - Valueweb doesn't know that, or won't help their clients with such basics so no wonder you got stuck with this task... What's even worse is that you went a version back, rather than forward - there have been a few issues patched up in these older versions, and you should be running v4.24, not 4.22 or 4.23...

Second - the error you are now getting indicates that SOMETHING in your mivavm.conf file is specified, but the path doesn't appear to be correct. Verify every single line and make sure all files referenced in your mivavm.conf are where the conf file thinks they are. If not, adjust your paths accordingly.

Third - your LinkPoint file should be based on the 8-digit store code as registered with LinkPoint and the filename should be something like XXXXXXXX.pem (where XXXXXXXX is your 8-digit storecode). Normally you don't have to create this one by hand - entering the encryption key in your store should create this file automatically, if the directory permissions and ownership are set up properly.

Fourth - your MIVA VM v4.11 is terribly outdated and has security issues. Upgrade it to 4.14+.

Hope this helps,

Lee Forester
08-11-06, 11:44 PM
> First - you shouldn't have had to recreate the store from scratch - you could simply copy your 4.23 store from shared to dedicated server. Then again - Valueweb doesn't know that, or won't help their clients with such basics so no wonder you got stuck with this task... What's even worse is that you went a version back, rather than forward - there have been a few issues patched up in these older versions, and you should be running v4.24, not 4.22 or 4.23...

I'll email Miva and get the 4.24 files, might as well...

>Second - the error you are now getting indicates that SOMETHING in your mivavm.conf file is specified, but the path doesn't appear to be correct. Verify every single line and make sure all files referenced in your mivavm.conf are where the conf file thinks they are. If not, adjust your paths accordingly.

The pathname seems correct. It has me scratching my head. I can't see any errors in it. Miva works fine EXCEPT for authorizing CCs. I edited the miva.conf file to point to the linkpoint-v4.11-linux_glibc2.so file and I can't see anything wrong with the path.

> Third - your LinkPoint file should be based on the 8-digit store code as registered with LinkPoint and the filename should be something like XXXXXXXX.pem (where XXXXXXXX is your 8-digit storecode). Normally you don't have to create this one by hand - entering the encryption key in your store should create this file automatically, if the directory permissions and ownership are set up properly.

That's interesting, my .pem file doesn't have any numbers in it, just the store name. And since there's a space in it it has me suspicious.

> Fourth - your MIVA VM v4.11 is terribly outdated and has security issues. Upgrade it to 4.14+.

I'll handle this too.

Thanks for the input - I'm still not sure upgrading to 4.24/4.14 will solve the issue. Could it be something else other than a bad pathname?

dotCOM_host
08-11-06, 11:51 PM
Could be, but at this point I'd suspect a problem with OpenSSL installation. It's either not installed, not enabled on your domain, paths not specified in your mivavm.conf, or something else is at play. This one could be very easy to troubleshoot, but depending on how Valueweb set up your server, it could also be a bit of a nightmare. I've seen some of their servers so misconfigured (out of the box, NEW servers!) that it would be often faster to just reload it from scratch the right way than troubleshoot their... ahem... unique configuration style.

Lee Forester
08-12-06, 12:26 AM
>Could be, but at this point I'd suspect a problem with OpenSSL installation. It's either not installed, not enabled on your domain, paths not specified in your mivavm.conf, or something else is at play. This one could be very easy to troubleshoot, but depending on how Valueweb set up your server, it could also be a bit of a nightmare. I've seen some of their servers so misconfigured (out of the box, NEW servers!) that it would be often faster to just reload it from scratch the right way than troubleshoot their... ahem... unique configuration style.

Well, looking at the miva.conf file:

<BUILTIN-LIB LIBRARY =
"/usr/lib/miva-empresa/lib/builtins/crypto.so">

I finally realized that the pathnames weren't really absolute, just absolute to the virtual server (no duh to everyone out there, big insight for me). So I have successfully set the pathname to the .so file.

Next error:

Unable to authorize payment: Error using private key '/var/www/mivadata/LinkPoint/Evia Learning.pem': no start line

Looks like I should reinstall the private key? I can ask LinkPoint for help in that?

dotCOM_host
08-12-06, 12:41 AM
Open that .pem file in a text editor (vi or similar if logged in via SSH to your server) - it should contain two sections that look something like this:

-----BEGIN RSA PRIVATE KEY-----
aiwuh iaowuh faikush fdiashdfolaushdf oikuashyiku
askdhf aoisudh foiashd foiashd foiahs dfoiauhsd foia
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
aslkdfj a;lksih dfkla;shd flkiahs dflkahsdlfkah sdlfkahsdlfk
aksjhdf lkashdf lkajshd flkahs dflkahs dflkhas dflkjhasldfh
-----END CERTIFICATE-----

where the seemingly random characters are actual certificate keys provided by LinkPoint. Make sure you have all the BEGIN and END lines in there as well, not just the certificate key data.

I still think the .pem file should be named XXXXXX.pem where XXXXXX is your 6 digit store code (I may have said 8 before, but I just had another look and it's really 6)

Lee Forester
08-12-06, 12:49 AM
Interesting, my .pem file has no BEGIN RSA PRIVATE KEY, it starts with

-----BEGIN CERTIFICATE-----
and ends with

-----END CERTIFICATE-----

I don't like the name of the .pem file either, but at least it seems to be working.

The lack of a private key would explain why it's not reading one I guess ;-)

Lee Forester
08-12-06, 02:02 AM
Thanks for your help, here's how I resolved the problem.

I went to my account with LinkPoint and downloaded a new .pem file.

I loaded the new file with the proper 6-digit number.

In my Miva Admin, I changed the name of the store from the business name to the 6-digit number (which is what it should have been).

This worked and I think I'm OK. Thanks again!