21 OpenSSL-eksempler for å hjelpe deg i den virkelige verden

Opprett, administrer og konverter SSL-sertifikater med OpenSSL

En av de mest populære kommandoene i SSL for å lage, konvertere, administrere SSL-sertifikatene er OpenSSL.

Det vil være mange situasjoner hvor du må håndtere OpenSSL på ulike måter, og her har jeg listet dem opp for deg som et hendig jukseark.

I denne artikkelen vil jeg snakke om ofte brukte OpenSSL-kommandoer for å hjelpe deg i den virkelige verden.

Noen av forkortelsene knyttet til sertifikater.

  • SSL – Secure Socket Layer
  • CSR – forespørsel om sertifikatsignering
  • TLS – Transport Layer Security
  • PEM – Privacy Enhanced Mail
  • DER – Distinguished Encoding Rules
  • SHA – Secure Hash Algorithm
  • PKCS – Public-Key Cryptography Standards

Merk: SSL/TLS operasjonskurs ville vært nyttig hvis du ikke er kjent med vilkårene.

Opprett en ny forespørsel om privat nøkkel og sertifikatsignering

openssl req -out tipsbilk.net.csr -newkey rsa:2048 -nodes -keyout tipsbilk.net.key

Kommandoen ovenfor vil generere CSR og en 2048-bits RSA-nøkkelfil. Hvis du har tenkt å bruke dette sertifikatet i Apache eller Nginx, må du sende denne CSR-filen til sertifikatutstederens myndighet, og de vil gi deg et signert sertifikat hovedsakelig i der- eller pem-format som du må konfigurere i Apache eller Nginx webserver .

Opprett et selvsignert sertifikat

openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

Kommandoen ovenfor vil generere et selvsignert sertifikat og nøkkelfil med 2048-bit RSA. Jeg har også inkludert sha256 siden den anses som mest sikker for øyeblikket.

  Hvordan fikse Flash Drive når filer blir snarveier (LØSNINGER)

Tips: som standard vil det generere et selvsignert sertifikat som er gyldig i bare én måned, så du kan vurdere å definere –days-parameteren for å forlenge gyldigheten.

Eks: å ha egensignert gyldig i to år.

openssl req -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

Bekreft CSR-filen

openssl req -noout -text -in tipsbilk.net.csr

Verifisering er viktig for å sikre at du sender CSR til utstedermyndigheten med de nødvendige opplysningene.

Opprett privat RSA-nøkkel

openssl genrsa -out private.key 2048

Hvis du bare trenger å generere RSA privat nøkkel, kan du bruke kommandoen ovenfor. Jeg har inkludert 2048 for sterkere kryptering.

Fjern passordfrase fra nøkkel

openssl rsa -in certkey.key -out nopassphrase.key

Hvis du bruker passordfrase i nøkkelfilen og bruker Apache, må du skrive inn passordet hver gang du starter. Hvis du irriterer deg over å skrive inn et passord, kan du bruke openssl rsa -in tipsbilk.net.key -check ovenfor for å fjerne passordfrasenøkkelen fra en eksisterende nøkkel.

Bekreft privat nøkkel

openssl rsa -in certkey.key –check

Hvis du tviler på nøkkelfilen din, kan du bruke kommandoen ovenfor for å sjekke.

Bekreft sertifikatfil

openssl x509 -in certfile.pem -text –noout

Hvis du ønsker å validere sertifikatdata som CN, OU, etc., kan du bruke en kommando ovenfor som vil gi deg sertifikatdetaljer.

Bekreft sertifikatunderskrivermyndigheten

openssl x509 -in certfile.pem -noout -issuer -issuer_hash

Sertifikatutsteders myndighet signerer hvert sertifikat og i tilfelle du trenger å sjekke dem.

Sjekk Hash-verdien til et sertifikat

openssl x509 -noout -hash -in bestflare.pem

Konverter DER til PEM-format

openssl x509 –inform der –in sslcert.der –out sslcert.pem

Vanligvis vil sertifiseringsmyndigheten gi deg SSL-sertifikat i .der-format, og hvis du trenger å bruke dem i apache- eller .pem-format, vil kommandoen ovenfor hjelpe deg.

  Hvordan sluttføre og tilbakekalle tilgang til en delt Google-fil

Konverter PEM til DER-format

openssl x509 –outform der –in sslcert.pem –out sslcert.der

I tilfelle du må endre .pem-format til .der

Konverter sertifikat og privat nøkkel til PKCS#12-format

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

Hvis du trenger å bruke et sertifikat med java-applikasjonen eller med andre som bare aksepterer PKCS#12-format, kan du bruke kommandoen ovenfor, som vil generere en enkelt pfx som inneholder sertifikat- og nøkkelfil.

Tips: du kan også inkludere kjedesertifikat ved å bestå –chain som nedenfor.

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem -chain cacert.pem

Opprett CSR med en eksisterende privat nøkkel

openssl req –out certificate.csr –key existing.key –new

Hvis du ikke vil opprette en ny privat nøkkel i stedet for å bruke en eksisterende, kan du gå med kommandoen ovenfor.

Sjekk innholdet i PKCS12-formatsertifikatet

openssl pkcs12 –info –nodes –in cert.p12

PKCS12 er et binært format slik at du ikke kan se innholdet i notisblokk eller et annet redigeringsprogram. Kommandoen ovenfor vil hjelpe deg å se innholdet i PKCS12-filen.

Konverter PKCS12-format til PEM-sertifikat

openssl pkcs12 –in cert.p12 –out cert.pem

Hvis du ønsker å bruke eksisterende pkcs12-format med Apache eller bare i pem-format, vil dette være nyttig.

Test SSL-sertifikatet for en bestemt URL

openssl s_client -connect yoururl.com:443 –showcerts

Jeg bruker dette ganske ofte for å validere SSL-sertifikatet til en bestemt URL fra serveren. Dette er veldig nyttig for å validere protokollen, chifferen og sertifikatdetaljene.

Finn ut OpenSSL-versjonen

openssl version

Hvis du er ansvarlig for å sikre at OpenSSL er sikker, er sannsynligvis en av de første tingene du må gjøre å bekrefte versjonen.

Sjekk utløpsdatoen for PEM-filsertifikatet

openssl x509 -noout -in certificate.pem -dates

Nyttig hvis du planlegger å overvåke for å sjekke gyldigheten. Den vil vise deg en dato i notBefore og not After syntaks. notAfter er en du må bekrefte for å bekrefte om et sertifikat er utløpt eller fortsatt gyldig.

  Voralent Antilope Optimaliser JPEG-er og PNG-er i bulk, slett EXIF-data

Eks:

[[email protected] opt]# openssl x509 -noout -in bestflare.pem -dates
notBefore=Jul 4 14:02:45 2015 GMT
notAfter=Aug 4 09:46:42 2015 GMT
[[email protected] opt]#

Sjekk sertifikatets utløpsdato for SSL URL

openssl s_client -connect secureurl.com:443 2>/dev/null | openssl x509 -noout –enddate

En annen nyttig hvis du planlegger å overvåke utløpsdatoen for SSL-sertifikatet eksternt eller bestemt URL.

Eks:

[[email protected] opt]# openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate

notAfter=Dec 8 00:00:00 2015 GMT

Sjekk om SSL V2 eller V3 er akseptert på URL

For å sjekke SSL V2

openssl s_client -connect secureurl.com:443 -ssl2

For å sjekke SSL V3

openssl s_client -connect secureurl.com:443 –ssl3

For å sjekke TLS 1.0

openssl s_client -connect secureurl.com:443 –tls1

For å sjekke TLS 1.1

openssl s_client -connect secureurl.com:443 –tls1_1

For å sjekke TLS 1.2

openssl s_client -connect secureurl.com:443 –tls1_2

Hvis du sikrer en webserver og trenger å validere om SSL V2/V3 er aktivert eller ikke, kan du bruke kommandoen ovenfor. Hvis den er aktivert, vil du få «CONNECTED» ellers «handshake failure.»

Bekreft om den bestemte chifferen er akseptert på URL

openssl s_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect secureurl:443

Hvis du jobber med sikkerhetsfunn og pennetestresultater viser at noen av de svake chifferene er akseptert, kan du bruke kommandoen ovenfor for å validere.

Selvfølgelig må du endre chiffer og URL, som du vil teste mot. Hvis den nevnte chifferen godtas, vil du få «CONNECTED» ellers «handshake failure.»

Jeg håper kommandoene ovenfor hjelper deg å vite mer om OpenSSL for å administrere SSL-sertifikater for nettstedet ditt.

x