सभी गाइड गाइड

GetHTTPS कैसे काम करता है

GetHTTPS एक browser-based ACME client है जो बिना किसी server-side component के Let’s Encrypt से free HTTPS certificates issue करता है।

Architecture

certbot और acme.sh जैसे traditional ACME clients आपके server पर चलते हैं। उन्हें shell access, root permissions, और अक्सर certificate renewal के लिए एक cron job की ज़रूरत होती है।

GetHTTPS एक अलग approach लेता है: सब कुछ आपके browser tab में चलता है। आपकी private key Web Crypto API से locally generate होती है और page से कभी बाहर नहीं जाती।

Flow कैसे काम करता है

  1. Account key generationcrypto.subtle.generateKey() use करके browser में P-256 ECDSA key pair बनाया जाता है। यह key आपके ACME account को identify करती है।

  2. Account registration — Public key Let’s Encrypt के ACME API के साथ register की जाती है। हर request JWS (JSON Web Signature) से signed होती है।

  3. Order creation — आप specify करते हैं कि certificate को कौन से hostnames cover करने चाहिए। Let’s Encrypt challenges का एक set return करता है।

  4. Challenge complete करना — हर hostname के लिए, आप या तो HTTP-01 challenge (अपने server पर एक file रखें) या DNS-01 challenge (TXT record add करें) complete करते हैं।

  5. Pre-check verification — Let’s Encrypt को submit करने से पहले, GetHTTPS public internet से आपके challenge configuration को check करता है। इससे rate limit attempts waste होने से पहले typos पकड़ में आ जाते हैं।

  6. Certificate issuance — Challenges pass होने के बाद, एक अलग certificate key pair generate किया जाता है, CSR (Certificate Signing Request) बनाया जाता है, और order finalize किया जाता है। Let’s Encrypt signed certificate chain return करता है।

  7. Download — आप privkey.pem, cert.pem, chain.pem, और fullchain.pem download करते हैं और उन्हें अपने server पर deploy करते हैं।

Security Model

GetHTTPS इस तरह designed है कि हम भी आपकी private keys तक नहीं पहुँच सकते।

Private keys कभी browser से बाहर नहीं जातीं

हर key — account key और certificate key — browser के Web Crypto API (crypto.subtle.generateKey()) से generate की जाती है। Key material सिर्फ़ आपके tab के अंदर JavaScript memory में exist करता है। इसे कभी disk पर serialize नहीं किया जाता, network पर कभी नहीं भेजा जाता, और gethttps.com के लिए कभी accessible नहीं होता।

जब आप “Download” पर click करते हैं, तो PEM file URL.createObjectURL() से client-side बनाई जाती है और आपको download के रूप में दी जाती है। File memory से आपके file system में जाती है — यह कभी हमारे server को नहीं छूती।

कोई backend नहीं, कोई proxy नहीं

Traditional certificate tools एक server-side process चलाते हैं। इसका मतलब है कि आपकी private key एक ऐसे server पर exist करती है जिसे आप control नहीं करते।

GetHTTPS के पास कोई backend नहीं है। Site static HTML, CSS, और JavaScript है। आपका browser directly acme-v02.api.letsencrypt.org को ACME requests करता है। हम इन requests को proxy, inspect, या log नहीं करते।

हम क्या देखते हैं और क्या नहीं

हम देखते हैंहम नहीं देखते
आपकी private keys✓ (सिर्फ़ browser)
आपके domains✓ (directly Let’s Encrypt को भेजे जाते हैं)
ACME requests✓ (browser → Let’s Encrypt)
Challenge tokens✓ (browser में generate)
आपका email✓ (सिर्फ़ Let’s Encrypt को भेजा जाता है)

DNS pre-checks

Challenge verification के लिए, GetHTTPS public DNS resolver (Google के DNS-over-HTTPS API के through) को query करता है। इन queries में सिर्फ़ domain name और expected TXT record होता है — कोई private data नहीं।

Threat model

हम किससे protect करते हैं:

  • Server compromise के through key theft (compromise करने के लिए कोई server नहीं)
  • Key material पर man-in-the-middle (keys कभी tab से बाहर नहीं जातीं)
  • Data harvesting (default रूप से कोई analytics नहीं, कोई backend logging नहीं)

हम किससे protect नहीं करते:

  • Compromised browser (अगर आपका browser compromised है, तो all bets are off)
  • Compromised DNS provider (अगर attacker आपके DNS को control करता है, तो वे DNS-01 के through certificates issue कर सकते हैं)
  • Browser extensions जो page memory read कर सकते हैं

Renewal के बारे में क्या?

Let’s Encrypt certificates 90 days के लिए valid हैं। Renewal के लिए, वापस आएँ और उसी flow से गुज़रें। आपकी account key (अगर save की गई है) recognize हो जाएगी, इसलिए आपको फिर से register करने की ज़रूरत नहीं है।

Automatic renewal के लिए, certbot जैसे server-side clients पर विचार करें। GetHTTPS manual, one-time issuance के लिए designed है जहाँ आप full control और transparency चाहते हैं।

अपने browser में मुफ़्त SSL certificate पाएँ
कोई installation नहीं, कोई account नहीं। आपकी private key कभी आपका device नहीं छोड़ती।
अपना certificate पाएँ