私はgnupgを使ってファイルを暗号化して解読しようとしています。奇妙なことは、暗号化は正常に動作しますが、decryptは常にfalseを返します。ここでPHP gnupg enryptは動作しますが、復号化しません
コンテンツ暗号化および復号化の単純なPHPスクリプト:
$content = 'test text';
putenv("GNUPGHOME=/PATH_TO_GPG_PATH");
$gpg = new gnupg();
$gpg->addencryptkey("FINGERPRINT");
$enc = $gpg->encrypt($content);
var_dump($enc);
$gpgD = new gnupg();
$gpgD->adddecryptkey("FINGERPRINT","PASSPHRASE");
$plain = $gpgD->decrypt($enc);
var_dump($plain);
バージョン
Debianパッケージを
GPGV 1.4.18-7
libgpgme11:AMD64 1.5.1 -6
PECL
パッケージのバージョン州立 のGnuPG 1.4.0安定
PHPのバージョン: PHP 7.1.11-1 + 0〜+ 20171027135825.10ジェシー〜1.gbp2e638d
誰もがこの問題を経験しました既に?私はアイデアがありません。 ありがとうございます。
https://secure.php.net/manual/en([ 'gnupg_geterror']とは何ですか/function.gnupg-geterror.php)? –
復号化に失敗しました。 shell_exec()でplain decryptコマンドを使用して回避策を作成しました。なぜプレーン復号化がPHPベースの暗号化方式で動作するのだろうか? : - / –