Benutzer-Werkzeuge

Webseiten-Werkzeuge


openssl-verschluesselung_von_zeichenketten

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
openssl-verschluesselung_von_zeichenketten [2024-03-03 00:22:19] – [mit ED26619-Schlüssel/Zertifikat] manfredopenssl-verschluesselung_von_zeichenketten [2024-06-24 16:24:00] (aktuell) – [Symetrische Verschlüsselung] manfred
Zeile 1: Zeile 1:
 ====== OpenSSL-Verschlüsselung von Zeichenketten ====== ====== OpenSSL-Verschlüsselung von Zeichenketten ======
  
-**//Leider musste ich Anfang des Jahres 2024 (mit FreeBSD 14.0) feststellen, dass OpenSSL die hier genannten Beispiele mit BlowFish (''bf-cbc'') nicht mehr ausführt. Um diese Kommandos weiterhin ausführen zu können, muß man stattdessen den schwächeren AES (''aes-256-cbc'') verwenden.//**+  * [[::OpenSSL]] 
 +  * [[::einzelne Dateien mit openSSL verschlüsseln]] 
 + 
 +**//Leider musste ich Anfang des Jahres 2024 (mit FreeBSD 14.0) feststellen, dass OpenSSL die hier genannten Beispiele mit BlowFish (''bf-cbc'') nicht mehr ausführt (das ging nur mit OpenSSL 1.1.1). Um diese Kommandos weiterhin ausführen zu können, muß man stattdessen den schwächeren AES (''aes-256-cbc'') verwenden.//**
  
 __Alle Cipher, die von dem Kommando__ **''openssl list -cipher-commands''** __ausgegeben werden, können für die hier genannten Beispiel verwendet werden.__ __Alle Cipher, die von dem Kommando__ **''openssl list -cipher-commands''** __ausgegeben werden, können für die hier genannten Beispiel verwendet werden.__
Zeile 27: Zeile 30:
   Hallo Welt!   Hallo Welt!
  
 +mit Blowfish (OpenSSL 1.1.1) ver- und entschlüsseln:
 +  > echo "Hallo Welt!" | openssl enc -salt -pbkdf2 -bf-cbc -a -e -k geheim
 +  U2FsdGVkX1+aDaO1UN6wTrpmTHwQnMRlGhUPlbYPDC8=
 +  
 +  > echo 'U2FsdGVkX1+aDaO1UN6wTrpmTHwQnMRlGhUPlbYPDC8=' | openssl enc -salt -pbkdf2 -bf-cbc -a -d -k geheim
 +  Hallo Welt!
  
-===== Asymetrische Verschlüsselung mit S/MIME (E-Mail-Format) =====+mit AES256 (OpenSSL 3.0.12) ver- und entschlüsseln: 
 +  > echo "Hallo Welt!" | openssl enc -salt -pbkdf2 -aes-256-cbc -a -e -k geheim 
 +  U2FsdGVkX1+IQzl442cG6a0/3e4wpCH2BqZ+8WoXYbQ= 
 +   
 +  > echo 'U2FsdGVkX1+IQzl442cG6a0/3e4wpCH2BqZ+8WoXYbQ=' | openssl enc -salt -pbkdf2 -aes-256-cbc -a -d -k geheim 
 +  Hallo Welt! 
 + 
 +mit Camellia256 (OpenSSL 3.0.12) ver- und entschlüsseln: 
 +  > echo "Hallo Welt!" | openssl enc -salt -pbkdf2 -camellia-256-cbc -a -e -k geheim 
 +  U2FsdGVkX19bASuy32qe9FoA4yOSI/42fpdG93XSTU8= 
 +   
 +  > echo 'U2FsdGVkX19bASuy32qe9FoA4yOSI/42fpdG93XSTU8=' | openssl enc -salt -pbkdf2 -camellia-256-cbc -a -d -k geheim 
 +  Hallo Welt! 
 + 
 + 
 +===== Asymetrische Verschlüsselung =====
  
  
-==== mit RSA-Schlüssel/Zertifikat ====+==== mit S/MIME (E-Mail-Format) ====
  
 zur Vorbereitung müssen wir einen privaten Schlüssel mit dazugehörigem Zertifikat erzeugen: zur Vorbereitung müssen wir einen privaten Schlüssel mit dazugehörigem Zertifikat erzeugen:
Zeile 38: Zeile 62:
   openssl_private_key.pem   openssl_private_key.pem
   openssl_public_zertifikat.pem   openssl_public_zertifikat.pem
 +
 +einen dazugehörigen öffentlichen SSL-Schlüssel erzeugen //(den brauchen wir hierfür aber nicht)//:
 +  > openssl pkey -in openssl_private_key.pem -out openssl_public_key.pem -outform PEM -pubout
  
 //Das Zertifikat schicke ich meinem Kommunikationspartner, damit er mir verschlüsselte Nachrichten schicken kann. Der private Schlüssel darf niemals den Rechner verlassen, auf dem er erzeugt wurde, weil jede Art der Datenübertragung, Angriffsflächen für eine kompromittierung bietet.// //Das Zertifikat schicke ich meinem Kommunikationspartner, damit er mir verschlüsselte Nachrichten schicken kann. Der private Schlüssel darf niemals den Rechner verlassen, auf dem er erzeugt wurde, weil jede Art der Datenübertragung, Angriffsflächen für eine kompromittierung bietet.//
  
 eine Zeichenkette mit einem Zertifikat verschlüsseln: eine Zeichenkette mit einem Zertifikat verschlüsseln:
-  > echo "Hallo Welt!" | openssl smime -encrypt -aes256 openssl_public_zertifikat.pem > message_verschluesselt.txt+  > echo "Hallo Welt!" | openssl smime -encrypt -aes256 openssl_public_zertifikat.pem > verschluesselte_nachricht.txt
  
 die verschlüsselte Zeichenkette mit dem privaten Schlüssel entschlüsseln: die verschlüsselte Zeichenkette mit dem privaten Schlüssel entschlüsseln:
-  > cat message_verschluesselt.txt | openssl smime -decrypt -inkey openssl_private_key.pem+  > cat verschluesselte_nachricht.txt | openssl smime -decrypt -inkey openssl_private_key.pem openssl_public_zertifikat.pem 
 +  Hallo Welt! 
 +   
 +  oder so 
 +   
 +  > cat verschluesselte_nachricht.txt | openssl smime -decrypt -inkey openssl_private_key.pem
   Hallo Welt!   Hallo Welt!
  
  
-==== mit ED26619-Schlüssel/Zertifikat =====+==== mit ED25519-Schlüssel/Zertifikat =====
  
 einen privaten SSL-Schlüssel mit Zertifikat erzeugen: einen privaten SSL-Schlüssel mit Zertifikat erzeugen:
Zeile 57: Zeile 89:
   openssl_public_zertifikat.pem   openssl_public_zertifikat.pem
  
-einen dazugehörigen öffentlichen SSL-Schlüssel erzeugen //(den brauchen wir hierfür aber nicht)//: +**The smime utility uses PKCS#7 which doesn't support anything other than RSA for the enveloped data type.**
-  > openssl pkey -in openssl_private_key.pem -out openssl_public_key.pem -outform PEM -pubout +
- +
-//Eine Zeichenkette mit einem ED26619-Zertifikat zu verschlüsseln, funktionierte bei mir leider nicht.//+
  
-FIXME+//Also kann man derzeit mit OpenSSL (noch) keine Zeichenketten und keine Dateien verschlüsseln.//
  
  
/home/http/wiki/data/attic/openssl-verschluesselung_von_zeichenketten.1709425339.txt · Zuletzt geändert: von manfred