21+ years in hosting · Jaipur, India · INR billing with 18% GST · 24/7 email support
Blog · WebJi® India

How to generate a CSR

Quick answer

A CSR (Certificate Signing Request) is a text file containing your public key and the hostnames to be certified, created on your server together with a private key. You paste only the CSR into the SSL order; the key stays on the server. Use a 2048-bit RSA or P-256 ECDSA key and country code IN.

For site owners and admins ordering a paid SSL certificate who need a correct CSR from cPanel, Plesk, IIS or the Linux command line.

GuideWebJi®
knowledge
Read time
3 min
Sections
5
Updated
14 Nov 2026
Written by
WebJi® team

What is a CSR, and what does it contain?

A CSR (Certificate Signing Request) is a small text file holding your public key and the hostnames you want certified, signed with the matching private key. The certificate authority (CA) issues the SSL certificate from it; the private key never leaves your server.

Fields in a CSR and how to fill them for an Indian business
FieldExampleRule
Common Name (CN)example.inThe main hostname, never an email address; *.example.in for a wildcard
Subject Alternative Names (SAN)example.in, www.example.inEvery hostname the certificate must cover
Organisation (O)Example Traders Pvt. Ltd.Must match registration papers for OV or EV; ignored for DV
City / State (L / ST)Jaipur / RajasthanSpelled out in full
Country (C)INTwo-letter ISO code only
KeyRSA 2048-bit or ECDSA P-256RSA below 2048 bits is rejected by public CAs

The public key is safe to share; only the private key can decrypt traffic. If the private key is lost, the issued certificate cannot be installed, and you must generate a new key and CSR and reissue.

Do you need to generate a CSR at all?

You need a CSR only for a certificate you buy and install yourself; free Let's Encrypt or AutoSSL certificates on hosting panels create the key and request automatically. WebJi® hosting plans include free SSL of that kind, so most sites never touch a CSR.

Paid certificates still matter when you need a wildcard, an organisation-validated certificate for tenders or payment onboarding, or a certificate for a server outside a hosting panel. At WebJi® the published prices are Sectigo Positive SSL at ₹1,800 a year and the Positive SSL Wildcard at ₹7,500 a year, before 18% GST; OV, EV and multi-domain certificates are quoted before payment. The free vs paid SSL guide explains when the paid route is worth it.

How do you generate a CSR in cPanel?

In cPanel, open SSL/TLS → Certificate Signing Requests (CSR), generate a new key or pick an existing one, fill the domains and address, and click Generate. cPanel stores the private key in the same account, ready for installation.

  1. Log in to cPanel and open SSL/TLS.
  2. Under Certificate Signing Requests, choose Generate, view, or delete SSL certificate signing requests.
  3. Leave key generation on 2048-bit RSA (or select an existing key), and enter both example.in and www.example.in in Domains.
  4. Fill City, State, Country (IN) and Company, then click Generate.
  5. Copy the encoded CSR from -----BEGIN CERTIFICATE REQUEST----- to -----END CERTIFICATE REQUEST-----.

Once the CA issues the certificate, install it on the same account; installing SSL in cPanel covers that step.

How do you generate a CSR in Plesk or Windows IIS?

Both create the request on the server that will hold the key: Plesk under the domain's SSL/TLS Certificates, IIS under Server Certificates → Create Certificate Request. Menu wording changes between versions; the principle does not.

CSR generation path in Plesk and IIS
PanelPathKey settingNext step after issue
PleskWebsites & Domains → domain → SSL/TLS Certificates → Add / Request2048-bit when offeredUpload the issued certificate to the same entry
IIS ManagerServer node → Server Certificates → Create Certificate RequestMicrosoft RSA SChannel Cryptographic Provider, bit length 2048Complete Certificate Request on the same server

On IIS, "Complete Certificate Request" must run on the machine that created the request, because the pending private key is stored there. The IIS SSL installation guide continues from that point.

How do you generate a CSR with OpenSSL on Linux?

One openssl req command creates both a 2048-bit RSA private key and a CSR with SAN entries; -addext requires OpenSSL 1.1.1 or newer. Run it on the server where the certificate will be installed.

# RSA 2048 key + CSR covering bare domain and www
openssl req -new -newkey rsa:2048 -nodes \
  -keyout example.in.key -out example.in.csr \
  -subj "/C=IN/ST=Rajasthan/L=Jaipur/O=Example Traders/CN=example.in" \
  -addext "subjectAltName=DNS:example.in,DNS:www.example.in"

# ECDSA P-256 alternative (smaller, faster handshakes)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes \
  -keyout example.in-ec.key -out example.in-ec.csr \
  -subj "/C=IN/ST=Rajasthan/L=Jaipur/O=Example Traders/CN=example.in" \
  -addext "subjectAltName=DNS:example.in,DNS:www.example.in"

# restrict the key file to its owner
chmod 600 example.in.key

-nodes leaves the key unencrypted so the web server can start without a passphrase; that is why the file permissions matter. For a wildcard, set CN=*.example.in and list DNS:*.example.in,DNS:example.in in the SAN.

After issue, the Apache steps are in installing SSL on Apache, and Nginx users can compare the automated Certbot route for Nginx.

How do you check a CSR before submitting it?

Decode the CSR with OpenSSL to confirm the hostnames, key size and signature, and compare its public key with the private key you will keep. Two minutes here avoids a reissue later.

# show the request and verify its signature
openssl req -in example.in.csr -noout -text -verify

# the two hashes must be identical
openssl req  -in example.in.csr -noout -pubkey | openssl sha256
openssl pkey -in example.in.key -pubout        | openssl sha256
  • Key size: the output shows Public-Key: (2048 bit) or a P-256 curve.
  • Names: every required hostname appears under Subject Alternative Name.
  • Country: C = IN, two letters.
  • Paste: the full block, including the BEGIN and END lines, goes into the order form; the key does not.

Which CSR mistakes delay SSL issuance?

Most delays come from a weak key, a wrong country code, an email address in the Common Name, a missing www name, or organisation details that do not match company papers. Each forces a new CSR.

  • A 1024-bit RSA key, which public CAs refuse.
  • "India" in the country field instead of IN.
  • An OV or EV order where the Organisation field differs from the registered company name.
  • Generating the CSR on a laptop and losing the key file before installation.
  • Reusing an old key after a suspected compromise; always create a fresh key in that case.
FAQ

Frequently asked questions

Can I reuse the same CSR when renewing an SSL certificate?

Technically many CAs accept it, but generating a new key and CSR at each renewal is safer practice, because it limits how long any one private key stays in use. It also lets you update hostnames or company details that changed during the year.

Should I choose RSA or ECDSA for my CSR?

RSA 2048 works everywhere, including old devices and some payment terminals. ECDSA P-256 gives equivalent security with smaller keys and faster handshakes and is supported by all current browsers. Choose RSA when you are unsure about legacy clients.

Is it safe to use an online CSR generator?

Avoid tools that create the private key on someone else's website, because that key could be copied. Generate the key on your own server with the panel or OpenSSL; an online decoder that only reads the CSR is harmless, since the CSR contains no secret.

Why does the CA say my CSR is invalid after I pasted it?

Usually the BEGIN or END line was cut off, extra spaces were added by an email client, or the private key was pasted instead. Copy the CSR again directly from the file or panel and run openssl req -verify on it before resubmitting.

Commands checked against OpenSSL 3.x documentation · WebJi® SSL prices as published on the SSL certificate page; checkout confirms the final amount · Reviewed by the WebJi® team, Jaipur.

WebJi® since 2005

Ready to get started with WebJi®?

Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.