Generate Csr With Private Key Using Keytool

19.04.2020by
Generate Csr With Private Key Using Keytool 6,0/10 7601 reviews

Because keytool is a multipurpose tool for managing keys and certificates, you may find it easier to understand the generating of a public-private key pair by looking first at a less complex tool available on Unix-like platforms, named ssh-keygen. (This is for illustration purposes only.

SSL Certificate CSR Creation for Java Based Web Servers.

Keytool is a command-line utility that allows you to manage keystores, public and private keys, and SSL certificates for Java-based web servers, such as Tomcat or JBoss. Certificates and key pairs are stored in a secured keystore. This article explains how to create a new keystore and how to generate a Certificate Signing Request file using. Now generate the Certificate Signing Request (CSR) from the private key generated above using the following command: keytool -certreq -alias tomcat -file yourdomain.csr -keystore mykeystore This creates a CSR and stores it in a file named yourdomain.csr. Save a copy of your CSR. The CSR will be needed during the online order process.

If you already have your SSL Certificate and just need to install it, see
SSL Certificate Installation :: Java Web Servers.

How to generate a CSR using Java Keytool

**NOTE: You must generate a new keystore through this process. If you try to install a new certificate to an old keystore your certificate will not work properly. Backup and remove any old keystores if necessary before beginning this process.

Recommended: Save yourself some time by using our new Java Keytool CSR Wizard to create your CSR with Keytool. Just fill in the details, click Generate, and paste your customized keytool command into your terminal.

If you prefer to roll your own keytool commands to generate your CSR, just follow our old instructions below:

Create a New Keystore

Generate Csr With Private Key Using Keytool Key

  1. You will be using the keytool command to create your new key-CSR pairing. Enter the following:

    keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore yourdomain.jks

    'Yourdomain' is the name of the domain you are securing. However, if you are ordering a Wildcard Certificate, do not include * in the beginning of the filename as this is not a valid filename character.

  2. You will be prompted for the DN information. Please note: when it asks for first and last name, this is not YOUR first and last name, but rather your domain name and extension(i.e., www.yourdomain.com). If you are ordering a Wildcard Certificate this must begin with *. (example: *.digicert.com)

  3. Confirm that the information is correct by entering 'y' or 'yes' when prompted. Next you will be asked for your password to confirm. Make sure to remember the password you choose.

Generate Your CSR with Your New keystore

  1. Next, use keytool to actually create the Certificate Signing Request. Enter the following:

    keytool -certreq -alias server -keyalg RSA -file yourdomain.csr -keystore yourdomain.jks

    Again, 'yourdomain' is the name of the domain you are securing. (without the * character if you are ordering a Wildcard Certificate).

  2. Enter the keystore password.

  3. Then the SSL Certificate CSR file is created. Open the CSR with a text editor, and copy and paste the text (including the BEGIN and END tags) into the DigiCert web order form.

  4. After you receive your SSL Certificate from DigiCert, you can install it.

    See SSL Certificate Installation :: Java Web Servers.

Generating a CSR for Issuance of an SSL Certificate with Keytool

How to generate a Certificate Signing Request for your Java Web Server

OpenSSL Commands and SSL Keytool List

OpenSSL is an open-source implementation of SSL/TLS protocols and is considered to be one of the most versatile SSL tools. It’s a library written in C programming language that implements the basic cryptographic functions. OpenSSL has different versions for most Unix-like operating systems, which include Mac OC X, Linux, and Microsoft Windows etc.

Generate Csr With Private Key Using Keytool

Open SSL is normally used to generate a Certificate Signing Request (CSR) and private key for different platforms. However, it also has several different functions, which can be listed as follows. It is used to:

  • View details about a CSR or a certificate
  • Compare MD5 hash of a certificate and private key to ensure they match
  • Verify proper installation of the certificate on a website
  • Convert the certificate format

Most of the functions mentioned below can also be performed without involving OpenSSL by using these convenient SSL tools. Here, we have put together few of the most common OpenSSL commands.

General OpenSSL Commands

These are the set of commands that allow the users to generate CSRs, Certificates, Private Keys and many other miscellaneous tasks. Here, we have listed few such commands:

(1) Generate a Certificate Signing Request (CSR) and new private key

(2) Generate a self-signed certificate

(3) Create CSR based on an existing private key

(4) Create CSR based on an existing certificate

(5) Passphrase removal from a private key

SSL Check Commands

These commands are very helpful if the user wants to check the information within an SSL certificate, a Private Key, and CSR. Few online tools can also help you check CSRs and check SSL certificates.

(1) Certificate Signing Request (CSR)

(2) Private Key

(3) SSL Certificate

(4) PKCS#12 File (.pfx or .p12)

Generate Csr With Private Key Using Keytool

Convert Commands

As per the title, these commands help convert the certificates and keys into different formats to impart them the compatibility with specific servers types. For example, a PEM file, compatible with Apache server, can be converted to PFX (PKCS#12), after which it would be possible for it to work with Tomcat or IIS. However, you can also use the SSL Converter to change the format, without having to involve OpenSSL.

(1) Convert DER Files (.crt, .cer, .der) to PEM

(2) Convert PEM to DER

(3) Convert PKCS #12 File (.pfx, .p12) Containing a Private Key and Certificate to PEM

To output only the private key, users can add –nocerts or –nokeys to output only the certificates.

(4) Convert PEM Certificate (File and a Private Key) to PKCS # 12 (.pfx #12)

Debugging Using OpenSSL Commands

If there are error messages popping up about your private key not matching the certificate or that the newly-installed certificate is not trusted, you can rely on one of the comments mentioned below. You can also use the SSL certificate checker tool for verifying the correct installation of an SSL certificate.

(1) Check SSL Connection (All certificates, including Intermediates, are to be displayed)

Here, all the certificates should be displayed, including the Intermediates as well.

(2) Check MD5 Hash of Public Key

This is to ensure that the public key matches with the CSR or the private key.

SSL Keytool List

Java Keytool is a key and certificate management utility that allows the users to cache the certificate and manage their own private or public key pairs and certificates. Java Keytool stores all the keys and certificates in a ‘Keystore’, which is, by default, implemented as a file. It contains private keys and certificates that are essential for establishing the reliability of the primary certificate and completing a chain of trust.

Every certificate in Java Keystore has a unique pseudonym/alias. For creating a ‘Java Keystore’, you need to first create the .jks file containing only the private key in the beginning. After that, you need to generate a Certificate Signing Request (CSR) and generate a certificate from it. After this, import the certificate to the Keystore including any root certificates.

The ‘Java Keytool’ basically contains several other functions that help the users export a certificate or to view the certificate details or the list of certificates in Keystore.

Here are few important Java Keytool commands:

For Creating and Importing

These Keytool commands allow users to create a new Java Keytool keysKeystore, generate a Certificate Signing Request (CSR) and import certificates. Before you import the primary certificate for your domain, you need to first import any root or intermediate certificates.

(1) Import a root or intermediate CA certificate to an existing Java keystore

(2) Import a signed primary certificate to an existing Java keystore

(3) Generate a keystore and self-signed certificate

(4) Generate Key Pair & Java Keystore

(5) Generate CSR for existing Java Keystore

For Checking

Users can check the information within a certificate or Java keystore by using the following commands:

(1) Check an individual certificate

(2) Check certificates in Java keystore

(3) Check specific keystore entry using an alias

Other Java Keytool Commands

(1) Delete a certificate from Java Keystore keystore

(2) Change the password in Java keystore / Change a Java keystore password

(3) Export certificate from Java keystore

(4) List the trusted CA Certificate

2003

Advantages Of Private Key Encryption

(5) Import new CA into Trusted Certs

Related Posts

Save Up to 89% on SSL Certificates

Keytool Generate Csr With Private Key

Get maximum discounts of up to 89% on DV SSL, OV SSL, Wildcard SSL, Multi-Domain SSL and EV SSL Certificates at CheapSSLsecurity. Boost up customer trust and secure their confidential information with high level encryption.

Comments are closed.