Watch RapidSSL’s Tutorial Videos for a more visual experience!
Note: If you are unable to view the video, please click here to go directly to the video source.
This document provides instructions for generating a Certificate Signing Request on Apache. If you are unable to use these instructions for your server, RapidSSL recommends that you contact either the vendor of your software or an organization that supports Apache.
NOTE: To generate a CSR, a key pair must be created for the server. These two items are a digital certificate key pair and cannot be separated. If the public/private key file or password is lost or changed before the SSL certificate is installed, the SSL certificate will need to be re-issued. The private key, CSR, and certificate must all match in order for the installation to be successful.
Step 1: Generate Private Key
NOTE: All certificates that will expire after October 2013 must have a 2048 bit key size.
The utility "openssl" is used to generate the key and CSR.
This utility comes with the OpenSSL package and is usually installed under /usr/local/ssl/bin.
If the utility was installed elsewhere, these instructions will need to be adjusted accordingly.
Type the following command at the prompt:
openssl genrsa -des3 -out <private key file name>.key 2048
This command generates a 2048 bit RSA private key and stores it in the file www.mydomain.com.key.
When prompted for a pass phrase: enter a secure password and remember it, as this pass phrase is what protects the private key. Both the private key and the certificate are required to enable SSL.
NOTE: To bypass the pass phrase requirement, omit the -des3 option when generating the private key. If the private key is left unprotected, RapidSSL recommends access to the server be restricted so that only authorized server administrators can access or read the private key file.
Step 2: Generate the CSR
Type the following command at the prompt:
openssl req -new -key <private key file name>.key -out <csr file name>.csr
If using openSSL on Windows, you may need to specify the path to openssl.cnf such as the following:
openssl req -new -key <private key file name>.key -config "c:\Apache Software Foundation\Apache2.2\conf\openssl.cnf" -out <csr file name>.csr
This command will prompt for the following X.509 attributes of the certificate:
Country Name: Use the two-letter code without punctuation for country, for example: US or CA.
State or Province: Spell out the state completely; do not abbreviate the state or province name, for example: California
Locality or City: The Locality field is the city or town name, for example: Berkeley. Do not abbreviate. For example: Saint Louis, not St. Louis
Company: If the company or department has an &, @, or any other symbol using the shift key in its name, the symbol must be spelled out or omitted, in order to enroll. Example: XY & Z Corporation would be XYZ Corporation or XY and Z Corporation.
Organizational Unit: This field is optional; but can be used to help identify certificates registered to an organization. The Organizational Unit (OU) field is the name of the department or organization unit making the request. To skip the OU field, press Enter on the keyboard.
Common Name: The Common Name is the Host + Domain Name. It looks like "www.company.com" or "company.com".
RapidSSL certificates can only be used on Web servers using the Common Name specified during enrollment. For example, a certificate for the domain "domain.com" will receive a warning if accessing a site named "www.domain.com" or "secure.domain.com", because "www.domain.com" and "secure.domain.com" are different from "domain.com".
NOTE: Please do not enter an email address, challenge password or an optional company name when generating the CSR.
A public/private key pair has now been created. The private key (www.domain.com.key) is stored locally on the server machine and is used for decryption. The public portion, in the form of a Certificate Signing Request (certrequest.csr), will be for certificate enrollment.
To copy and paste the information into the enrollment form, open the file in a text editor such as Notepad or Vi and save it as a .txt file. Do not use Microsoft Word as it may insert extra hidden characters that will alter the contents of the CSR.
Once the CSR has been created, proceed to Enrollment.
Step 3: Backup the private key
RapidSSL recommends backing up the .key file and storing of the corresponding pass phrase. A good choice is to create a copy of this file onto a diskette or other removable media. While backing up the private key is not required, having one will be helpful in the instance of server failure.
During the verification process, RapidSSL may need to contact your organization. Be sure to provide an email address, phone number, and fax number that will be checked and responded to quickly. These fields are not part of the certificate.
Once the certificate has been issued, refer to this link for installation instructions: SO6252