mars 12, 2022

make then make install

SSL primære funksjon På Internett er å legge til rette for kryptering og tillit som gjør at en nettleser for å validere ektheten av et nettsted. SSL fungerer imidlertid også omvendt-klient SSL-sertifikater kan brukes til å godkjenne en klient til webserveren. Tenk SSH offentlige / private nøkkelpar, hvis det er kjent for deg. I dette blogginnlegget vil jeg skissere trinnene for å opprette et sertifikatautoritetssertifikat, signere et serversertifikat og installere Det I Apache, og opprette et klientsertifikat i et format som brukes av nettlesere.

Installere et operativsystem Og Apache er utenfor rammen av blogginnlegget, og jeg antar at Du har en fungerende Apache-installasjon før vi kommer i gang. Jeg bruker Et Ubuntu 12.04.4-system i dette blogginnlegget.

Generer en certificate authority (CA) cert

det første trinnet er å generere ET CA-sertifikat. DETTE CA-sertifikatet trenger ikke å bli generert på webserveren din – det kan sitte på hvilken maskin du vil bruke til å generere SSL-sertifikater. NÅR opprettet, CA cert vil fungere som klarert myndighet for både server og klient certs. Det tilsvarer Verisign Eller Comodos I DEN virkelige VERDEN AV SSL, men du vil ikke bruke CA-cert for et stort offentlig nettsted, da tilliten ikke skal bygges inn i nettlesere overalt.

Generer CA-sertifikatet ditt ved hjelp av denne kommandoen:

openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer

så hold dem hemmelige-hold dem trygge. Hvis noen skulle få tak i disse filene, ville de kunne generere server – og klientserter som ville være klarert av vår webserver som den vil bli konfigurert nedenfor.

Generer Apache server SSL-nøkkel og sertifikat

Nå som VI har VÅRT CA-cert, kan vi generere SSL-sertifikatet som Skal brukes Av Apache.

  1. Generer en privat servernøkkel.
    openssl genrsa -out server.key 4096
  2. Bruk den private servernøkkelen til å generere en forespørsel om sertifikatgenerering.
    openssl req -new -key server.key -out server.req -sha256
  3. Bruk sertifikatgenereringsforespørselen og CA-cert til å generere server-cert.
    openssl x509 -req -in server.req -CA ca.cer -CAkey ca.key -set_serial 100 -extensions server -days 1460 -outform PEM -out server.cer -sha256
  4. Rydd opp – nå som cert er opprettet, trenger vi ikke lenger forespørselen.
    rm server.req

Installer serversertifikatet I Apache

serveren min kjører Ubuntu 12.04.4, så alle stier og kommandoer referert her er for det operativsystemet.

  1. Kopier CA-cert til et fast sted. Vi må spesifisere VÅR CA cert I Apache siden det er en selvgenerert CA og ikke en som er inkludert i operativsystemer overalt.
    cp ca.cer /etc/ssl/certs/
  2. Kopier server cert og privat nøkkel til fast plass.
    cp server.cer /etc/ssl/certs/server.crtcp server.key /etc/ssl/private/server.key
  3. Aktiver SSL-modulen I Apache.
    a2enmod ssl
  4. Aktiver SSL-nettstedet I Apache og deaktiver HTTP-nettstedet.
    a2ensite default-ssla2dissite default
  5. Rediger /etc/apache2/sites-enabled/000-default-ssl (config-filen FOR SSL-aktivert nettsted) og legg til:
    SSLCACertificateFile /etc/ssl/certs/ca.cerSSLCertificateFile /etc/ssl/certs/server.crtSSLCertificateKeyFile /etc/ssl/private/server.key
  6. Bruk config I Apache.
    service apache2 restart

Akkurat nå, hvis du besøker https-nettstedet ditt, får du EN SSL-feil som ligner PÅ » SSL-peer kunne ikke forhandle om et akseptabelt sett med sikkerhetsparametere.»Det er bra-det betyr at nettstedet ditt ikke vil godta en tilkobling med mindre nettleseren din bruker et pålitelig klientsertifikat. Vi genererer en nå.

Generer et klient SSL-sertifikat

  1. Generer en privat nøkkel FOR SSL-klienten.
    openssl genrsa -out client.key 4096
  2. Bruk klientens private nøkkel til å generere en cert-forespørsel.
    openssl req -new -key client.key -out client.req
  3. Utsted klientsertifikatet ved hjelp av cert-forespørselen og ca cert/ – tasten.
    openssl x509 -req -in client.req -CA ca.cer -CAkey ca.key -set_serial 101 -extensions client -days 365 -outform PEM -out client.cer
  4. Konverter klientsertifikatet og den private nøkkelen til pkcs#12-format for bruk av nettlesere.
    openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
  5. Rydd opp – fjern client private key, client cert og client request filer som pkcs12 har alt som trengs.
    rm client.key client.cer client.req

Ser ut som en ganske lignende prosess for å generere et serversertifikat, va?

til Slutt importerer du .p12 fil i nettleseren din. På Windows kan du dobbeltklikke på filen for å importere til operativsystemets keystore som skal brukes AV IE og Chrome. For Firefox, åpne Alternativene -> Avansert -> Sertifikater -> Vis Sertifikater – > Sertifikatene dine og importer sertifikatet.

besøk nå nettstedet ditt med nettleseren der du importerte klientsertifikatet. Du vil sannsynligvis bli bedt om hvilket klientsertifikat du skal bruke-velg det. Da vil du bli godkjent og tillatt i!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.