Benutzer-Werkzeuge

Webseiten-Werkzeuge


openssl

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 [2024-03-01 02:55:00] – [OpenSSL] manfredopenssl [2025-09-19 11:08:32] (aktuell) – [SSL-Schlüssel generieren] manfred
Zeile 2: Zeile 2:
  
   * **[[https://wiki.openssl.org/index.php/Command_Line_Utilities]]**   * **[[https://wiki.openssl.org/index.php/Command_Line_Utilities]]**
-  * [[::SSL-Schlüssel generieren]] +  * [[::EDV:SSL-Schlüssel generieren]] 
-    * [[::Let's Encrypt]]+    * [[::letsencrypt]] 
 +  * [[::OpenSSL]]
   * [[::einzelne Dateien mit openSSL verschlüsseln]]   * [[::einzelne Dateien mit openSSL verschlüsseln]]
-  * [[::OpenSSL-Verschlüsselung von Zeichenketten mit SSL-Key]]+  * [[::OpenSSL-Verschlüsselung von Zeichenketten]]
   * [[::Datenbankverbindungen zu einer MySQL mit SSL-Verschlüsselung]]   * [[::Datenbankverbindungen zu einer MySQL mit SSL-Verschlüsselung]]
  
  
 ===== Allgemeines ===== ===== Allgemeines =====
 +
 +Ich würde mir eher Sorgen darüber machen, dass Ihre SSL-Verschlüsselung nicht sicher sind.
 +Adi Shamir (das „S“ in RSA) empfahl bereits **2006** die Umstellung auf ''2048''-Bit-Schlüssel. Selbst das amerikanische Normungsinstitut (NIST) hat seit Januar **2011** ''2048'' Bit als erforderliche Mindeststärke festgelegt!
  
 ^  openssl  ^^^ ^  openssl  ^^^
Zeile 20: Zeile 24:
 ^ ABTEILUNG     | OU            | Wachsames Auge                        | ^ ABTEILUNG     | OU            | Wachsames Auge                        |
 ^ Common Name   | CN            | //FQDN oder Dein Name//               | ^ Common Name   | CN            | //FQDN oder Dein Name//               |
 +
 +
 +==== mögliche Verschlüsselungsalgorithmen ====
  
 nutzbare Verschlüsselungsalgorithmen anzeigen lassen: nutzbare Verschlüsselungsalgorithmen anzeigen lassen:
  
-__Linux:__+__Linux und FreeBSD 14.0:__
   > openssl enc -list   > openssl enc -list
   > openssl list -cipher-commands   > openssl list -cipher-commands
   > openssl list -cipher-algorithms   > openssl list -cipher-algorithms
  
-__FreeBSD:__+__älteres FreeBSD:__
   > openssl enc -ciphers   > openssl enc -ciphers
   > openssl list -cipher-commands   > openssl list -cipher-commands
   > openssl list -cipher-algorithms   > openssl list -cipher-algorithms
 +  ...
 +  aes-256-cbc
 +  ...
 +  bf-cbc
 +  ...
 +
 +Leider werden die guten Algotithmen (wie __Serpent__, __Twofish__ oder __MARS__) von OpenSSL nicht unterstützt.
 +Die besten verfügbaren sind die folgenden (ich bevorzuge den **BlowFish**, es ist der Vorgänger Twofish, mit genügend Wiederholung -> mind. 1 Mio.):
 +  * AES-256-CBC
 +  * BF-CBC (blowfish)
 +
 +Das sind alles Synonyme für **BlowFish**:
 +  * blowfish
 +  * bf
 +  * bf-cbc
 +  * BF-CBC
 +
 +
 +==== Primzahl generieren ====
 +
 +generiert eine Primzahl:
 +  > openssl prime -generate -bits 48
 +
 +generiert eine sichere Primzahl:
 +  > openssl prime -generate -safe -bits 48
 +
 +
 +==== HASH / Quersummer ====
 +
 +eine Datei anlegen, die verschlüsselt werden soll:
 +  > echo "Hallo Welt!" > Text.txt
 +
 +  > openssl dgst -sha3-512 Datei.edg
 +  > openssl sha3-512 Datei.edg
 +
 +
 +==== SSL-Schlüssel generieren ====
 +
 +[[https://wiki.openssl.org/index.php/Command_Line_Utilities]]
 +
 +//[[https://sslhow.com/create-private-key-with-openssl-genrsa|openssl genpkey vs genrsa]]: Das Dienstprogramm „openssl genpkey“ hat das Dienstprogramm „genrsa“ abgelöst.//
 +
 +  > openssl x509 -noout -text -in /etc/mysql/server-cert.pem
 +  > openssl x509 -noout -subject -issuer -dates -in /etc/mysql/server-cert.pem
 +
 +
 +=== Curve-Schlüssel ===
 +
 +Generate an X25519 private key:
 +  > openssl genpkey -algorithm X25519 -out private-key.pem
 +
 +Generate an ED448 private key:
 +  > openssl genpkey -algorithm ED448 -out private-key.pem
 +
 +  > openssl ecparam -list_curves
 +  > openssl ecparam -name sect571r1 -out sect571r1.pem
 +  > openssl ecparam -in sect571r1.pem -noout -text
 +  EC-Parameters: (570 bit)
 +  ASN1 OID: sect571r1
 +  NIST CURVE: B-571
 +
 +ungeschützten Schlüssel erstellen:
 +  > openssl genpkey -paramfile sect571r1.pem -out private-key.pem
 +
 +geschützten Schlüssel erstellen:
 +  > openssl genpkey -aes256 -paramfile sect571r1.pem -out private-key.pem
 +  Enter PEM pass phrase:
 +  Verifying - Enter PEM pass phrase:
 +  
 +  > openssl pkey -in private-key.pem -text
 +
 +  > openssl pkey -in private-key.pem -out public-key.pem -pubout
 +  Enter pass phrase for private-key.pem:
 +  
 +  > openssl pkey -in public-key.pem -pubin -text
 +
 +
 +=== RSA-Schlüssel nach neuer Methode ===
 +
 +einen privaten RSA-Schlüssel generieren (neue Methode):
 +  > openssl genpkey -out private-key.pem -algorithm RSA
 +  > openssl genpkey -out private-key.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096
 +  > openssl genpkey -out private-key.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -aes256
 +
 +nachschauen, wie lang der Schlüssel ist (Textausgabe):
 +  > openssl pkey -in private-key.pem -text
 +
 +einen privaten RSA-Schlüssel generieren, mit Textausgabe in der PEM-Datei:
 +  > openssl genpkey -out private-key.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -aes256 -text
 +
 +aus dem privaten RSA-Schlüssel einen öffentlichen RSA-Schlüssel generieren (neue Methode):
 +  > openssl pkey -in private-key.pem -out public-key.pem -pubout
 +  > openssl pkey -in public-key.pem -pubin -text
 +
 +
 +=== RSA-Schlüssel nach alter Methode ===
 +
 +einen privaten RSA-Schlüssel generieren (alte Methode):
 +  > openssl genrsa -out private.pem 4096
 +  > ls *.pem
 +  private.pem
 +
 +aus dem privaten RSA-Schlüssel einen öffentlichen RSA-Schlüssel generieren (alte Methode):
 +  > openssl rsa -in private.pem -out public.pem -outform PEM -pubout
 +  > ls *.pem
 +  private.pem
 +  public.pem
 +
 +einen privaten RSA-Schlüssel mit dazugehörigem (öffentlichen) Zertifikat erzeugen:
 +  > openssl req -rand /dev/urandom -new -x509 -newkey rsa:4096 -sha3-512 -nodes -keyform PEM -keyout private.pem -outform PEM -out cert.pem -days 7000 -subj /emailAddress=email@adresse.de/C=DE/ST=Hessen/L=Frankfurt/O=Firma/OU=Abteilung/CN=Hostname
 +  > ls *.pem
 +  private.pem
 +  cert.pem
 +
 +//Verschlüsselung funktioniert mit einem öffentlichen RSA-Schlüssel und mit einem Zertifikat.//
  
  
Zeile 356: Zeile 478:
  
 Einweg-Zertifikatsprüfung (One-Way TLS): Einweg-Zertifikatsprüfung (One-Way TLS):
-  > mysql --tls-version=TLSv1.2 --ssl-mode=REQUIRED --ssl-mode=VERIFY_CA --ssl-ca=/var/lib/mysql/ca.pem+  > mysql --tls-version=TLSv1.2 --ssl-mode=REQUIRED --ssl-mode=VERIFY_IDENTITY --ssl-ca=/var/lib/mysql/ca.pem
  
 Zweiwege-Zertifikatsprüfung (Two-Way TLS): Zweiwege-Zertifikatsprüfung (Two-Way TLS):
-  > mysql --tls-version=TLSv1.2 --ssl-mode=REQUIRED --ssl-mode=VERIFY_CA --ssl-ca=/var/lib/mysql/ca.pem --ssl-cert=/var/lib/mysql/client-cert.pem --ssl-key=/var/lib/mysql/client-key.pem+  > mysql --tls-version=TLSv1.2 --ssl-mode=REQUIRED --ssl-mode=VERIFY_IDENTITY --ssl-ca=/var/lib/mysql/ca.pem --ssl-cert=/var/lib/mysql/client-cert.pem --ssl-key=/var/lib/mysql/client-key.pem
  
  
/home/http/wiki/data/attic/openssl.1709261700.txt · Zuletzt geändert: von manfred