【问题标题】:Encrypting files using PGP in PHP, GnuPG version unexpected在 PHP 中使用 PGP 加密文件,意外的 GnuPG 版本
【发布时间】:2020-01-17 21:03:26
【问题描述】:

我在 php 中使用 gnupg 来加密内容。

在开发环境中,加密消息开头为:

-----开始 PGP 消息----- 版本:GnuPG v2.0.22 (GNU/Linux)

对于生产环境,加密消息以:

开头

-----开始 PGP 消息----- 版本:GnuPG v1

我不知道为什么文件的加密方式不同。两者都是有效的加密,但它们的解密方式不同(根据接收者,“GnuPG v2.0.22 (GNU/Linux)”版本将文件名保留在解密时,而另一个则没有,这导致了他们的问题)。

以下在 dev 和 prod 之间似乎相同:gpg.conf 文件、php 版本、pear 版本、gpg 版本、CentOS - 版本。对于密钥,我将 .gpg 目录从 dev 复制到 prod(权限相同)。

如何让 prod 服务器使用 GnuPG v2.0.22 进行加密?

谢谢!

【问题讨论】:

  • 您安装了不同版本的 gpnpd。对于 php perl 没有 2.0 gnupg.pecl.php.net/package/gnupg
  • 感谢您的来信。 gnupg 版本是相同的(我认为)。命令:“pecl info gnupg”在两种环境中都显示“pecl.php.net/gnupg-1.4.0”。命令“pecl version”在两种环境中也显示相同的结果。

标签: php encryption gnupg


【解决方案1】:

从开发机器复制 /usr/lib64/php/modules/gnupg.so,这在 prod 中按预期工作。根据 SA,由于权限而存在编译问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多