Generating a CSR with Tomcat
To generate a CSR, you will need to create a key pair for your server. These two items are a digital certificate key pair and cannot be separated. If you lose your private key, a new one will have to be created by “Reissuing” the SSL.
If this article seems out of date please use updated instructions from Tomcat instead.
Step 1: Create a Keystore and Private Key
Please use JDK 1.3.1 or later.
Create a certificate keystore and private key by executing the following command:
Unix: $JAVA_HOME/bin/keytool -genkey -alias <your_alias_name> -keyalg RSA -keystore <your_keystore_filename> -keysize 2048
Note: For Extended Validation certificates the key bit length must be 2048, add in the command above: -keysize 2048
This command will prompt for the following X.509 attributes of the certificate:
Country Name (C): Use the two-letter code without punctuation for country, for example: US or CA.
State or Province (S): Spell out the state completely; do not abbreviate the state or province name, for example: California
Locality or City (L): The Locality field is the city or town name, for example: Berkeley.
Organization (O): If your company or department has an &, @, or any other symbol using the shift key in its name, you must spell out the symbol or omit it to enroll. Example: XY & Z Corportation would be XYZ Corporation
Organizational Unit (OU): 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.
Common Name (CN): The Common Name is the Host + Domain Name. It looks like “www.company.com” or “company.com”.
Note: When prompted for your “first- and lastname”, enter the desired Common Name.
SSL 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”.
Specify a password. The default value will be “change it”.
For further information, please refer to the Tomcat Web site.
Step 2: Generate a CSR
The CSR is then created using the following command:
keytool -certreq -keyalg RSA -alias <your_alias_name> -file certreq.csr -keystore <your_keystore_filename>
Create a copy of the keystore file. Having a backup file of the keystore at this point can help resolve installation issues that can occur when importing the certificate into the original keystore file.
To copy and paste the file certreq.csr into the enrollment form, open the file in a text editor that does not add extra characters (Notepad or Vi are recommended).