Freeside:3:Documentation:Administration:Encrypted Credit Cards

From Freeside
Jump to: navigation, search


The following steps are for Crypt::OpenSSL::RSA.

To Set Up Encrypted Credit Cards:

  1. Make sure that Crypt::OpenSSL::RSA is compiled and working.
  2. Generate the public and private keys. Here's the script - I'll add it to cvs...
    • NOTE: Create a new file named something like and add the following into the file:

use Crypt::OpenSSL::RSA;

$length = 2048;

$rsa = Crypt::OpenSSL::RSA->generate_key($length);

print "Public:\n". $rsa->get_public_key_string();

print "Private:\n". $rsa->get_private_key_string();

  1. Once the file is created run it
    • "root@freeside# perl" and you should get your public and private keys as the output.
  2. Open the freeside config screen (configuration->settings) and edit your configuration.
    • Set the module to Crypt::OpenSSL::RSA
    • Set encryption to on (check it)
    • Set the public and private keys
  3. Save and restart the web server.

The next credit card you insert will be encrypted. Old data will remain decrypted until the credit card is updated (unless replacement is scripted).


The following items don't yet work on a "front-end" machine without the private key. Eventually we could queue a job for these to be processed by a "back-end" machine.

  • "Bill now" can't run card/echeck collections
  • No "Process payment" link on customer view