msasek Posted January 13, 2003 Share Posted January 13, 2003 Hi, I have searched on this, and have not found an answer. I am trying to install the GPG Credit Card Encryption contribution. I have it working with the current snapshot, but how do I decrypt the email that is sent by this contribution on my local windows machine? Any help is appreciated. Quote Link to comment Share on other sites More sharing options...
CC Posted January 14, 2003 Share Posted January 14, 2003 Hi mate Which version are you using? Or just drop the link to the contribution here will ya. I use GPG too, but I need to see the code of your version. Ta. CC. Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 I am using this one : http://www.oscommerce.com/community/contri...ions,611/page,2 I am using 0.92 from 2-8-2002. I managed to make it work with the current cvs, mostly, but I cannot seem to get the CC# to transfer to the encrypted email. It sends the transaction number, but it is blank where the cc# should be. Thanks. Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 Here is the code I have up to this point (just the 2 functions that handle the gpg and email creation (Note the commented lines are the original code in the current cc.php). Everything works except the cc# is not being included in the e-mail. I'm sure I am missing something that is obvious. Please point it out to me! Thanks. function before_process() { global $HTTP_POST_VARS, $order; if ( (defined('MODULE_PAYMENT_CCGPG_ENCRYPT')) && (tep_validate_email(MODULE_PAYMENT_CCGPG_ENCRYPT == 'GPG')) ) { $len = strlen($GLOBALS['cc_card_number']); $new_cc =substr('XXXXXXXXXXXXXXXX', 0, $len-4) . substr($GLOBALS['cc_number'], -4); $GLOBALS['cc_toencrypt'] = $GLOBALS['cc_number']; $GLOBALS['cc_number'] = $new_cc; //$this->cc_middle = substr($HTTP_POST_VARS['cc_number'], 4, ($len-8)); //$order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 8)) . substr($HTTP_POST_VARS['cc_number'], -4); } } function after_process() { global $insert_id; if ( (defined('MODULE_PAYMENT_CCGPG_ENCRYPT')) && (MODULE_PAYMENT_CCGPG_ENCRYPT == 'GPG') ) { $message = 'Order #' . $insert_id . "nn" . 'Number: ' . $GLOBALS['cc_toencrypt'] . "nn"; $tmpToken = md5(uniqid(rand())); $plainTxt = "/home/mydir/temp/" . "$tmpToken" . "anca"; $crypted = "/home/mydir/temp/" . "$tmpToken" . "anca.asc"; $gpghome="/home/mydir/"; //where is your pubring? That dir has to have write access. $gpgpath="gpg"; //where is the executable $gpgrecipient="My Name (comment) <my@user.name>"; //the key used for encryption $fp = fopen($plainTxt, "w+"); fputs($fp, $message); fclose($fp); system("export HOME=" . $gpghome . ";" . $gpgpath . " --batch --always-trust --quiet --no-secmem-warning --compress-algo 1 -ear '" . $gpgrecipient . "' $plainTxt"); $fd = fopen($crypted, "r"); $message = fread($fd, filesize($crypted)); fclose($fd); unlink($plainTxt); unlink($crypted); tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, 'Extra Order Info', $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); //tep_mail('', MODULE_PAYMENT_CC_EMAIL, 'Extra Order Info: #' . $insert_id, $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 My trouble can be boiled down to this: I don't know what variable the CC# is stored in. Here is the code that is not working: $message = 'Order #' . $insert_id . "nn" . 'Number: ' . $GLOBALS['cc_toencrypt'] . "nn"; If you look in the previous code posted earlier, you will see // commented code, that is the original code from the latest cc.php cvs release. The active code has been inserted from the ccgpg.php file, but it does not work. So, I am looking for help adapting this. What is the variable that holds the cc number? Quote Link to comment Share on other sites More sharing options...
thiswaynow Posted January 14, 2003 Share Posted January 14, 2003 You need to change the before_process function. Please find below the functions I use, which isn't very neat, but works for me: function before_process() { global $HTTP_POST_VARS, $order; $this->cc_complete = $HTTP_POST_VARS['cc_number']; $order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 8)) . substr($HTTP_POST_VARS['cc_number'], -4); if ( (defined('MODULE_PAYMENT_CC_EMAIL')) && (tep_validate_email(MODULE_PAYMENT_CC_EMAIL)) ) { // not used here $len = strlen($HTTP_POST_VARS['cc_number']); $this->cc_middle = substr($HTTP_POST_VARS['cc_number'], 4, ($len-8)); $order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 8)) . substr($HTTP_POST_VARS['cc_number'], -4); } } and reference the card number: $message = 'Order #' . $insert_id . "nn" . 'Number: ' . $this->cc_complete . "nn"; [/code] Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 I am slowly starting to figure this out. I added $HTTP_POST_VARS to the globals line of the function after process. Then I added the variable $HTTP_POST_VARS['cc_number'] to the $message like this: $message = 'Order #' . $insert_id . "nn" . 'Number: ' . $HTTP_POST_VARS['cc_number'] . "nn"; This successfully gets the credit card info into the encrypted email, but it also allows the CC# to be stored unencrypted in the database. My final question, and the one I need the most help with, How do I store "XXXXXXXXXXXX" in the database, rather than the CC#? Can somebody help out here? I dont even know where to begin. Thank you! Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 thiswaynow, thanks for the help. I am going to try your suggestion. I will be back... Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 Excellent! Works perfectly. I knew I was missing the point. I really do appreciate your help. Quote Link to comment Share on other sites More sharing options...
\o/ Posted January 14, 2003 Share Posted January 14, 2003 Can anyone PM me or post their code for this here? I have tried for ages now and cant get it to work with the latest snapshot. And it is beating me massively! Any help is very very very much appreciated. Thanks guys. Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 Below is the current snapshot (20030109) cc.php changed to work with the ccgpg contribution. Just save it as ccgpg.php and put it in your payment modules dir. Follow the instructions in the contribution- the link to it is posted earlier in this thread. <?php /* $Id: ccgpg.php,v 1.48 2002/11/25 18:23:15 dgw_ Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License */ class ccgpg { var $code, $title, $description, $enabled; // class constructor function ccgpg() { $this->code = 'ccgpg'; $this->title = MODULE_PAYMENT_CCGPG_TEXT_TITLE; $this->description = MODULE_PAYMENT_CCGPG_TEXT_DESCRIPTION; $this->enabled = ((MODULE_PAYMENT_CCGPG_STATUS == 'True') ? true : false); } // class methods function javascript_validation() { $js = ' if (payment_value == "' . $this->code . '") {' . "n" . ' var cc_owner = document.checkout_payment.cc_owner.value;' . "n" . ' var cc_number = document.checkout_payment.cc_number.value;' . "n" . ' if (cc_owner == "" || cc_owner.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "n" . ' error_message = error_message + "' . MODULE_PAYMENT_CCGPG_TEXT_JS_CC_OWNER . '";' . "n" . ' error = 1;' . "n" . ' }' . "n" . ' if (cc_number == "" || cc_number.length < ' . CC_NUMBER_MIN_LENGTH . ') {' . "n" . ' error_message = error_message + "' . MODULE_PAYMENT_CCGPG_TEXT_JS_CC_NUMBER . '";' . "n" . ' error = 1;' . "n" . ' }' . "n" . ' }' . "n"; return $js; } function selection() { global $order; for ($i=1; $i<13; $i++) { $expires_month[] = array('id' => sprintf('%02d', $i), 'text' => strftime('%B',mktime(0,0,0,$i,1,2000))); } $today = getdate(); for ($i=$today['year']; $i < $today['year']+10; $i++) { $expires_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%Y',mktime(0,0,0,1,1,$i))); } $selection = array('id' => $this->code, 'module' => $this->title, 'fields' => array(array('title' => MODULE_PAYMENT_CCGPG_TEXT_CREDIT_CARD_OWNER, 'field' => tep_draw_input_field('cc_owner', $order->billing['firstname'] . ' ' . $order->billing['lastname'])), array('title' => MODULE_PAYMENT_CCGPG_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('cc_number')), array('title' => MODULE_PAYMENT_CCGPG_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('cc_expires_year', $expires_year)))); return $selection; } function pre_confirmation_check() { global $HTTP_POST_VARS; include(DIR_WS_CLASSES . 'cc_validation.php'); $cc_validation = new cc_validation(); $result = $cc_validation->validate($HTTP_POST_VARS['cc_number'], $HTTP_POST_VARS['cc_expires_month'], $HTTP_POST_VARS['cc_expires_year']); $error = ''; switch ($result) { case -1: $error = sprintf(TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4)); break; case -2: case -3: case -4: $error = TEXT_CCVAL_ERROR_INVALID_DATE; break; case false: $error = TEXT_CCVAL_ERROR_INVALID_NUMBER; break; } if ( ($result == false) || ($result < 1) ) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&cc_owner=' . urlencode($HTTP_POST_VARS['cc_owner']) . '&cc_expires_month=' . $HTTP_POST_VARS['cc_expires_month'] . '&cc_expires_year=' . $HTTP_POST_VARS['cc_expires_year']; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } $this->cc_card_type = $cc_validation->cc_type; $this->cc_card_number = $cc_validation->cc_number; } function confirmation() { global $HTTP_POST_VARS; $confirmation = array('title' => $this->title . ': ' . $this->cc_card_type, 'fields' => array(array('title' => MODULE_PAYMENT_CCGPG_TEXT_CREDIT_CARD_OWNER, 'field' => $HTTP_POST_VARS['cc_owner']), array('title' => MODULE_PAYMENT_CCGPG_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_CCGPG_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['cc_expires_month'], 1, '20' . $HTTP_POST_VARS['cc_expires_year']))))); return $confirmation; } function process_button() { global $HTTP_POST_VARS; $process_button_string = tep_draw_hidden_field('cc_owner', $HTTP_POST_VARS['cc_owner']) . tep_draw_hidden_field('cc_expires', $HTTP_POST_VARS['cc_expires_month'] . $HTTP_POST_VARS['cc_expires_year']) . tep_draw_hidden_field('cc_type', $this->cc_card_type) . tep_draw_hidden_field('cc_number', $this->cc_card_number); return $process_button_string; } function before_process() { global $HTTP_POST_VARS, $order; $this->cc_complete = $HTTP_POST_VARS['cc_number']; $order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 4)) . substr($HTTP_POST_VARS['cc_number'], -2); if ( (defined('MODULE_PAYMENT_CCGPG_ENCRYPT')) && (tep_validate_email(MODULE_PAYMENT_CCGPG_ENCRYPT)) ) { // not used here $len = strlen($HTTP_POST_VARS['cc_number']); $this->cc_middle = substr($HTTP_POST_VARS['cc_number'], 4, ($len-8)); $order->info['cc_number'] = substr($HTTP_POST_VARS['cc_number'], 0, 4) . str_repeat('X', (strlen($HTTP_POST_VARS['cc_number']) - 4)) . substr($HTTP_POST_VARS['cc_number'], -2); } } //you must put your correct paths in this section, including the path to your gpg keyrings. Also enter the correct gpg username below. function after_process() { global $HTTP_POST_VARS, $insert_id; if ( (defined('MODULE_PAYMENT_CCGPG_ENCRYPT')) && (MODULE_PAYMENT_CCGPG_ENCRYPT == 'GPG') ) { $message = 'Order #' . $insert_id . "nn" . 'Number: ' . $this->cc_complete . "nn"; $tmpToken = md5(uniqid(rand())); $plainTxt = "/path/to/temp/" . "$tmpToken" . "anca"; $crypted = "/path/to/temp/" . "$tmpToken" . "anca.asc"; $gpghome="/path/to/pubring/"; //where is your pubring? That dir has to have write access. $gpgpath="/path/to/gpg"; //where is the executable -this must be the correct path to gpg $gpgrecipient="First Last (comment) <your@email.address>"; //the key used for encryption $fp = fopen($plainTxt, "w+"); fputs($fp, $message); fclose($fp); system("export HOME=" . $gpghome . ";" . $gpgpath . " --batch --always-trust --quiet --no-secmem-warning --compress-algo 1 -ear '" . $gpgrecipient . "' $plainTxt"); $fd = fopen($crypted, "r"); $message = fread($fd, filesize($crypted)); fclose($fd); unlink($plainTxt); unlink($crypted); tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, 'Extra Order Info', $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); //tep_mail('', MODULE_PAYMENT_CC_EMAIL, 'Extra Order Info: #' . $insert_id, $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } } function get_error() { global $HTTP_GET_VARS; $error = array('title' => MODULE_PAYMENT_CCGPG_TEXT_ERROR, 'error' => stripslashes(urldecode($HTTP_GET_VARS['error']))); return $error; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_CCGPG_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Credit Card Module', 'MODULE_PAYMENT_CCGPG_STATUS', '1', 'Do you want to accept credit card payments?', '6', '0', 'tep_cfg_select_option(array('True', 'False'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Split Credit Card E-Mail Address', 'MODULE_PAYMENT_CCGPG_ENCRYPT', 'GPG', 'What is the preferred encryption type? (currently only the GPG type has been implemented)', '6', '0', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_PAYMENT_CCGPG_STATUS', 'MODULE_PAYMENT_CCGPG_ENCRYPT'); } } ?> Quote Link to comment Share on other sites More sharing options...
\o/ Posted January 14, 2003 Share Posted January 14, 2003 Thanks msasek That is great! I only have one problem. And I know this must sound silly but... here goes anyway. I cant get it to show in the catalog, even thos it is enabled in admin. Green button is on, but it no show. Am I doing something obviously wrong?? Thanks again, thats brill! Ron. Quote Link to comment Share on other sites More sharing options...
\o/ Posted January 14, 2003 Share Posted January 14, 2003 Oh I am sorry, like a plonker, I hadnt actually clicked the radio button in in admin to true, I just clicked the green button. Sorry I thought they did the same thing. :oops: Thanks again msasek. Quote Link to comment Share on other sites More sharing options...
\o/ Posted January 14, 2003 Share Posted January 14, 2003 Oh sorry one more problem, I am getting some errors now when testing. I am sure it is to do with this lot: $plainTxt = "/tmp/" . "$tmpToken" . "anca"; $crypted = "/tmp/" . "$tmpToken" . "anca.asc"; $gpghome="/home/useraccount"; //where is your pubring? That dir has to have write access. $gpgpath="/usr/bin/gpg"; //where is the executable $gpgrecipient="blib@useraccount.com"; //the key used for encryption I know 100% the path to /gpg, the host has confirmed, but I am not sure about the others. Did you guys create directories for these in your catalog file? Or should they point somewhere specific. Sorry if I am being dumb, I just dont understand this yet... :oops: Thanks Ron Quote Link to comment Share on other sites More sharing options...
msasek Posted January 14, 2003 Author Share Posted January 14, 2003 You need to run gpg from the command line, and create your public and private keys. Then you need to move the public key to a dir that is writable. Then you need to note the path to the public key and enter that into the script. The /tmp/ dir may also give you trouble. Make a tmp dir on your account. Then the path is /home/youraccount/tmp and make sure it is chmod 777. Go to http://www.gnupg.org/ for instructions on how to use gpg, create key pairs, etc... If it sounds complicated, it is. ;) Quote Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted January 15, 2003 Share Posted January 15, 2003 Could any updates be forwarded to the Contributions section - otherwise any work here in the forums will eventually get lost :( Thanks! Quote , osCommerce Link to comment Share on other sites More sharing options...
thiswaynow Posted January 15, 2003 Share Posted January 15, 2003 msasek, I'm glad that worked for you, and excellent idea posting the entire code. Quote Link to comment Share on other sites More sharing options...
\o/ Posted January 15, 2003 Share Posted January 15, 2003 Of course Harald I'm sure msasek would like to do this as it is his hard work that has gone into this. But if he doesnt I will do it, with all credit to Msasek. Although I still aint got it working yet. :lol: I am having to speak to my host about making thses keys... I hope I am in right in doing that, as I dont have acces to the cli. Ron Quote Link to comment Share on other sites More sharing options...
\o/ Posted January 15, 2003 Share Posted January 15, 2003 Well my host replied and said he set up a number of things for me. However he says he does not follow me when I say that something needs runnng from the command line, so I have been looking on GnuPG.org for the info and cant find what command line needs to be run in order to create the keys. Does anybody know the exact line I could pass to me host please? They know very little about GPG, cos they only installed it after I told them about it. :wink: and that was only cos of this forum. haha. As always any help greatly appeciated. Ron Quote Link to comment Share on other sites More sharing options...
\o/ Posted January 15, 2003 Share Posted January 15, 2003 oooh, I just found this bit: gpg --gen-key I guess this MUST be the key generator... Argh then this: gpg --export [uID] To export. Ok, I'll send all this to him. If I am on the completely wrong track will you let me know please guys, cos I'll only send him on a wild goose chase... thanks Quote Link to comment Share on other sites More sharing options...
msasek Posted January 15, 2003 Author Share Posted January 15, 2003 Contribution added: http://www.oscommerce.com/community/contributions,611 :) o/: linux command line = use ssh or telnet. To generate keys, use the gpg --gen-key command and follow the instructions. That is all you need to do. Then go to the /.gnupg dir that gpg creates and download your secring.gpg and pubring.gpg to your local computer. You will need them to decrypt. Then copy your pubring.gpg to any dir above your public_html dir and give write permissions. Then create a temp dir and give world write permissions (777). Now set the correct paths in the contibution (where your key and temp are located). Set the correct username for the key in the contribution. This should look like: User Name (comment) <email@address.com> Do all that right, and it will work for you. Do it wrong, and get many errors when you checkout! :shock: Quote Link to comment Share on other sites More sharing options...
Clint Fern Posted January 17, 2003 Share Posted January 17, 2003 Hi, I've been trying to install this mod for ages - and despite all the help here I'm still struggling :crazy: - if anyone can help I would be eternally grateful - then the shop can launch. I'm not sure if it's a gpg or a php problem..... I'm using a pre-Nov release and v0.92 of the contribution - Linux host. The script is running from httpsdocs/catalog2/catalog/includes/modules/payment/ccgpg.php the pubring is in httpdocs/keyring/ - in this folder is just the pubring.gpg file (no other file, no sub .gnupg folder) - this works to unencrypt an e-mail on my own computer. Keyring folder is chmod 777 although httpdocs isn't. the tmp directory is in httpsdocs/tmp - it is chmod 777 (although obviously httpsdocs isn't) The code is as follows - if ( (defined('MODULE_PAYMENT_CCGPG_ENCRYPT')) && (MODULE_PAYMENT_CCGPG_ENCRYPT == 'GPG') ) { $message = 'Order #' . $insert_id . "nn" . 'Number: ' . $GLOBALS['cc_toencrypt'] . "nn"; $tmpToken = md5(uniqid(rand())); $plainTxt = "/usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/tmp/" . "$tmpToken" . "anca"; $crypted = "/usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/tmp/" . "$tmpToken" . "anca.asc"; // $gpghome="/usr/local/psa/home/vhosts/pipersfarm.com/home/pubring.gpg"; //where is your pubring? That dir has to have write access. $gpghome="/usr/local/psa/home/vhosts/pipersfarm.com/httpdocs/keyring/"; //where is your pubring? That dir has to have write access. $gpgpath="/usr/local/bin"; //where is the executable -this must be the correct path to gpg $gpgrecipient="Richy Brigham (pipersfarm.com) <sales@pipersfarm.com>"; //the key used for encryption $fp = fopen($plainTxt, "w+"); fputs($fp, $message); fclose($fp); system("export HOME=" . $gpghome . " ;" . $gpgpath . " --batch --always-trust --quiet --no-secmem-warning --compress-algo 1 -ear '" . $gpgrecipient . "' $plainTxt"); $fd = fopen($crypted, "r"); $message = fread($fd, filesize($crypted)); fclose($fd); unlink($plainTxt); unlink($crypted); tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, 'Extra Order Info', $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); //tep_mail('', MODULE_PAYMENT_CC_EMAIL, 'Extra Order Info: #' . $insert_id, $message, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } } The error messages I get running the script are ; Warning: fopen("/usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/tmp/46db680d4279f2037c56fd6e6403ec23anca.asc", "r") - No such file or directory in /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/catalog2/catalog/includes/modules/payment/ccgpg.php on line 281 Warning: stat failed for /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/tmp/46db680d4279f2037c56fd6e6403ec23anca.asc (errno=2 - No such file or directory) in /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/catalog2/catalog/includes/modules/payment/ccgpg.php on line 282 Warning: fread(): supplied argument is not a valid File-Handle resource in /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/catalog2/catalog/includes/modules/payment/ccgpg.php on line 282 Warning: fclose(): supplied argument is not a valid File-Handle resource in /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/catalog2/catalog/includes/modules/payment/ccgpg.php on line 283 Warning: unlink() failed (No such file or directory) in /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/catalog2/catalog/includes/modules/payment/ccgpg.php on line 285 Warning: Cannot add header information - headers already sent by (output started at /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/catalog2/catalog/includes/modules/payment/ccgpg.php:281) in /usr/local/psa/home/vhosts/pipersfarm.com/httpsdocs/catalog2/catalog/includes/functions/general.php on line 23 I've trid lots of differnt path names - all resulting in the same errors. Is it a problem with gpg working or maybe a problem with the php running in safe-mode - I'm at a complete loss and I fear for my sanity :cry: Thanks in anticipation of help Clint Quote Link to comment Share on other sites More sharing options...
Clint Fern Posted January 17, 2003 Share Posted January 17, 2003 Doh! :oops: I meant that the pubring is in the httpdocs/keyring folder, not httpsdocs as I previously typed.... cheers clint[/i][/b] Quote Link to comment Share on other sites More sharing options...
Rodland Posted July 7, 2003 Share Posted July 7, 2003 Contribution added:http://www.oscommerce.com/community/contributions,611 ....... Then copy your pubring.gpg to any dir above your public_html dir and give write permissions. when you say ABOVE your public_html directory do you mean the directory BEFORE or AFTER the public_html director? Not sure what this term means. I presume ABOVE means BEFORE so that it cannot be accessed directly via the browser? (i.e mydomain.com/pubring/)? CMR Quote Link to comment Share on other sites More sharing options...
thiswaynow Posted July 24, 2003 Share Posted July 24, 2003 Exactly. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.