OpenSSL: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 12: Zeile 12:


= Anwendung =
= Anwendung =
== Schlüssel (keys) erstellen ==
== Zufallszahl erzeugen ==
* Schlüssel (keys) erstellen
  $ '''openssl rand -base64 16'''
  $ '''openssl rand -base64 16'''
  Zcc/wH0SQ7/WLvkuHq1Cjg==
  Zcc/wH0SQ7/WLvkuHq1Cjg==
Zeile 29: Zeile 30:
  | '''-hex''' ||  Zeichenkette aus Hexadezimalzahlen
  | '''-hex''' ||  Zeichenkette aus Hexadezimalzahlen
|}
|}
=== Dateien verschlüsseln ===
; Syntax
openssl enc <Algorithmus> -in <zu verschlüsselnde Datei> -out <Dateiname für verschlüsselte Datei>
; Verfügbare Kryptografies-Algorithmen anzeigen
$ openssl ciphers
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:RSA-PSK-AES256-GCM-SHA384:DHE-PSK-AES256-GCM-SHA384:RSA-PSK-CHACHA20-POLY1305:DHE-PSK-CHACHA20-POLY1305:ECDHE-PSK-CHACHA20-POLY1305:AES256-GCM-SHA384:PSK-AES256-GCM-SHA384:PSK-CHACHA20-POLY1305:RSA-PSK-AES128-GCM-SHA256:DHE-PSK-AES128-GCM-SHA256:AES128-GCM-SHA256:PSK-AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:ECDHE-PSK-AES256-CBC-SHA384:ECDHE-PSK-AES256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA:SRP-AES-256-CBC-SHA:RSA-PSK-AES256-CBC-SHA384:DHE-PSK-AES256-CBC-SHA384:RSA-PSK-AES256-CBC-SHA:DHE-PSK-AES256-CBC-SHA:AES256-SHA:PSK-AES256-CBC-SHA384:PSK-AES256-CBC-SHA:ECDHE-PSK-AES128-CBC-SHA256:ECDHE-PSK-AES128-CBC-SHA:SRP-RSA-AES-128-CBC-SHA:SRP-AES-128-CBC-SHA:RSA-PSK-AES128-CBC-SHA256:DHE-PSK-AES128-CBC-SHA256:RSA-PSK-AES128-CBC-SHA:DHE-PSK-AES128-CBC-SHA:AES128-SHA:PSK-AES128-CBC-SHA256:PSK-AES128-CBC-SHA
; Beispiel
openssl enc -aes-256-cbc -in secret.txt -out secret.txt.enc
==== Dateien entschlüsseln ====
; Syntax
openssl enc <Algorithmus> -d -in <zu entschlüsselnde Datei> -out <Dateiname für entschlüsselte Datei>
Im Grunde handelt es sich um den gleichen Befehl wie bei der Verschlüsselung, nur dass hierbei noch die Option <tt>-d</tt> für ''decryption'' hinzugefügt wird.
; Hinweis
:* Hierbei ist es auch möglich, für die Kryptografie eigene Keys zu verwenden.
:* Das entsprechende Schlüsselwort lautet hierbei <tt>rsautl</tt>.
Eine weitere sinnvolle Option ist z.B. noch <tt>-a</tt>, welche die verschlüsselten Daten in der Datei noch base64 kodiert.
$ cat secret.txt.enc
U2FsdGVkX18vM/gClOw34NJQday0+By5Ztpd2HKvbVK3D4ccDk3qrbaGZo065h7b


= Sicherheit =
= Sicherheit =

Version vom 19. Januar 2023, 20:59 Uhr


topic kurze Beschreibung

Beschreibung

Installation

Syntax

Parameter

Optionen

Konfiguration

Dateien

Anwendung

Zufallszahl erzeugen

  • Schlüssel (keys) erstellen
$ openssl rand -base64 16
Zcc/wH0SQ7/WLvkuHq1Cjg==
$ openssl rand -hex 16
1f8969db2bcbb7c794a97faccd29bf61
Option Aufgabe
rand Pseudozufallszeichenketten einer bestimmten Kodierung und der angegebenen Länge erzeugt werden
-base64 Zeichenkette aus Zahlen, Groß- & Kleinbuchstaben, sowie den Zeichen '+' und '/' generiert
-hex Zeichenkette aus Hexadezimalzahlen

Dateien verschlüsseln

Syntax
openssl enc <Algorithmus> -in <zu verschlüsselnde Datei> -out <Dateiname für verschlüsselte Datei>
Verfügbare Kryptografies-Algorithmen anzeigen
$ openssl ciphers
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:RSA-PSK-AES256-GCM-SHA384:DHE-PSK-AES256-GCM-SHA384:RSA-PSK-CHACHA20-POLY1305:DHE-PSK-CHACHA20-POLY1305:ECDHE-PSK-CHACHA20-POLY1305:AES256-GCM-SHA384:PSK-AES256-GCM-SHA384:PSK-CHACHA20-POLY1305:RSA-PSK-AES128-GCM-SHA256:DHE-PSK-AES128-GCM-SHA256:AES128-GCM-SHA256:PSK-AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:ECDHE-PSK-AES256-CBC-SHA384:ECDHE-PSK-AES256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA:SRP-AES-256-CBC-SHA:RSA-PSK-AES256-CBC-SHA384:DHE-PSK-AES256-CBC-SHA384:RSA-PSK-AES256-CBC-SHA:DHE-PSK-AES256-CBC-SHA:AES256-SHA:PSK-AES256-CBC-SHA384:PSK-AES256-CBC-SHA:ECDHE-PSK-AES128-CBC-SHA256:ECDHE-PSK-AES128-CBC-SHA:SRP-RSA-AES-128-CBC-SHA:SRP-AES-128-CBC-SHA:RSA-PSK-AES128-CBC-SHA256:DHE-PSK-AES128-CBC-SHA256:RSA-PSK-AES128-CBC-SHA:DHE-PSK-AES128-CBC-SHA:AES128-SHA:PSK-AES128-CBC-SHA256:PSK-AES128-CBC-SHA
Beispiel
openssl enc -aes-256-cbc -in secret.txt -out secret.txt.enc

Dateien entschlüsseln

Syntax
openssl enc <Algorithmus> -d -in <zu entschlüsselnde Datei> -out <Dateiname für entschlüsselte Datei>

Im Grunde handelt es sich um den gleichen Befehl wie bei der Verschlüsselung, nur dass hierbei noch die Option -d für decryption hinzugefügt wird.

Hinweis
  • Hierbei ist es auch möglich, für die Kryptografie eigene Keys zu verwenden.
  • Das entsprechende Schlüsselwort lautet hierbei rsautl.

Eine weitere sinnvolle Option ist z.B. noch -a, welche die verschlüsselten Daten in der Datei noch base64 kodiert.

$ cat secret.txt.enc
U2FsdGVkX18vM/gClOw34NJQday0+By5Ztpd2HKvbVK3D4ccDk3qrbaGZo065h7b

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Projekt-Homepage

Links

Siehe auch

Weblinks

Einzelnachweise


Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5

TMP

OpenSSL

Hier helfen zwei kleine Skripte. Diese können z.B. als ssl-encode.sh und ssl-decode.sh gespeichert werden. Dazu bieten sich die Ordner ~/bin (für einen einzelnen Benutzer) oder /usr/local/bin (bei systemweiter Nutzung) an.

Verschlüsseln
#!/bin/bash
# make sure we get a file name
if [ $# -lt 1 ]; then
  echo "Usage: $0 filename"
  exit 1
fi
openssl enc -e -aes256 -in "$1" -out "$1".enc
Entschlüsseln
#!/bin/bash
# make sure we get 2 files
if [ $# -lt 2 ]; then
  echo "Usage: $0 encrypted_file decrypted_file"
  exit 1
fi
openssl enc -d -aes256 -in "$1" -out "$2"
  1. openssl benutzt ab Version 1.1 (?) nicht mehr -md md5 als Default-Option, ohne diese Option kann eine mit
  2. Version 1.0 verschlüsselte Datei nicht entschlüsselt werden.