Dekodieren einer verschlüsselten Datei durch openssl funktioniert seit der Änderung des Betriebssystems nicht (Linux in Windows)

1652
Zapp

Ich arbeite an einem kleinen Skript, das eine Datei verschlüsselt, die an einen unserer Lieferanten gesendet werden soll.

Der Workflow ist wie folgt:

  1. Wir haben einen Schlüssel erstellt, den wir mithilfe des von ihnen bereitgestellten öffentlichen Schlüssels asymetrisch verschlüsseln
  2. Mit einem verschlüsselten Schlüssel machen wir eine symmetrische Verschlüsselung der zu sendenden Datei
  3. Wir komprimieren dann beide Dateien (Schlüssel + Datei)
  4. Einmal empfangen, entpacken sie die Datei
  5. Sie entschlüsseln den Schlüssel mit ihrem privaten Schlüssel
  6. Dann entschlüsseln Sie die Datei mit dem entschlüsselten Schlüssel

Hier sind die verwendeten Befehle:

AUF LINUX

  • openssl rand -base64 30 > my.key
  • chmod 700 my.key
  • openssl enc -aes-256-cbc -in myfile.zip -out myfile.bin -kfile my.key
  • openssl rsautl -encrypt -pubin -inkey supplier_key.pem -in my.key -out encrypted.key

AUF WINDOWS

  • openssl\bin\openssl.exe rand -base64 30 > my.key
  • openssl\bin\openssl.exe enc -aes-256-cbc -in myfile.zip -out myfile.bin -kfile my.key
  • openssl\bin\openssl.exe rsautl -encrypt -pubin -inkey supplier_key.pem -in my.key -out encrypted.key

Wir müssen dies tun, weil die Datei zu groß ist, um asymetrisch verschlüsselt zu werden.

Um das zu tun, war ich zuerst in einer Cygwin-Umgebung und es hat perfekt funktioniert. Aber jetzt muss ich es in einer vollständigen Windows-Umgebung laufen lassen. Ich habe das Skript angepasst und das Programm openssl für Windows heruntergeladen.

Wenn unser Lieferant die Datei erhält, funktioniert der Schritt 6) nicht: /

Sie haben diesen Fehler:

> bad decrypt 6566:error:06065064:digital envelope > routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:325: 

Ich habe absolut nichts an der Arbeitsweise geändert, das Skript ist im Grunde das gleiche, also sehe ich nicht, warum die Entschlüsselung der Datei nicht funktioniert (sie können den Schlüssel zwar entschlüsseln)

1
Welche exakten Befehle verwenden Sie für jeden Verschlüsselungsschritt? Haben Sie versucht, die Dateien selbst zu entschlüsseln (wenn ja, welche Befehle genau?) Welche Version von OpenSSL verwenden Sie? Welche Version verwendet der Lieferant? `openssl Version` RedGrittyBrick vor 12 Jahren 0
Sind Sie sicher, dass die Datei an beiden Stellen identisch ist? Senden Sie eine Prüfsumme und lassen Sie sie überprüfen. Ignacio Vazquez-Abrams vor 12 Jahren 0
hi, hier ist der Befehl: ON LINUX openssl rand -base64 30> my.key chmod 700 my.key openssl enc -aes-256-cbc -in myfile.zip -out myfile.bin -kfile my.key openssl rsautl - -pubin -inkey supplier_key.pem -in my.key -out encrypted.key UNTER WINDOWS openssl \ bin \ openssl.exe rand -base64 30> my.key openssl \ bin \ openssl.exe enc -aes-256-cbc - in myfile.zip -out myfile.bin -kfile my.key openssl \ bin \ openssl.exe rsautl -encrypt -pubin -inkey supplier_key.pem -in my.key -out encrypted.key openssl-Versionen unterscheiden sich zwar langsam, jedoch, soweit dies möglich ist den Schlüssel entschlüsseln, ich gehe davon aus, dass es kein Problem ist. Vielen Dank. Zapp vor 12 Jahren 0

0 Antworten auf die Frage