GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verschlüsseln Sie eine große Datei in openssl mit einem öffentlichen Schlüssel

Lösung für die sichere und hochgradig gesicherte Codierung beliebiger Dateien in OpenSSL und Befehlszeile:

Sie sollten ein X.509-Zertifikat bereithalten, um Dateien im PEM-Format zu verschlüsseln.

Datei verschlüsseln:

openssl smime -encrypt -binary -aes-256-cbc -in plainfile.zip -out encrypted.zip.enc -outform DER yourSslCertificate.pem

Was ist was:

  • lächeln - SSL-Befehl für das S/MIME-Dienstprogramm (smime(1))
  • -verschlüsseln - gewählte Methode für die Dateiverarbeitung
  • -binär - Verwenden Sie einen sicheren Dateiprozess. Normalerweise wird die Eingabenachricht gemäß der S/MIME-Spezifikation in das "kanonische" Format konvertiert, dieser Schalter deaktiviert sie. Es ist für alle Binärdateien (wie Bilder, Sounds, ZIP-Archive) erforderlich.
  • -aes-256-cbc - gewählte Chiffre AES in 256 Bit für die Verschlüsselung (stark). Wenn nicht angegeben, wird 40-Bit-RC2 verwendet (sehr schwach). (Unterstützte Chiffren)
  • -in plainfile.zip - Dateinamen eingeben
  • -outverschlüsselt.zip.enc - Name der Ausgabedatei
  • -DER übertreffen - Ausgabedatei binär kodieren. Wenn nicht angegeben, wird die Datei mit base64 kodiert und die Dateigröße wird um 30 % erhöht.
  • yourSslCertificate.pem - Dateiname Ihres Zertifikats. Das sollte im PEM-Format vorliegen.

Dieser Befehl kann große Dateien unabhängig von ihrem Format sehr effektiv stark verschlüsseln.
Bekanntes Problem: Beim Versuch, eine große Datei (>600 MB) zu verschlüsseln, passiert ein Fehler. Es wird kein Fehler ausgegeben, aber die verschlüsselte Datei wird beschädigt. Überprüfen Sie immer jede Datei! (oder verwenden Sie PGP - das bietet größere Unterstützung für die Dateiverschlüsselung mit öffentlichen Schlüsseln)

Datei entschlüsseln:

openssl smime -decrypt -binary -in encrypted.zip.enc -inform DER -out decrypted.zip -inkey private.key -passin pass:your_password

Was ist was:

  • -DER informieren - dasselbe wie -outform oben
  • -inkey private.key - Dateiname Ihres privaten Schlüssels. Das sollte im PEM-Format sein und kann per Passwort verschlüsselt werden.
  • -passin pass:your_password - Ihr Passwort zum Verschlüsseln des privaten Schlüssels. (Passwort-Argumente)

Public-Key-Krypto dient nicht zum Verschlüsseln beliebig langer Dateien. Man verwendet eine symmetrische Chiffre (z. B. AES), um die normale Verschlüsselung durchzuführen. Jedes Mal, wenn ein neuer zufälliger symmetrischer Schlüssel generiert, verwendet und dann mit der RSA-Chiffre (öffentlicher Schlüssel) verschlüsselt wird. Der Chiffretext wird zusammen mit dem verschlüsselten symmetrischen Schlüssel an den Empfänger übertragen. Der Empfänger entschlüsselt den symmetrischen Schlüssel mit seinem privaten Schlüssel und verwendet dann den symmetrischen Schlüssel, um die Nachricht zu entschlüsseln.

Der private Schlüssel wird niemals geteilt, nur der öffentliche Schlüssel wird verwendet, um die zufällige symmetrische Chiffre zu verschlüsseln.


Linux
  1. So verschlüsseln und entschlüsseln Sie Dateien und Verzeichnisse mit Tar und OpenSSL

  2. So verschlüsseln und entschlüsseln Sie Dateien/Ordner in Linux mit GnuPG

  3. So verschlüsseln und entschlüsseln Sie eine Datei mit GnuPG unter Linux

  4. Verwenden von nc zum Übertragen großer Dateien

  5. Wie fülle ich eine Datei mit FF mit dd auf?

Verwendung von OpenSSL und der Internet-PKI auf Linux-Systemen

So erstellen Sie eine große 1-GB- oder 10-GB-Datei unter Linux

So verschlüsseln Sie Dateien unter Linux

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

Gewusst wie:Eine Einführung in die Verwendung von Git

Öffentlichen Schlüssel zur Datei known_hosts hinzufügen