Openssl

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

openssl - Verktyg för SSL/TLS och kryptografiska operationer

Kommandot `openssl` används för att utföra olika SSL/TLS-relaterade och kryptografiska operationer.

Syntax

openssl [SUBCOMMAND] [ALTERNATIV]

Beskrivning

Kommandot `openssl` är ett kraftfullt verktyg för att utföra olika operationer relaterade till SSL/TLS och kryptografi. Det inkluderar funktioner för att skapa och hantera certifikat, skapa kryptografiska hashvärden, kryptera och dekryptera data, och mycket mer.

Subkommandon

Kommandot `openssl` har ett stort antal subkommandon som används för specifika operationer. Några av de vanligaste subkommandona är:

  • `asn1parse` - Parsar ASN.1-strukturer.
  • `ca` - Certifikatutfärdare.
  • `ciphers` - Lista tillgängliga chiffer.
  • `cms` - Cryptographic Message Syntax (CMS).
  • `crl` - Hantera certifikatspärrlistor (CRL).
  • `dgst` - Skapa hashvärden (digest).
  • `enc` - Kryptera och dekryptera data.
  • `genpkey` - Generera privata nycklar.
  • `genrsa` - Generera RSA-nycklar.
  • `passwd` - Skapa lösenordshashar.
  • `pkcs12` - PKCS #12 filhantering.
  • `req` - Certifikatsigneringsförfrågningar (CSR).
  • `rsa` - RSA nyckelhantering.
  • `s_client` - SSL/TLS-klienttestverktyg.
  • `s_server` - SSL/TLS-servertestverktyg.
  • `x509` - Certifikathantering.

Alternativ

Varje subkommando har sina egna alternativ. Här är några exempel på vanliga alternativ för några subkommandon:

dgst

  • `-md5`, `-sha256`, etc. - Ange hashalgoritm.
  • `-out` - Skriv ut hashvärdet till en fil.
  • `-binary` - Skriv ut hashvärdet i binärt format.

Exempel:


openssl dgst -sha256 fil.txt

enc

  • `-e` - Kryptera.
  • `-d` - Dekryptera.
  • `-aes-256-cbc` - Ange krypteringsalgoritm.
  • `-in` - Ange ingångsfil.
  • `-out` - Ange utgångsfil.
  • `-k` - Ange lösenord.

Exempel:


openssl enc -aes-256-cbc -in fil.txt -out fil.txt.enc -k lösenord

req

  • `-new` - Skapa en ny CSR.
  • `-key` - Ange privat nyckel.
  • `-out` - Ange utgångsfil.
  • `-config` - Ange konfigurationsfil.

Exempel:


openssl req -new -key privat.key -out csr.pem -config openssl.cnf

Exempel

Här är några praktiska exempel som visar hur du kan använda `openssl`-kommandot:

  • För att skapa en SHA-256-hash av en fil:

openssl dgst -sha256 fil.txt

  • För att kryptera en fil med AES-256:

openssl enc -aes-256-cbc -in fil.txt -out fil.txt.enc -k lösenord

  • För att generera en RSA-nyckel:

openssl genrsa -out privat.key 2048

  • För att skapa en CSR:

openssl req -new -key privat.key -out csr.pem -config openssl.cnf

Skillnader mellan macOS och Linux

Det finns inga betydande skillnader i hur `openssl`-kommandot fungerar på macOS jämfört med Linux. Kommandot är tillgängligt på båda plattformarna och fungerar på samma sätt.

  • Tillgänglighet: `openssl`-kommandot är tillgängligt på de flesta Linux-distributioner och på macOS. På macOS kan `openssl` behöva installeras via Homebrew eftersom den inbyggda versionen kan vara äldre eller sakna vissa funktioner.
  • Installation: På Linux kan `openssl` installeras via paketförvaltaren (t.ex. `apt-get install openssl` på Debian-baserade system). På macOS kan `openssl` installeras via Homebrew med `brew install openssl`.

Exempel på att installera `openssl` på macOS med Homebrew:

  • Installera Homebrew om det inte redan är installerat:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  • Installera `openssl`:

brew install openssl

Det är alltid bra att konsultera `man`-sidan för `openssl` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `openssl`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att filerna du försöker använda existerar och är tillgängliga.
  • Att du använder en giltig version av `openssl`.

Se även

  • gpg - GnuPG, ett verktyg för att säkra kommunikation och data.
  • ssh - Secure Shell, ett verktyg för säker fjärraccess.
  • curl - Verktyg för att överföra data med URL-syntax.

Källor