Ich habe openssl-1.1.0
heruntergeladen und kompiliert.
Ich kann mit der gleichen exe von openssl
verschlüsseln und entschlüsseln (wie auch hier )
Diese openssl
verwendet: libcrypto.so.1.1, libssl.so.1.1
Wenn ich versuche, mit dem auf meinem ubuntu installierten openssl
zu entschlüsseln, das benutzt:
/lib/x86_64-linux-gnu/libssl.so.1.0.0, /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
Ich bekomme einen Fehler:
%Vor%Was kann das verursachen? Danke
Der Standard-Digest wurde in Openssl 1.1 von MD5 auf SHA256 geändert
Versuchen Sie es mit -md md5
%Vor%Die hässlichen Details:
Das eingegebene Passwort wird nicht wie bei aes (oder einer anderen Verschlüsselung) verwendet, sondern der Befehl leitet implizit einen Schlüssel daraus ab. Die Schlüsselableitung verwendet den Nachrichtenauszug, der in openssl 1.1 geändert wurde Verwenden Sie SHA256 nicht als Standardauszug .
Wenn Sie das Passwort einfach behalten wollen und nicht mit dem Keying-Kampf (-K, -iv) herumspielen wollen, erzwingen Sie den gleichen Digest mit -md
Ich habe die AES Verschlüsselung und Entschlüsselung mit der Version 1.1.0a (heruntergeladen von openssl.org) und der Version 1.0.2g-fips (von meinem ubuntu 16.04) getestet
Wenn Sie die Option -p
mit 2 verschiedenen Versionen von openssl
verwenden, unterscheiden sich die IV und der Schlüssel:
Ich vermute eine andere Ableitung von Schlüssel und IV basierend auf dem Salz mit den 2 Versionen.
Wenn Sie diesen Entschlüsselungsfehler loswerden möchten, können Sie die Option -salt
entfernen und die Optionen -K
für den Schlüssel und -iv
in Ihrem openssl-Befehl verwenden.
Dieses Problem kann auch zwischen OpenSSL 1.1 und LibreSSL auftreten. In diesem Fall und in anderen Fällen, in denen sicherere Nachrichtenauszüge verfügbar sind, sollten Sie die Verwendung von -md md5
zum Verschlüsseln neuer Dateien vermeiden, da der MD5-Algorithmus umfangreiche Sicherheitslücken aufweist.
Sie sollten stattdessen -md sha256
oder einen anderen sichereren Nachrichtenauszug verwenden, der von allen Versionen unterstützt wird. -md md5
sollte nur zur Entschlüsselung alter Dateien verwendet werden und sollte idealerweise mit sha256 erneut verschlüsselt werden. Dies wird auch in den OpenSSL-FAQ erwähnt.
Um zu überprüfen, welche Nachrichtenauszüge von den verschiedenen Versionen, die Sie gerade spielen, unterstützt werden, führen Sie openssl help
:
LibreSSL 2.2.7 (im Lieferumfang von macOS 10.13 High Sierra enthalten):
%Vor%OpenSSL 1.1f:
%Vor%Tags und Links linux cryptography encryption openssl libssl