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.
- Generer en privat servernøkkel.
openssl genrsa -out server.key 4096
- Bruk den private servernøkkelen til å generere en forespørsel om sertifikatgenerering.
openssl req -new -key server.key -out server.req -sha256
- 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
- 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.
- 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/
- 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
- Aktiver SSL-modulen I Apache.
a2enmod ssl
- Aktiver SSL-nettstedet I Apache og deaktiver HTTP-nettstedet.
a2ensite default-ssla2dissite default
- 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
- 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
- Generer en privat nøkkel FOR SSL-klienten.
openssl genrsa -out client.key 4096
- Bruk klientens private nøkkel til å generere en cert-forespørsel.
openssl req -new -key client.key -out client.req
- 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
- 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
- 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!