What is Certificate Signing Request (CSR) and How to Generate CSR

0
What is Certificate Signing Request (CSR) and How to Generate CSR-techinfoBiT
Image Source: apache.org

A CSR is a file containing your certificate application information, including your Public Key. Generate your CSR and then copy and paste the CSR file into the web form in the enrollment process.

In public key infrastructure (PKI) systems, a certificate signing request (also CSR or certification request) is a message sent from an applicant to a certificate authority in order to apply for a digital identity certificate.

The most common format for CSRs is the PKCS #10 specification and another is the Signed Public Key and Challenge Spkac format generated by some Web browsers. Read more details here before proceeding any further.

Generating a Certificate Signing Request (CSR) using OpenSSL (Apache & mod_ssl, NGINX):-

To generate a pair of private key and public Certificate Signing Request (CSR) for a web server, “server”, use the following command :

openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr

This creates two files. The file myserver.key contains a private key; do not disclose this file to anyone. Carefully protect the private key.

In particular, be sure to backup the private key, as there is no means to recover it should it be lost. The private key is used as input in the command to generate a Certificate Signing Request (CSR).

You will now be asked to enter details to be entered into your CSR.

What you are about to enter is what is called a Distinguished Name or a DN.

For some fields, there will be a default value If you enter ‘.’, the field will be left blank.

Country Name (2 letter code) [AU]: GB
State or Province Name (full name) [Some-State]: Yorks
Locality Name (eg, city) []: York
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd
Organizational Unit Name (eg, section) []: IT
Common Name (eg, YOUR name) []: mysubdomain.mydomain.com
Email Address []:

Please enter the following ‘extra’ attributes to be sent with your certificate request

A challenge password []: 
An optional company name []:

Use the name of the web-server as Common Name (CN). If the domain name (Common Name) is mydomain.com append the domain to the hostname (use the fully qualified domain name).

The fields email address, optional company name and challenge password can be left blank for a web server certificate.

Your CSR will now have been created. Open the server.csr in a text editor and copy and paste the contents into the online enrollment form when requested.

Alternatively one may issue the following command to generate a CSR:

openssl req -nodes -newkey rsa:2048 -nodes -keyout myserver.key -out server.csr 
-subj "/C=GB/ST=Yorks/L=York/O=MyCompany Ltd./OU=IT/CN=mysubdomain.mydomain.com"

Note: If the “-nodes” is entered the key will not be encrypted with a DES passphrase.

Example of Certificate Signing Request (CSR):

What is Certificate Signing Request (CSR) and How to Generate CSR - techinfoBiT

In next post i”ll explain about installing Certificate Signing Request (CSR).

Sources: Wikipedia, Comodo Support

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.