Å få et SSL -sertifikat fra noen av de største sertifikatmyndighetene (CA) kan koste $ 100 og oppover. Legg til blandingen nyhetshistorier som synes å indikere at ikke alle de etablerte CA -ene kan stole på 100% av tiden, og du kan bestemme deg for å omgå usikkerheten og slette kostnaden ved å være din egen sertifikatmyndighet.
Trinn
Del 1 av 4: Opprette CA -sertifikatet
Trinn 1. Generer CAs private nøkkel ved å utstede følgende kommando
-
openssl genrsa -des3 -out server. CA.key 2048
-
Alternativene forklart
- openssl - navnet på programvaren
- genrsa - oppretter en ny privat nøkkel
- -des3 - krypter nøkkelen ved hjelp av DES -krypteringen
- -out server. CA.key - navnet på den nye nøkkelen
- 2048 - lengden, i biter, på den private nøkkelen (se advarslene)
- Lagre dette sertifikatet og passordet på et trygt sted.
Trinn 2. Lag en forespørsel om sertifikatsignering
-
openssl req -verbose -ny -key server. CA.key -out server. CA.csr -sha256
-
Alternativene forklarte:
- req - Oppretter en signeringsforespørsel
- -verbose - viser deg detaljer om forespørselen mens den blir opprettet (valgfritt)
- -ny - oppretter en ny forespørsel
- -key server. CA.key - Den private nøkkelen du nettopp opprettet ovenfor.
- -out server. CA.csr - Filnavnet til signeringsforespørselen du oppretter
- sha256 - Krypteringsalgoritmen som skal brukes for signeringsforespørsler (Hvis du ikke vet hva dette er, må du ikke endre dette. Du bør bare endre dette hvis du vet hva du gjør)
Trinn 3. Fyll ut informasjonen så mye som mulig
-
Landnavn (kode på 2 bokstaver) [AU]:
OSS
-
Stat eller provinsnavn (fullt navn) [Noen-stat]:
CA
-
Stedsnavn (f.eks. By) :
Silicon Valley
-
Organisasjonsnavn (f.eks. Selskap) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Navn på organisasjonsenhet (f.eks. Seksjon) :
-
Felles navn (f.eks. Server FQDN eller DITT navn) :
-
Epostadresse :
Trinn 4. Selv signer sertifikatet ditt:
-
openssl ca -utvidelser v3_ca -out server. CA -signed.crt -keyfile server. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server. CA.csr
-
Alternativene forklarte:
- ca - Laster inn Certificate Authority -modulen
- -utvidelse v3_ca -Laster v3_ca -utvidelsen, et must -ha for bruk i moderne nettlesere
- -out server. CA -signed.crt -Navnet på den nye signerte nøkkelen
- -keyfile server. CA.key - Den private nøkkelen du opprettet i trinn 1
- -verbose - viser deg detaljer om forespørselen mens den blir opprettet (valgfritt)
- -selfsign - Forteller openssl at du bruker den samme nøkkelen til å signere forespørselen
- -md sha256 - Krypteringsalgoritmen som skal brukes for meldingen. (Hvis du ikke vet hva dette er, ikke endre dette. Du bør bare endre dette hvis du vet hva du gjør)
- -enddato 330630235959Z - Slutdatoen for sertifikatet. Notasjonen er YYMMDDHHMMSSZ hvor Z er i GMT, noen ganger kjent som "Zulu" -tid.
- -infiles server. CA.csr - filen for signeringsforespørsel som du opprettet trinnet ovenfor.
Trinn 5. Kontroller CA -sertifikatet
- openssl x509 -noout -text -in server. CA.crt
-
Alternativene forklarte:
- x509 - Laster x509 -modulen for å inspisere signerte sertifikater.
- -noout - Ikke send ut den kodede teksten
- -tekst - send ut informasjonen på skjermen
- -in server. CA.crt - Last det signerte sertifikatet
- Server. CA.crt -filen kan distribueres til alle som vil bruke nettstedet ditt eller bruke sertifikater som du planlegger å signere.
Del 2 av 4: Opprette SSL -sertifikater for en tjeneste, for eksempel Apache
Trinn 1. Opprett en privat nøkkel
-
openssl genrsa -des3 -out server.apache.key 2048
-
Alternativene forklarte:
- openssl - navnet på programvaren
- genrsa - oppretter en ny privat nøkkel
- -des3 - krypter nøkkelen ved hjelp av DES -krypteringen
- -out server.apache.key - navnet på den nye nøkkelen
- 2048 - lengden, i biter, på den private nøkkelen (se advarslene)
- Lagre dette sertifikatet og passordet på et trygt sted.
Trinn 2. Lag en forespørsel om sertifikatsignering
-
openssl req -verbose -ny -key server.apache.key -out server.apache.csr -sha256
-
Alternativene forklarte:
- req - Oppretter en signeringsforespørsel
- -verbose - viser deg detaljer om forespørselen mens den blir opprettet (valgfritt)
- -ny - oppretter en ny forespørsel
- -key server.apache.key - Den private nøkkelen du nettopp opprettet ovenfor.
- -out server.apache.csr - Filnavnet til signeringsforespørselen du oppretter
- sha256 - Krypteringsalgoritmen som skal brukes for signeringsforespørsler (Hvis du ikke vet hva dette er, må du ikke endre dette. Du bør bare endre dette hvis du vet hva du gjør)
Trinn 3. Bruk CA -sertifikatet til å signere den nye nøkkelen
-
openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr
-
Alternativene forklarte:
- ca - Laster inn Certificate Authority -modulen
- -out server.apache.pem - Filnavnet det signerte sertifikatet
- -keyfile server. CA.key - Filnavnet til CA -sertifikatet som skal signere forespørselen
- -infiles server.apache.csr - filnavnet til forespørselen om signering av sertifikat
Trinn 4. Fyll ut informasjonen så mye som mulig:
-
Landnavn (kode på 2 bokstaver) [AU]:
OSS
-
Stat eller provinsnavn (fullt navn) [Noen-stat]:
CA
-
Stedsnavn (f.eks. By) :
Silicon Valley
-
Organisasjonsnavn (f.eks. Selskap) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Navn på organisasjonsenhet (f.eks. Seksjon) :
-
Felles navn (f.eks. Server FQDN eller DITT navn) :
-
Epostadresse :
Trinn 5. Lagre en kopi av din private nøkkel på et annet sted
Lag en privat nøkkel uten passord for å forhindre at Apache ber deg om et passord:
-
openssl rsa -in server.apache.key -out server.apache.unsecured.key
-
Alternativene forklarte:
- rsa - Kjører RSA -krypteringsprogrammet
- -in server.apache.key - Nøkkelnavnet du vil konvertere.
- -out server.apache.unsecured.key - Filnavnet til den nye usikrede nøkkelen
Trinn 6. Bruk den resulterende server.apache.pem -filen sammen med den private nøkkelen du genererte i trinn 1 for å konfigurere apache2.conf -filen
Del 3 av 4: Opprette et brukersertifikat for autentisering
Trinn 1. Følg alle trinnene i _Lage SSL -sertifikater for Apache_
Trinn 2. Konverter det signerte sertifikatet til en PKCS12
openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12
Del 4 av 4: Opprette S/MIME-e-postsertifikater
Trinn 1. Opprett en privat nøkkel
openssl genrsa -des3 -out private_email.key 2048
Trinn 2. Lag en forespørsel om sertifikatsignering
openssl req -ny -key private_email.key -out private_email.csr
Trinn 3. Bruk CA -sertifikatet til å signere den nye nøkkelen
openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr
Trinn 4. Konverter sertifikatet til PKCS12
openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12
Trinn 5. Lag et Public Key -sertifikat for distribusjon
openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "WikiHows offentlige nøkkel"
Tips
Du kan variere innholdet i PEM -nøkler ved å utstede følgende kommando: openssl x509 -noout -text -in certificate.pem
Advarsler
- 1024-biters nøkler anses å være foreldede. 2048-biters nøkler anses å være sikre for brukersertifikater frem til 2030, men anses som utilstrekkelige for rotsertifikater. Vurder disse sårbarhetene når du oppretter sertifikatene dine.
- Som standard vil de fleste moderne nettlesere vise en advarsel "Sikkert sertifikat" når noen besøker nettstedet ditt. Det har vært mye debatt om ordlyden i disse advarslene, ettersom ikke-tekniske brukere kan bli tatt på vakt. Det er ofte best å bruke en større myndighet slik at brukerne ikke får advarslene.