Att få ett SSL -certifikat från någon av de större certifikatmyndigheterna kan kosta $ 100 och uppåt. Lägg till blandningen nyheter som verkar indikera att inte alla etablerade certifikatutfärdare kan lita på 100% av tiden och du kan besluta att kringgå osäkerheten och radera kostnaden genom att vara din egen certifikatutfärdare.
Steg
Del 1 av 4: Skapa ditt CA -certifikat
Steg 1. Generera din CA: s privata nyckel genom att utfärda följande kommando
-
openssl genrsa -des3 -out server. CA.key 2048
-
Alternativen förklaras
- openssl - namnet på programvaran
- genrsa - skapar en ny privat nyckel
- -des3 - kryptera nyckeln med DES -krypteringen
- -out server. CA.key - namnet på din nya nyckel
- 2048 - längden, i bitar, på den privata nyckeln (se varningarna)
- Förvara detta certifikat och lösenordet på en säker plats.
Steg 2. Skapa en begäran om certifikatsignering
-
openssl req -verbose -ny -key server. CA.key -out server. CA.csr -sha256
-
Alternativen förklaras:
- req - Skapar en signeringsbegäran
- -verbose - visar detaljer om förfrågan när den skapas (valfritt)
- -ny - skapar en ny begäran
- -key server. CA.key - Den privata nyckeln du just skapade ovan.
- -out server. CA.csr - Filnamnet på den signeringsbegäran du skapar
- sha256 - Krypteringsalgoritmen som ska användas för signeringsförfrågningar (Om du inte vet vad detta är, ändra inte detta. Du bör bara ändra detta om du vet vad du gör)
Steg 3. Fyll i informationen så mycket som möjligt
-
Landnamn (kod med två bokstäver) [AU]:
USA
-
Stat eller provinsnamn (fullständigt namn) [Någon-stat]:
CA
-
Ortsnamn (t.ex. stad) :
Silicon Valley
-
Organisationsnamn (t.ex. företag) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Organisationsenhetsnamn (t.ex. avsnitt) :
-
Vanligt namn (t.ex. server FQDN eller DITT namn) :
-
E-postadress :
Steg 4. Signera ditt certifikat själv:
-
openssl ca -extensions v3_ca -out server. CA -signed.crt -keyfile server. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server. CA.csr
-
Alternativen förklaras:
- ca - Läser in Certificate Authority -modulen
- -förlängning v3_ca -Läser in tillägget v3_ca, ett måste för användning i moderna webbläsare
- -out server. CA -signed.crt -Namnet på din nya signerade nyckel
- -keyfile server. CA.key - Den privata nyckeln du skapade i steg 1
- -verbose - visar detaljer om förfrågan när den skapas (valfritt)
- -selfsign - Berättar för openssl att du använder samma nyckel för att underteckna begäran
- -md sha256 - Krypteringsalgoritmen som ska användas för meddelandet. (Om du inte vet vad detta är, ändra inte detta. Du bör bara ändra detta om du vet vad du gör)
- -enddate 330630235959Z - Slutdatum för certifikatet. Notationen är YYMMDDHHMMSSZ där Z är i GMT, ibland känd som "Zulu" -tid.
- -infiles server. CA.csr - filen för signeringsbegäran som du skapade steget ovan.
Steg 5. Kontrollera ditt CA -certifikat
- openssl x509 -noout -text -in server. CA.crt
-
Alternativen förklaras:
- x509 - Läser in x509 -modulen för att inspektera signerade certifikat.
- -noout - Mata inte ut den kodade texten
- -text - mata ut informationen på skärmen
- -in server. CA.crt - Ladda det signerade certifikatet
- Filen server. CA.crt kan distribueras till alla som använder din webbplats eller använder certifikat som du planerar att signera.
Del 2 av 4: Skapa SSL -certifikat för en tjänst, till exempel Apache
Steg 1. Skapa en privat nyckel
-
openssl genrsa -des3 -out server.apache.key 2048
-
Alternativen förklaras:
- openssl - namnet på programvaran
- genrsa - skapar en ny privat nyckel
- -des3 - kryptera nyckeln med DES -krypteringen
- -out server.apache.key - namnet på din nya nyckel
- 2048 - längden, i bitar, på den privata nyckeln (se varningarna)
- Förvara detta certifikat och lösenordet på en säker plats.
Steg 2. Skapa en begäran om certifikatsignering
-
openssl req -verbose -ny -key server.apache.key -out server.apache.csr -sha256
-
Alternativen förklaras:
- req - Skapar en signeringsbegäran
- -verbose - visar detaljer om förfrågan när den skapas (valfritt)
- -ny - skapar en ny begäran
- -key server.apache.key - Den privata nyckeln du just skapade ovan.
- -out server.apache.csr - filnamnet på signeringsbegäran du skapar
- sha256 - Krypteringsalgoritmen som ska användas för signeringsförfrågningar (Om du inte vet vad detta är, ändra inte detta. Du bör bara ändra detta om du vet vad du gör)
Steg 3. Använd ditt CA -certifikat för att signera den nya nyckeln
-
openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr
-
Alternativen förklaras:
- ca - Läser in Certificate Authority -modulen
- -out server.apache.pem - Filnamnet det signerade certifikatet
- -keyfile server. CA.key - Filnamnet på CA -certifikatet som kommer att signera begäran
- -infiles server.apache.csr - filnamnet på begäran om certifikatsignering
Steg 4. Fyll i informationen så mycket som möjligt:
-
Landnamn (kod med två bokstäver) [AU]:
USA
-
Stat eller provinsnamn (fullständigt namn) [Någon-stat]:
CA
-
Ortsnamn (t.ex. stad) :
Silicon Valley
-
Organisationsnamn (t.ex. företag) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Organisationsenhetsnamn (t.ex. avsnitt) :
-
Vanligt namn (t.ex. server FQDN eller DITT namn) :
-
E-postadress :
Steg 5. Spara en kopia av din privata nyckel på en annan plats
Skapa en privat nyckel utan lösenord för att förhindra att Apache uppmanar dig ett lösenord:
-
openssl rsa -in server.apache.key -out server.apache.unsecured.key
-
Alternativen förklaras:
- rsa - Kör RSA -krypteringsprogrammet
- -in server.apache.key - Nyckelnamnet som du vill konvertera.
- -out server.apache.unsecured.key - Filnamnet på den nya osäkra nyckeln
Steg 6. Använd den resulterande filen server.apache.pem tillsammans med den privata nyckeln som du genererade i steg 1 för att konfigurera filen apache2.conf
Del 3 av 4: Skapa ett användarcertifikat för autentisering
Steg 1. Följ alla steg i _Skapa SSL -certifikat för Apache_
Steg 2. Konvertera ditt signerade certifikat till en PKCS12
openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12
Del 4 av 4: Skapa S/MIME-e-postcertifikat
Steg 1. Skapa en privat nyckel
openssl genrsa -des3 -out private_email.key 2048
Steg 2. Skapa en begäran om certifikatsignering
openssl req -ny -key private_email.key -out private_email.csr
Steg 3. Använd ditt CA -certifikat för att signera den nya nyckeln
openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr
Steg 4. Konvertera certifikatet till PKCS12
openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12
Steg 5. Skapa ett Public Key -certifikat för distribution
openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "WikiHows offentliga nyckel"
Tips
Du kan variera innehållet i PEM -nycklar genom att utfärda följande kommando: openssl x509 -noout -text -in certificate.pem
Varningar
- 1024-bitars nycklar anses vara föråldrade. 2048-bitars nycklar anses vara säkra för användarcertifikat fram till 2030, men anses vara otillräckliga för rotcertifikat. Tänk på dessa sårbarheter när du skapar dina certifikat.
- Som standard kommer de flesta moderna webbläsare att visa en "Otillförlitligt certifikat" -varning när någon besöker din webbplats. Det har varit mycket debatt om formuleringen av dessa varningar, eftersom icke-tekniska användare kan bli fångade. Det är ofta bäst att använda en större myndighet så att användarna inte får varningarna.