Chris_als_Gast: [openssl] Nach entschlüsseln Umlaute weg.

Beitrag lesen

Hallo Forum,

ich stehe erneut vor einem Problem, bei dem ich nicht weiterkomme. Vielleicht kann mir jemand von Euch einen weiteren Tipp geben.

Ich lasse auf meinem (Web)Server mithilfe von PHP eine verschlüsselte Text-Datei erzeugen, die sofort zum Download bereit steht:

  
function download($data="AäOöUüsß") {  
  $password="ganz_furchtbar_geheimes_passwort";  
  header('Content-Type: text/plain; charset=iso-8859-1');  
  header('Content-Transfer-Encoding: quoted-printable');  
  header('Last-Modified: '.date('D, d M Y H:i:s T'));  
  header('Expires: 0');  
  header('Pragma: no-cache');  
  header('Cache-Control: private, no-store, no-cache, must-revalidate, max-age=0');  
  header('Cache-Control: post-check=0, pre-check=0', false);  
  header('Content-Disposition: attachment; filename="verschlDatei.enc"');  
  $sys = 'echo ' . escapeshellarg($data) . ' | openssl enc -aes-256-cbc -a -salt -pass pass:' . escapeshellarg($password);  
  system($sys);  
  exit;  
} // end function  

Klappt alles wunderbar, Datei wird heruntergeladen und Inhalt ist verschlüsselt.
Datei "verschlDatei.enc": ~~~php

U2FsdGVkX1+kj/UQtqf1zsuvBpMgPaQR9DieDKPFNTFLIM5r88AL6M9DoUv/b0JE
<..cut..>
njovSZyeagHqsCJsuwfnlmKyft0S5AtlZdCFNv/EABM=

  
Nun wird die verschlüsselte Datei auf dem Zielrechner (Win7) per Batch entschlüsselt:  
~~~php
  
openssl enc -d -aes-256-cbc -a -salt -pass pass:ganz_furchtbar_geheimes_passwort -in verschlDatei.enc > entschlDatei.csv  

Klappt auch wunderbar, bis auf die Tatsache, dass plötzlich ALLE Deutschen Umlaute verschwunden sind:
Inhalt "entschlDatei.csv": ~~~php

AOUs

  
Tests haben ergeben, dass die Header aus der Funktion download() korrekt sind, denn nach dem Download der unverschlüsselten Daten sind alle Umlaute vorhanden.  
Es muss also irgendwie an openssl liegen, dass die Umlaute entweder beim VERschlüsseln oder nach dem ENTschlüsseln abhanden kommen.  
  
Kennt jemand ein ähnlichen Fall und kann mir evtl. helfen?  
  
Besten Dank im Voraus.  
VG Chris