Openssl/Befehl: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite Openssl nach Openssl/Befehl
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''openssl''' - Kurzbeschreibung
'''openssl''' - Kurzbeschreibung


=== Zufallszahl erzeugen ===
== Anwendungen ==
$ '''openssl rand -base64 16'''
[[Openssl/Anwendungen]]
Zcc/wH0SQ7/WLvkuHq1Cjg==
 
$ '''openssl rand -hex 16'''
1f8969db2bcbb7c794a97faccd29bf61
 
{| class="wikitable sortable options"
|-
! 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
|}
 
=== Verfügbare Algorithmen ===
$ '''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
 
=== Dateien ===
=== Verschlüsseln ===
; Syntax
openssl enc <Algorithmus> -in <zu verschlüsselnde Datei> -out <Dateiname für verschlüsselte Datei>
 
; Beispiel
openssl enc -aes-256-cbc -in secret.txt -out secret.txt.enc
 
=== Entschlüssel ===
; 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.&nbsp;B.&nbsp;noch <tt>-a</tt>, welche die verschlüsselten Daten in der Datei noch base64 kodiert.
 
$ cat secret.txt.enc
U2FsdGVkX18vM/gClOw34NJQday0+By5Ztpd2HKvbVK3D4ccDk3qrbaGZo065h7b
 
Hier helfen zwei kleine Skripte. Diese können z.&nbsp;B.&nbsp;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"
 
# openssl benutzt ab Version 1.1 (?) nicht mehr -md md5 als Default-Option, ohne diese Option kann eine mit
# Version 1.0 verschlüsselte Datei nicht entschlüsselt werden.
 
== Selbst signierte Zertifikate ==
SSL-Zertifkat selbst erstellen/erzeugen/signieren
 
; Erstellung eines SSL-Zertifikats
# Erstellen einer Zertifikats-Anforderung (''certificate (signing) request'', ''csr'')
# Privaten Key erzeugen
# Signieren des Keys mit der Zertifikats-Anforderung
; Alle Schritte in einem Befehl
openssl req -new -days 999 -newkey rsa:4096bits -sha512 -x509 -nodes -out server.crt -keyout server.key
 
; Hinweise
:* die Gültigkeitsdauer sollte ggf. von 999 Tagen auf einen anderen Wert geändert werden
:* achten Sie darauf, dass weder <code>server.crt</code> noch <code>server.key</code> im aktuellen Verzeichnis existieren, oder diese werden überschrieben!
 
==== Details ====
; Privaten Key und CSR erzeugen
$ '''openssl req -new -keyout server.pem > server.csr'''
 
; Privaten Key in passendes Format umwandeln
$ '''openssl rsa -in server.pem -out server.key'''
 
; Selbst-signiertes Zertifikat erzeugen
$ '''openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 999'''
 
=== Fehlerbehebung ===
 
== Konfiguration ==
=== Dateien ===
<noinclude>


== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Sicherheit ====
==== Dokumentation ====
===== RFC =====
{| class="wikitable sortable options"
|-
! RFC !! Titel
|-
| [https://www.rfc-editor.org/rfc/0000 0000] ||
|}
===== Man-Pages =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====


{{DISPLAYTITLE:openssl}}
{{DISPLAYTITLE:openssl}}

Aktuelle Version vom 6. Mai 2024, 19:17 Uhr

openssl - Kurzbeschreibung

Anwendungen

Openssl/Anwendungen

Anhang

Siehe auch