Hur man är din egen certifikatutfärdare (med bilder)

Innehållsförteckning:

Hur man är din egen certifikatutfärdare (med bilder)
Hur man är din egen certifikatutfärdare (med bilder)

Video: Hur man är din egen certifikatutfärdare (med bilder)

Video: Hur man är din egen certifikatutfärdare (med bilder)
Video: Top 7 Instagram Settings You Should Change Right Now 2024, Maj
Anonim

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

Var din egen certifikatutfärdare Steg 1
Var din egen certifikatutfärdare Steg 1

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.
Var din egen certifikatutfärdare Steg 2
Var din egen certifikatutfärdare Steg 2

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)
Var din egen certifikatutfärdare Steg 3
Var din egen certifikatutfärdare Steg 3

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 :

Var din egen certifikatutfärdare Steg 4
Var din egen certifikatutfärdare Steg 4

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.
Var din egen certifikatutfärdare Steg 5
Var din egen certifikatutfärdare Steg 5

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

Var din egen certifikatutfärdare Steg 6
Var din egen certifikatutfärdare Steg 6

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.
Var din egen certifikatutfärdare Steg 7
Var din egen certifikatutfärdare Steg 7

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)
Var din egen certifikatutfärdare Steg 8
Var din egen certifikatutfärdare Steg 8

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
Var din egen certifikatutfärdare Steg 9
Var din egen certifikatutfärdare Steg 9

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 :

Var din egen certifikatutfärdare Steg 10
Var din egen certifikatutfärdare Steg 10

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
Var din egen certifikatutfärdare Steg 11
Var din egen certifikatutfärdare Steg 11

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

Var din egen certifikatutfärdare Steg 12
Var din egen certifikatutfärdare Steg 12

Steg 1. Följ alla steg i _Skapa SSL -certifikat för Apache_

Var din egen certifikatutfärdare Steg 13
Var din egen certifikatutfärdare Steg 13

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

Var din egen certifikatutfärdare Steg 14
Var din egen certifikatutfärdare Steg 14

Steg 1. Skapa en privat nyckel

openssl genrsa -des3 -out private_email.key 2048

Var din egen certifikatutfärdare Steg 15
Var din egen certifikatutfärdare Steg 15

Steg 2. Skapa en begäran om certifikatsignering

openssl req -ny -key private_email.key -out private_email.csr

Var din egen certifikatutfärdare Steg 16
Var din egen certifikatutfärdare Steg 16

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

Var din egen certifikatutfärdare Steg 17
Var din egen certifikatutfärdare Steg 17

Steg 4. Konvertera certifikatet till PKCS12

openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12

Var din egen certifikatutfärdare Steg 18
Var din egen certifikatutfärdare Steg 18

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.

Rekommenderad: