Encryption setup error: Key generation failed: OpenSSL private key generation failed

Question:

Q: When I configure credit card encryption, I receive the following error:

Key generation failed: OpenSSL private key generation failed

What does this mean, and how do I fix it?

Answer:

This message is generated when a call to PHP's openssl_pkey_new() function fails. The PHP documentation for this function notes only one error condition for this function:

You need to have a valid openssl.cnf installed for this function to operate correctly.

It provides a link to the following for more information about openssl.cnf: http://www.php.net/manual/en/ref.openssl.php#openssl.installation

In short, it's likely that your openssl.cnf is missing or not being located by the OpenSSL libraries used by PHP. This is a PHP error and is unfortunately not something we can provide support for. You'll need to get your systems administrator to look into this, or select an alternate encryption method.