如何使用 gnupg 在 PHP 中导入 pgp 私钥?

Iva*_*rov 5 php linux apache gnupg

我需要使用以前生成的私钥(private.pgp)和密码来签署 MD5-hash。(例如 123456abc)在 apache2 上运行的 php 脚本中。我也在使用 gnupg。

这就是我现在的做法:

<?php
 $keyring = "/pubkeys/.gnupg";  //this direcrtory owned by www-data
 putenv("GNUPGHOME=$keyring"); 

 $res = gnupg_init();
 var_dump($res); //for debug

 $info = gnupg_import($res,'private.pgp');
  var_dump($info); //for debug

 ?>
Run Code Online (Sandbox Code Playgroud)

所以, gnupg_import() 返回给我false。为什么会发生这种情况?我还尝试使用此 php 脚本从同一目录中的文件中读取密钥,但遇到了相同的错误。请帮忙。

谢谢你。

Arm*_*ali 1

手册是你的朋友:php.net/manual/en/function.gnupg-import.php第二个参数应该是数据,而不是文件名。——萨米奇