I have just moved my Drupal 6 and Ubercart store from my development server to a live server with a different domain name. After correcting a few other errors on my site I started seeing this error when proceeding to the checkout:
Ubercart cannot find a necessary encryption key. Refer to the store admin dashboard to isolate which one.
The following solution has been developed with help from:
Do the following:
“You could try deleting the uc_credit_encryption_path variable in the database table “variable”, then try re-configuring your encryption keypath from the Ubercart admin menu. I would make a copy of your key file and put it out of the way before you do this.”
So do so.
Using phpMyAdmin I located the “variable” table and on page 11 located the “uc_credit_encryption_path” and just hit the delete button.
After you’ve done this if you try to go to the checkout you will now receive the following error:
Checkout cannot be completed without any payment methods enabled. Please contact an administrator to resolve the issue.
That’s because you will now have to complete the ‘Payment Methods’ in Ubercart again.
If you have the ‘Admin Menu‘ module installed on your Drupal installation – which I highly recommend having. Simply go to the following location in your admin menu: Store Admin > Configuration > Payment Settings. Then you will see the following screen:
You should now see a screen that – if you scroll down a bit, will look like this:
In the box in red type the path to where you want your SSL Cert stored. In my case I used ../cert. This takes takes me one level above my Drupal install to a directory where my SSL Certificate will be copied. (I had to try a few variations as I was kept getting told I had input an invalid path).
You should now see a screen that looks like this:
Now you should be able to proceed happily through your shopping cart all the way to the end.
I hope this helps!
All the best