Získanie certifikátu SSL od ktorejkoľvek z hlavných certifikačných autorít (CA) môže stáť 100 USD a viac. Pridajte k mixu správy, ktoré zrejme naznačujú, že nie všetkým etablovaným certifikačným úradom sa dá 100% času dôverovať a môžete sa rozhodnúť obísť neistotu a vymazať náklady tým, že budete vlastnou certifikačnou autoritou.
Kroky
Časť 1 zo 4: Vytvorenie certifikátu CA
Krok 1. Generujte súkromný kľúč vašej CA zadaním nasledujúceho príkazu
-
openssl genrsa -des3 -out server. CA.key 2048
-
Možnosti vysvetlené
- openssl - názov softvéru
- genrsa - vytvorí nový súkromný kľúč
- -des3 - zašifrujte kľúč pomocou šifry DES
- -out server. CA.key - názov vášho nového kľúča
- 2048 - dĺžka súkromného kľúča v bitoch (pozrite si upozornenia)
- Tento certifikát a heslo uložte na bezpečné miesto.
Krok 2. Vytvorte žiadosť o podpis certifikátu
-
openssl req -verbose -new -key server. CA.key -out server. CA.csr -sha256
-
Vysvetlené možnosti:
- req - Vytvorí žiadosť o podpis
- -verbose - zobrazuje vám podrobnosti o požiadavke pri vytváraní (voliteľné)
- -new - vytvorí novú požiadavku
- -key server. CA.key - súkromný kľúč, ktorý ste práve vytvorili vyššie.
- -out server. CA.csr - názov súboru žiadosti o podpis, ktorú vytvárate
- sha256 - Šifrovací algoritmus, ktorý sa má použiť na podpisovanie požiadaviek (Ak neviete, čo to je, nemeňte to. Toto by ste mali zmeniť iba vtedy, ak viete, čo robíte)
Krok 3. Vyplňte informácie čo najviac
-
Názov krajiny (dvojpísmenový kód) [AU]:
USA
-
Názov štátu alebo provincie (celé meno) [Some-State]:
CA
-
Názov lokality (napr. Mesto) :
Silicon Valley
-
Názov organizácie (napr. Spoločnosť) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Názov organizačnej jednotky (napr. Sekcia) :
-
Bežný názov (napr. FQDN servera alebo VÁŠ názov) :
-
Emailová adresa :
Krok 4. Podpíšte svoj 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
-
Vysvetlené možnosti:
- ca - Načíta modul certifikačnej autority
- -extension v3_ca -Načíta rozšírenie v3_ca, ktoré musíte mať v moderných prehliadačoch k dispozícii
- -out server. CA -signed.crt -názov vášho nového podpísaného kľúča
- -keyfile server. CA.key - súkromný kľúč, ktorý ste vytvorili v kroku 1
- -verbose - zobrazuje podrobnosti o požiadavke pri vytváraní (voliteľné)
- -selfsign - Informuje openssl, že na podpísanie žiadosti používate rovnaký kľúč
- -md sha256 - šifrovací algoritmus, ktorý sa má použiť pre správu. (Ak neviete, čo to je, nemeňte to. Toto by ste mali zmeniť iba vtedy, ak viete, čo robíte.)
- -enddate 330630235959Z - dátum ukončenia certifikátu. Zápis je YYMMDDHHMMSSZ, kde Z je v GMT, niekedy známy aj ako „zuluský“čas.
- -infiles server. CA.csr - súbor žiadosti o podpis, ktorý ste vytvorili vyššie uvedeným krokom.
Krok 5. Skontrolujte svoj certifikát CA
- openssl x509 -noout -text -in server. CA.crt
-
Vysvetlené možnosti:
- x509 - Načíta modul x509 na kontrolu podpísaných certifikátov.
- -noout - Nevysiela kódovaný text
- -text - zobrazí informácie na obrazovke
- -in server. CA.crt - načítajte podpísaný certifikát
- Súbor server. CA.crt môže byť distribuovaný každému, kto bude používať váš web alebo používať certifikáty, ktoré plánujete podpísať.
Časť 2 zo 4: Vytváranie certifikátov SSL pre službu, ako je napríklad Apache
Krok 1. Vytvorte súkromný kľúč
-
openssl genrsa -des3 -out server.apache.key 2048
-
Vysvetlené možnosti:
- openssl - názov softvéru
- genrsa - vytvorí nový súkromný kľúč
- -des3 - zašifrujte kľúč pomocou šifry DES
- -out server.apache.key - názov vášho nového kľúča
- 2048 - dĺžka súkromného kľúča v bitoch (pozrite si upozornenia)
- Tento certifikát a heslo uložte na bezpečné miesto.
Krok 2. Vytvorte žiadosť o podpis certifikátu
-
openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256
-
Vysvetlené možnosti:
- req - Vytvorí žiadosť o podpis
- -verbose - zobrazuje podrobnosti o požiadavke pri vytváraní (voliteľné)
- -new - vytvorí novú požiadavku
- -key server.apache.key - Súkromný kľúč, ktorý ste práve vytvorili vyššie.
- -out server.apache.csr - názov súboru žiadosti o podpis, ktorú vytvárate
- sha256 - Šifrovací algoritmus, ktorý sa má použiť na podpisovanie požiadaviek (Ak neviete, čo to je, nemeňte to. Toto by ste mali zmeniť iba vtedy, ak viete, čo robíte)
Krok 3. Na podpísanie nového kľúča použite svoj certifikát CA
-
openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr
-
Vysvetlené možnosti:
- ca - Načíta modul certifikačnej autority
- -out server.apache.pem - názov súboru podpísaného certifikátu
- -keyfile server. CA.key - názov súboru certifikátu CA, ktorý bude podpisovať žiadosť
- -infiles server.apache.csr - názov súboru žiadosti o podpis certifikátu
Krok 4. Vyplňte informácie čo najviac:
-
Názov krajiny (dvojpísmenový kód) [AU]:
USA
-
Názov štátu alebo provincie (celé meno) [Some-State]:
CA
-
Názov lokality (napr. Mesto) :
Silicon Valley
-
Názov organizácie (napr. Spoločnosť) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Názov organizačnej jednotky (napr. Sekcia) :
-
Bežný názov (napr. FQDN servera alebo VÁŠ názov) :
-
Emailová adresa :
Krok 5. Uložte kópiu svojho súkromného kľúča na iné miesto
Vytvorte súkromný kľúč bez hesla, aby ste zabránili Apache vo výzve na zadanie hesla:
-
openssl rsa -in server.apache.key -out server.apache.unsecured.key
-
Vysvetlené možnosti:
- rsa - spúšťa šifrovací program RSA
- -in server.apache.key - názov kľúča, ktorý chcete previesť.
- -out server.apache.unsecured.key - názov súboru nového nezabezpečeného kľúča
Krok 6. Na konfiguráciu súboru apache2.conf použite výsledný súbor server.apache.pem spolu so súkromným kľúčom, ktorý ste vygenerovali v kroku 1
Časť 3 zo 4: Vytvorenie používateľského certifikátu na autentifikáciu
Krok 1. Vykonajte všetky kroky v časti _Vytváranie certifikátov SSL pre Apache_
Krok 2. Preveďte svoj podpísaný certifikát na PKCS12
openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12
Časť 4 zo 4: Vytváranie e-mailových certifikátov S/MIME
Krok 1. Vytvorte súkromný kľúč
openssl genrsa -des3 -out private_email.key 2048
Krok 2. Vytvorte žiadosť o podpis certifikátu
openssl req -new -key private_email.key -out private_email.csr
Krok 3. Na podpísanie nového kľúča použite svoj certifikát CA
openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr
Krok 4. Preveďte certifikát na PKCS12
openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12
Krok 5. Vytvorte certifikát verejného kľúča na distribúciu
openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "WikiHow's Public Key"
Tipy
Obsah kľúčov PEM môžete zmeniť zadaním nasledujúceho príkazu: openssl x509 -noout -text -in certifikát.pem
Varovania
- 1024-bitové kľúče sa považujú za zastarané. 2048-bitové kľúče sa považujú za bezpečné pre užívateľské certifikáty do roku 2030, ale pre koreňové certifikáty sa považujú za nedostatočné. Pri vytváraní certifikátov zvážte tieto chyby zabezpečenia.
- Väčšina moderných prehliadačov predvolene zobrazí pri návšteve vašich stránok upozornenie „Nedôveryhodný certifikát“. O znení týchto varovaní sa veľa diskutovalo, pretože netechnických používateľov je možné zaskočiť. Často je najlepšie použiť hlavný orgán, aby používatelia nedostali varovania.