Získání certifikátu SSL od kterékoli z hlavních certifikačních autorit (CA) může stát 100 USD a více. Přidejte do mixu novinky, které podle všeho naznačují, že ne všem zavedeným certifikačním úřadům lze 100% času důvěřovat a můžete se rozhodnout nejistotu obejít a vymazat náklady tím, že budete vlastní certifikační autoritou.
Kroky
Část 1 ze 4: Vytvoření certifikátu CA
Krok 1. Vygenerujte soukromý klíč vaší CA zadáním následujícího příkazu
-
openssl genrsa -des3 -out server. CA.key 2048
-
Možnosti vysvětleny
- openssl - název softwaru
- genrsa - vytvoří nový soukromý klíč
- -des3 - zašifrujte klíč pomocí šifry DES
- -out server. CA.key - název vašeho nového klíče
- 2048 - délka soukromého klíče v bitech (viz varování)
- Tento certifikát a heslo uložte na bezpečném místě.
Krok 2. Vytvořte žádost o podpis certifikátu
-
openssl req -verbose -new -key server. CA.key -out server. CA.csr -sha256
-
Vysvětlené možnosti:
- req - Vytvoří žádost o podpis
- -verbose - zobrazuje podrobnosti o požadavku při jeho vytváření (volitelně)
- -new - vytvoří nový požadavek
- -key server. CA.key - soukromý klíč, který jste právě vytvořili výše.
- -out server. CA.csr - Název souboru žádosti o podpis, kterou vytváříte
- sha256 - Šifrovací algoritmus, který se má použít k podepisování požadavků (Pokud nevíte, co to je, neměňte to. Toto byste měli změnit, pouze pokud víte, co děláte)
Krok 3. Vyplňte informace co nejvíce
-
Název země (dvoumístný kód) [AU]:
NÁS
-
Název státu nebo provincie (celé jméno) [Some-State]:
CA
-
Název lokality (např. Město) :
Silicon Valley
-
Název organizace (např. Společnost) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Název organizační jednotky (např. Sekce) :
-
Běžný název (např. FQDN serveru nebo VAŠE jméno) :
-
Emailová adresa :
Krok 4. Podepište svůj certifikát:
-
openssl ca -extensions v3_ca -out server. CA -signed.crt -keyfile server. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server. CA.csr
-
Vysvětlené možnosti:
- ca - Načte modul certifikační autority
- -extension v3_ca -Načte rozšíření v3_ca, které musíte mít v moderních prohlížečích
- -out server. CA -signed.crt -Název nového podepsaného klíče
- -keyfile server. CA.key - soukromý klíč, který jste vytvořili v kroku 1
- -verbose - zobrazuje podrobnosti o požadavku při jeho vytváření (volitelně)
- -selfsign - Informuje openssl, že k podepsání požadavku používáte stejný klíč
- -md sha256 - Šifrovací algoritmus, který se má použít pro zprávu. (Pokud nevíte, co to je, neměňte to. Toto byste měli změnit, pouze pokud víte, co děláte)
- -enddate 330630235959Z - Datum ukončení certifikátu. Zápis je YYMMDDHHMMSSZ, kde Z je v GMT, někdy známý jako „zuluský“čas.
- -infiles server. CA.csr - soubor žádosti o podpis, který jste vytvořili výše.
Krok 5. Zkontrolujte svůj certifikát CA
- openssl x509 -noout -text -in server. CA.crt
-
Vysvětlené možnosti:
- x509 - načte modul x509 pro kontrolu podepsaných certifikátů.
- -noout - Nevysílá kódovaný text
- -text - zobrazí informace na obrazovce
- -in server. CA.crt - načte podepsaný certifikát
- Soubor server. CA.crt lze distribuovat komukoli, kdo bude používat váš web nebo používat certifikáty, které plánujete při podepisování.
Část 2 ze 4: Vytváření certifikátů SSL pro službu, například Apache
Krok 1. Vytvořte soukromý klíč
-
openssl genrsa -des3 -out server.apache.key 2048
-
Vysvětlené možnosti:
- openssl - název softwaru
- genrsa - vytvoří nový soukromý klíč
- -des3 - zašifrujte klíč pomocí šifry DES
- -out server.apache.key - název vašeho nového klíče
- 2048 - délka soukromého klíče v bitech (viz varování)
- Tento certifikát a heslo uložte na bezpečném místě.
Krok 2. Vytvořte žádost o podpis certifikátu
-
openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256
-
Vysvětlené možnosti:
- req - Vytvoří žádost o podpis
- -verbose - zobrazuje podrobnosti o požadavku při jeho vytváření (volitelně)
- -new - vytvoří nový požadavek
- -key server.apache.key - soukromý klíč, který jste právě vytvořili výše.
- -out server.apache.csr - Název souboru žádosti o podpis, kterou vytváříte
- sha256 - Šifrovací algoritmus, který se má použít pro podepisování požadavků (Pokud nevíte, co to je, neměňte to. Toto byste měli změnit, pouze pokud víte, co děláte)
Krok 3. Pomocí certifikátu CA podepište nový klíč
-
openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr
-
Vysvětlené možnosti:
- ca - Načte modul certifikační autority
- -out server.apache.pem - název souboru podepsaného certifikátu
- -keyfile server. CA.key - Název souboru certifikátu CA, který bude podepisovat požadavek
- -infiles server.apache.csr - název souboru žádosti o podpis certifikátu
Krok 4. Vyplňte informace co nejvíce:
-
Název země (dvoumístný kód) [AU]:
NÁS
-
Název státu nebo provincie (celé jméno) [Some-State]:
CA
-
Název lokality (např. Město) :
Silicon Valley
-
Název organizace (např. Společnost) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Název organizační jednotky (např. Sekce) :
-
Běžný název (např. FQDN serveru nebo VAŠE jméno) :
-
Emailová adresa :
Krok 5. Uložte kopii svého soukromého klíče na jiné místo
Vytvořte soukromý klíč bez hesla, aby vás Apache nemohl vyzvat k zadání hesla:
-
openssl rsa -in server.apache.key -out server.apache.unsecured.key
-
Vysvětlené možnosti:
- rsa - spouští šifrovací program RSA
- -in server.apache.key - Název klíče, který chcete převést.
- -out server.apache.unsecured.key - Název souboru nového nezabezpečeného klíče
Krok 6. Ke konfiguraci souboru apache2.conf použijte výsledný soubor server.apache.pem spolu se soukromým klíčem, který jste vygenerovali v kroku 1
Část 3 ze 4: Vytvoření uživatelského certifikátu pro autentizaci
Krok 1. Postupujte podle všech kroků v části _Vytváření certifikátů SSL pro Apache_
Krok 2. Převeďte svůj podepsaný certifikát na PKCS12
openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12
Část 4 ze 4: Vytváření e-mailových certifikátů S/MIME
Krok 1. Vytvořte soukromý klíč
openssl genrsa -des3 -out private_email.key 2048
Krok 2. Vytvořte žádost o podpis certifikátu
openssl req -new -key private_email.key -out private_email.csr
Krok 3. Pomocí certifikátu CA podepište nový klíč
openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr
Krok 4. Převeďte certifikát na PKCS12
openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12
Krok 5. Vytvořte certifikát veřejného klíče pro distribuci
openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "Veřejný klíč WikiHow"
Tipy
Obsah klíčů PEM můžete změnit zadáním následujícího příkazu: openssl x509 -noout -text -in certifikát.pem
Varování
- 1024bitové klíče jsou považovány za zastaralé. 2048bitové klíče jsou považovány za bezpečné pro uživatelské certifikáty do roku 2030, ale jsou považovány za nedostatečné pro kořenové certifikáty. Při vytváření certifikátů zvažte tyto chyby zabezpečení.
- Ve výchozím nastavení většina moderních prohlížečů zobrazí upozornění „Nedůvěryhodný certifikát“, když někdo navštíví váš web. O znění těchto varování se vedla velká debata, protože netechničtí uživatelé mohou být zaskočeni. Často je nejlepší použít hlavní autoritu, aby uživatelé nedostali varování.
-
-