Ask a Question

Advanced Search

Solution ID : SO13990

Last Modified : 05/21/2018

Certificate Signing Request (CSR) Generation Instructions for Tomcat


This document provides instructions for generating a Certificate Signing Request (CSR) for Tomcat. If this document can not be used on the server, RapidSSL recommends that a vendor or a company that supports Tomcat be contacted.
Step 1: Create a Keystore and Private Key
Please use a recent version of the JDK for best security practices. If you are running a 1.3 JVM, download JSSE 1.0.2 (or later) from here
Set it either an installed extension on the system or set an environment variable JSSE_HOME that points to the directory where JSSE is installed.  
  1. Create a certificate keystore and private key by executing the following command:

    keytool -genkey -alias <your_alias_name> -keyalg RSA -keystore <your_keystore_filename> -keysize 2048

    For example:

  2. Enter and re-enter a keystore password. Tomcat uses a default password of changeit. Hit Enter if you want to keep the default password. If you use a different password, you will need to specify a custom password in the server.xml configuration file.
  3. This command will prompt for the following X.509 attributes of the certificate.

    First and last name (Common Name (CN)): Enter the domain of your website (i.e. in this field.
    Organizational Unit (OU): This field is for the name of the department or organization unit making the request.
    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 Corporation would be XYZ Corporation 
    Locality or City (L): The Locality field is the city or town name, for example: Mountain View. 
    State or Province (S): Spell out the state completely; do not abbreviate the state or province name, for example: California.
    Country Name (C): Use the two-letter code without punctuation for country, for example: US
  4. When prompted for the password for the private key alias, press Enter. This will set the private key password to the same password used for the keystore from the previous step.  


    For further information, please refer to the Tomcat Web site.
Step 2: Generate a CSR
  1. Run the following command to generate the CSR:

    keytool -certreq -keyalg RSA -alias <your_alias_name> -file certreq.csr -keystore <your_keystore_filename>

    For example:

    NOTE: The CSR must be generated using SHA-1 or SHA-256. The MD5 digest (signature) algorithm are no longer allowed.

    Outdated versions of Java SDK may use the MD5 signature hash under RSA. It is recommended to upgrade to a more recent version of the Java SDK.

    Alternatively, try to specify SHA-1 using the following command:

    keytool -certreq -keyalg RSA -alias <your_alias_name> -file certreq.csr -keystore <your_keystore_filename> -sigalg SHA1withRSA

    For example:

  2. Create a copy of the keystore file. Having a back-up file of the keystore at this point can help resolve installation issues that can occur when importing the certificate into the original keystore file.
  3. 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).

    The text file should look like this:

                [encoded data]

Once the certificate has been issued, refer to this link for installation instructions.