OpenSSL: Unterschied zwischen den Versionen

Aus Foxwiki
 
(67 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:openssl}}
'''OpenSSL''' - [[Freie Software]] für [[Transport Layer Security]]


'''topic''' kurze Beschreibung
== Beschreibung ==
* [[Transport Layer Security]], ursprünglich ''Secure Sockets Layer'' (SSL)


= Beschreibung =
; OpenSSL umfasst
= Installation =
* [[Implementierung]]en der [[Netzwerkprotokoll]]e und verschiedener [[Verschlüsselung]]en
= Syntax =
* Das Programm ''openssl'' für die Kommandozeile
== Parameter ==
* Beantragen, Erzeugen und Verwalten von [[Digitales Zertifikat|Zertifikaten]]
== Optionen ==
= Konfiguration =
== Dateien ==


= Anwendung =
Die in [[C (Programmiersprache)|C]] geschriebene Basisbibliothek stellt allgemeine kryptographische Funktionen zum Ver- und Entschlüsseln sowie diverse weitere Werkzeuge bereit.
== Zufallszahl erzeugen ==
* Schlüssel (keys) erstellen
$ '''openssl rand -base64 16'''
Zcc/wH0SQ7/WLvkuHq1Cjg==


$ '''openssl rand -hex 16'''
=== Lizenz ===
1f8969db2bcbb7c794a97faccd29bf61
OpenSSL steht unter der Lizenz von SSLeay und seiner eigenen Lizenz, die zusammengefasst gelten
* Beide sind der ursprünglichen [[BSD-Lizenz]] ähnlich
* Die wesentliche Einschränkung ist demzufolge, dass Werbung für Fremdprodukte, die OpenSSL enthalten, OpenSSL und die beiden Urheber von SSLeay erwähnen muss


{| class="wikitable sortable options"
Ab Version 3.0.0 steht OpenSSL unter der [[Apache-Lizenz|Apache-2.0-Lizenz]], um die Verwendung in anderen Open-Source-Projekten zu vereinfachen
|-
! 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 ===
<noinclude>
; Syntax
openssl enc <Algorithmus> -in <zu verschlüsselnde Datei> -out <Dateiname für verschlüsselte Datei>


; Verfügbare Kryptografies-Algorithmen anzeigen
== Anhang ==
$ openssl ciphers
=== Siehe auch ===
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
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
----
{{Special:PrefixIndex/openssl}}


; Beispiel
==== Links ====
openssl enc -aes-256-cbc -in secret.txt -out secret.txt.enc
===== Projekt =====
# https://www.openssl.org
===== Weblinks =====
# [https://slproweb.com/products/Win32OpenSSL.html OpenSSL-Installer (Windows)]
# [http://www.polarhome.com/openssl/ OpenSSL für OpenVMS] auf [[IA-64]], [[Virtual Address eXtension|VAX]] und [[Alpha-Prozessor]]
# [http://www.online-tutorials.net/security/openssl-tutorial/tutorials-t-69-207.html Ein Linux-OpenSSL-Tutorial]
# [https://www.guug.de/veranstaltungen/ffg2008/slides/opensslX509-folienFfg2008.pdf Anleitung zum Erstellen eigener X.509-Zertifikate mittels OpenSSL]


==== Dateien entschlüsseln ====
[[Kategorie:Linux/Befehl]]
; Syntax
[[Kategorie:TLS]]
openssl enc <Algorithmus> -d -in <zu entschlüsselnde Datei> -out <Dateiname für entschlüsselte Datei>
[[Kategorie:Kryptografie/Anwendung]]
 
[[Kategorie:OpenSSL]]
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.
</noinclude>
 
; 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 =
= Dokumentation =
== RFC ==
== Man-Pages ==
== Info-Pages ==
== Projekt-Homepage ==
 
= Links =
== Siehe auch ==
== Weblinks ==
== Einzelnachweise ==
<references />
 
= Testfragen =
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>
[[Kategorie:Entwurf]]
[[Kategorie:Linux:Befehl]]
 
= 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"
 
# 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.
 
[[Kategorie:Kryptografie]]
{{DEFAULTSORT:openssl}}

Aktuelle Version vom 6. Mai 2024, 18:36 Uhr

OpenSSL - Freie Software für Transport Layer Security

Beschreibung

OpenSSL umfasst

Die in C geschriebene Basisbibliothek stellt allgemeine kryptographische Funktionen zum Ver- und Entschlüsseln sowie diverse weitere Werkzeuge bereit.

Lizenz

OpenSSL steht unter der Lizenz von SSLeay und seiner eigenen Lizenz, die zusammengefasst gelten

  • Beide sind der ursprünglichen BSD-Lizenz ähnlich
  • Die wesentliche Einschränkung ist demzufolge, dass Werbung für Fremdprodukte, die OpenSSL enthalten, OpenSSL und die beiden Urheber von SSLeay erwähnen muss

Ab Version 3.0.0 steht OpenSSL unter der Apache-2.0-Lizenz, um die Verwendung in anderen Open-Source-Projekten zu vereinfachen


Anhang

Siehe auch


Links

Projekt
  1. https://www.openssl.org
Weblinks
  1. OpenSSL-Installer (Windows)
  2. OpenSSL für OpenVMS auf IA-64, VAX und Alpha-Prozessor
  3. Ein Linux-OpenSSL-Tutorial
  4. Anleitung zum Erstellen eigener X.509-Zertifikate mittels OpenSSL