Gnupg не расшифровывает файл в php - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь расшифровать зашифрованный файл (zip-архив, содержащий несколько файлов) с Gnupg в php, но он постоянно возвращает false.нет исключений или сообщений об ошибках.вот шифрование:

 $gpg = gnupg_init();
 gnupg_seterrormode($gpg, GNUPG_ERROR_EXCEPTION);
 // public key
 $publicKey = file_get_contents('pubkey.pub');
 $key = gnupg_import($gpg, $publicKey);
 gnupg_addencryptkey($gpg, $key['fingerprint']);
 // zip file
 $zip = file_get_contents('myzip.zip');
 $encryptedFile = gnupg_encrypt($gpg, $zip);
 //save encrypted file
 file_put_contents('myzip.zip.gpg', $encryptedFile);

вот расшифровка:

$gpg = gnupg_init();

$privateKey = file_get_contents('private.asc');
$key = gnupg_import($gpg, $privateKey);

gnupg_adddecryptkey($gpg, $key['fingerprint'], '12345');
$file = file_get_contents('myzip.zip.gpg');
$content = gnupg_decrypt($gpg, $file); // <- always returns false

Я попытался расшифровать файл с помощью онлайн-инструмента.Сначала я попытался расшифровать только 1 текстовый файл, и он работал (он отображал содержимое файла).Я также пытался расшифровать zip-архив

enter image description here

, но каждый раз, когда я пытаюсь расшифровать его с помощью gnupg_decrypt в php, возвращается false.Что я делаю неправильно?

1 Ответ

0 голосов
/ 18 декабря 2018

Проблема была в gnupg версии.Я привил gpg2 и это сработало.

...