सभी SSL articles SSL और Certificates

CSR (Certificate Signing Request) क्या है?

CSR (Certificate Signing Request) encoded data का एक block है जो आप SSL certificate apply करने के लिए Certificate Authority (CA) को भेजते हैं। इसमें आपकी public key और domain information होती है। CA इसे use करके आपका certificate create करता है।

CSR के अंदर क्या है

FieldExampleRequired?
Common Name (CN)example.comहाँ
Public Keyआपकी RSA या ECDSA public keyहाँ
Key AlgorithmECDSA P-256 या RSA 2048हाँ
OrganizationYour Company LLCDV के लिए optional
CountryUSDV के लिए optional
SANswww.example.com, api.example.comMulti-domain के लिए

DV certificates (जैसे Let’s Encrypt) के लिए, सिर्फ domain name और public key matter करते हैं। Organization fields ignore होती हैं।

CSR generation कैसे काम करता है

  1. Key pair create करें — एक private key और public key
  2. CSR create करें — public key + domain info को standard format (PKCS#10) में encode करें
  3. CSR sign करें — private key से sign करें (prove करता है कि matching private key आपके पास है)
  4. CA को भेजें — CA आपका domain ownership verify करता है, फिर CSR use करके certificate create करता है

Private key आपके system से कभी बाहर नहीं जाती। CSR में सिर्फ public key होती है।

GetHTTPS CSR automatically handle करता है

Traditional tools के साथ, OpenSSL से manually CSR generate करना होता:

# Manual तरीका (GetHTTPS के साथ जरूरी नहीं)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com"

GetHTTPS के साथ, आप CSR कभी देखते या touch नहीं करते। Tool:

  1. आपके browser (Web Crypto API) में key pair generate करता है
  2. आपके domain input से automatically CSR create करता है
  3. ACME flow के part के रूप में Let’s Encrypt को भेजता है
  4. आपको download करने के लिए signed certificate देता है

CSR एक internal step है — आप बस domain enter करें और certificate पाएँ।

Manually CSR generate करना (जब जरूरी हो)

अगर standalone CSR चाहिए (commercial CA के लिए, या ऐसे platform जो upload require करता है), यहाँ तरीका है:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com"

RSA 2048

openssl req -new -newkey rsa:2048 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com"

Multiple domains (SAN) के साथ

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com" \
  -addext "subjectAltName=DNS:example.com,DNS:www.example.com"

CSR verify करें

openssl req -in csr.pem -noout -text

यह CSR में embedded domain name, key algorithm, और key size दिखाता है।

ACME protocol में CSR

ACME protocol (Let’s Encrypt use करता है) में, CSR finalize step में भेजा जाता है — domain verification pass होने के बाद। CA certificate create करने के लिए CSR से public key use करता है। CSR format PKCS#10 है, ACME JSON message में base64url encoded।

GetHTTPS के साथ, यह पूरी process Web Crypto API और pkijs library use करके JavaScript में होती है। आप कभी raw CSR bytes नहीं देखते।

FAQ

CSR file रखनी चाहिए?

नहीं। CSR सिर्फ certificate request के दौरान use होता है। CA द्वारा certificate issue करने के बाद, CSR का कोई purpose नहीं। अपनी private key और certificate रखें — CSR delete कर सकते हैं।

Renewal के लिए CSR reuse कर सकते हैं?

Technically हाँ, लेकिन हर renewal के लिए new key pair और CSR create करना better है। यह key rotation principle follow करता है और key compromise होने पर exposure limit करता है।

CSR और certificate में क्या difference है?

CSR एक request है — इसमें आपकी public key होती है और CA से sign करने को कहता है। Certificate result है — CA का signed statement कि आपकी public key आपके domain की है। CSR input है; certificate output है।

Wildcard domain के लिए CSR बना सकते हैं?

हाँ। Common Name में *.example.com use करें:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=*.example.com"

GetHTTPS के साथ, manually CSR create करने की जरूरत नहीं — domain में *.example.com enter करें और GetHTTPS CSR automatically handle करता है।

CSR में “key usage” का क्या मतलब है?

Key usage extensions specify करते हैं कि certificate किसके लिए use हो सकता है — TLS certificates के लिए typically “Digital Signature” और “Key Encipherment”। GetHTTPS और ज्यादातर ACME clients ये by default correctly set करते हैं। Key usage के बारे में तभी worry करें जब specific requirements वाले commercial CA के लिए manually CSRs create कर रहे हों।

संबंधित लेख

SSL और Certificates 2026-05-07
ECC vs RSA Certificates: आपको कौन सा choose करना चाहिए?
ECC (ECDSA P-256) और RSA (2048/4096-bit) certificates compare करें। ECC keys छोटी और fast होती हैं। जानें GetHTTPS ECC को default क्यों रखता है और RSA कब sense बनाता है।
शुरुआत करें 2026-05-08
Free SSL certificate कैसे पाएं (step-by-step guide)
Let's Encrypt से 5 minutes में free SSL certificate पाएं — कोई software install नहीं, कोई account नहीं बनाना। 4 methods, दोनों challenge types, 6 platforms पर installation, और troubleshooting cover करने वाली complete guide।
SSL और Certificates 2026-05-07
SSL/TLS कैसे काम करता है: TLS Handshake explained
TLS handshake का visual walkthrough — आपका browser और server milliseconds में encrypted connection कैसे establish करते हैं। TLS 1.2, TLS 1.3, session resumption, और forward secrecy covered है।
अपने browser में मुफ़्त SSL certificate पाएँ
कोई installation नहीं, कोई account नहीं। आपकी private key कभी आपका device नहीं छोड़ती।
अपना certificate पाएँ