Online Security
Apache CSR
Apache-SSL / Apache ModSSL Key and CSR Generation Instructions:
An Important Note Before You Start:
By far the most common problem users have when going through this process is related to private keys. If you lose or cannot access a private key, you cannot use your SSL certificate and will need to request a free reissue. To ensure this never happens, we advise that a backup of the private key file is made and that a note is made of the password that is used to protect the export of the private key.
The utility "openssl" that you use to generate the private key and CSR comes with the OpenSSL toolkit and is usually installed under /usr/bin. If you have installed it elsewhere you will need to modify these instructions appropriately.
The following sequence of commands will generate a 1024 bit key, encrypt it using the triple-DES cipher, and create a CSR based upon it (they assume that you have openssl in your path - if not then you should prefix the openssl command with the path to the binary). You should use the domain name that you are wishing to have certified as the core of the filenames. You should also make sure you do not overwrite existing keys and CSR's.
1. Generate the private key
Please type the following command at the prompt:
openssl genrsa -des3 -out www.example.com.key 1024
This command will generate a 1024 bit RSA private key and store it in the file www.example.com.key. It will ask you for a pass phrase: use something secure and remember it. Your certificate will be useless without it's corresponding key.
Note: If you don't want to protect your key with a pass phrase (only if you absolutely trust the server machine, and you make sure the permissions are carefully set so only you can read that key) you can leave out the -des3 option above.
2. Generate the CSR
Please type the following command at the prompt:
openssl req -new -key www.example.com.key -out www.example.com.csr
This command will prompt you for the X.509 attributes of your certificate. Enter your country, state or province and locality or city. You should enter the company name as it appears on your official company registration documents. The organization unit is optional. To skip the organization unit (OU) field please press enter on your keyboard.
The term "Common Name" is X.509 speak for the name that distinguishes the certificate best, and ties it to your Organization. Enter your exact host and domain name that you wish to secure. Example: If you wish to secure www.example.com, then you will need to enter the exact host (www) and domain name (example.com) in this field. If you enter example.com then the certificate issued to you will only work error free on https://example.com. It will cause a certificate mismatch error when you or your users access the domain via https:// www.example.com.
Please do not enter your email address, challenge password or an optional company name when generating the CSR. You have now created a public/private key pair. The private key (www.example.com.key) is stored locally on your machine and is used for decryption. The public portion is entered into the CSR field during shopping cart checkout when purchasing your SSL Certificate (certrequest.csr), and will be used by your users to encrypt the data they send to your site. The Certificate Signing Request (CSR) looks something like this:
3. Backup your private key
Please backup your www.example.com.key file and make a note of the pass phrase. A good choice is to create a copy of this file onto a diskette or other removable media.
These directions are provided courtesy of Thawte®.

