Zum Inhalt springen

OpenSSL/Befehl: Unterschied zwischen den Versionen

Aus Foxwiki
 
(33 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''openssl''' - Kurzbeschreibung
'''OpenSSL/Befehl'''  


=== Zufallszahl erzeugen ===
== Beschreibung ==
$ '''openssl rand -base64 16'''
Zcc/wH0SQ7/WLvkuHq1Cjg==


$ '''openssl rand -hex 16'''
== Installation ==
1f8969db2bcbb7c794a97faccd29bf61
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


{| class="wikitable sortable options"  
== Aufruf ==
|-  
<syntaxhighlight lang="bash" highlight="1" line copy>
! Option !! Aufgabe
</syntaxhighlight>
|-
 
| '''rand''' || Pseudozufallszeichenketten einer bestimmten Kodierung und der angegebenen Länge erzeugt werden
=== Optionen ===
|-
{| class="wikitable sortable options gnu big"
| '''-base64''' || Zeichenkette aus Zahlen, Groß- & Kleinbuchstaben, sowie den Zeichen '+' und '/' generiert
|-
|-
! Unix !! GNU !! Parameter !! Beschreibung
| '''-hex''' ||  Zeichenkette aus Hexadezimalzahlen
|-
| || || ||  
|-
|}
|}


=== Verfügbare Algorithmen ===
=== Parameter ===
$ '''openssl ciphers'''
=== Umgebungsvariablen ===
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
=== Exit-Status ===
 
{| class="wikitable options col1center big"
=== Dateien ===
|-
=== Verschlüsseln ===
! Wert !! Beschreibung
; Syntax
|-
openssl enc <Algorithmus> -in <zu verschlüsselnde Datei> -out <Dateiname für verschlüsselte Datei>
| 0 || Erfolg
 
|-
; Beispiel
| >|| Fehler
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
== Anwendung ==
$ '''openssl rsa -in server.pem -out server.key'''
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


; Selbst-signiertes Zertifikat erzeugen
=== Problembehebung ===
$ '''openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 999'''
 
=== Fehlerbehebung ===


== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
{| class="wikitable options big"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}
<noinclude>
<noinclude>


== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
<div style="column-count:2">
==== Sicherheit ====
<categorytree hideroot=on mode="pages">{{OpenSSL}}</categorytree>
==== Dokumentation ====
</div>
===== RFC =====
----
{| class="wikitable sortable options"
{{Special:PrefixIndex/OpenSSL}}
|-
 
! RFC !! Titel
=== Dokumentation ===
|-
; Man-Page
| [https://www.rfc-editor.org/rfc/0000 0000] ||
# [https://manpages.debian.org/trixie/openssl/openssl.1ssl.en.html openssl (1ssl)]
|}


===== Man-Pages =====
<!--
===== Info-Pages =====
; Info-Pages  
==== Links ====
-->
===== Projekt =====
===== Weblinks =====


=== Links ===
==== Projekt ====
==== Weblinks ====


{{DISPLAYTITLE:openssl}}
{{DISPLAYTITLE:OpenSSL/Befehl}}
{{DEFAULTSORT:openssl}}
{{DEFAULTSORT:OpenSSL/Befehl}}


[[Kategorie:OpenSSL]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:OpenSSL]]
 
</noinclude>
</noinclude>

Aktuelle Version vom 16. Oktober 2025, 10:37 Uhr

OpenSSL/Befehl

Beschreibung

Installation

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch


Dokumentation

Man-Page
  1. openssl (1ssl)


Links

Projekt

Weblinks