PHP中GPG作用

本文介绍了PGP(良好隐私密码法)及其开源版本GPG的功能与应用。PGP是一种用于消息加密和验证的应用程序,而GPG主要用于验证文件完整性,防止篡改。文章还详细解释了如何使用GPG验证从PHP官方网站下载的文件。
摘要由CSDN通过智能技术生成

PGP(英语:Pretty Good Privacy,中文含义“良好隐私密码法”)是一套用于消息加密、验证的应用程序,采用IDEA的散列算法作为加密与验证之用。
PGP的主要开发者是菲尔·齐默尔曼(Phil Zimmermann)。齐默曼于1991年将PGP在互联网上免费发布。PGP本身是商业应用程序;开源并具有同类功能的工具名为GPG(GnuPG)。PGP及其同类产品均遵守OpenPGP数据加解密标准.
PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤支持几种算法,可以选择一个使用。每个公钥均绑定唯一的用户名和/或者E-mail地址。这个系统的第一个版本通常称为可信Web或X.509系统;X.509系统使用的是基于数字证书认证机构的分层方案,该方案后来被加入到PGP的实现中。当前的PGP加密版本通过一个自动密钥管理服务器来进行密钥的可靠存放。源于维基

GPG的作用是验证文件是否被篡改.

如果攻击者劫持了你从 php.net 的下载 tar.xz 和 tar.xz.asc 的请求,他想通过篡改你下载到的 php 压缩包来给你种上后门,他也并不能产生一个被你gpg --verfiy信任的文件和签名,也就不能通过验证 出错退出 by:v2ex-cy97cool

ENV GPG_KEYS 1729F83938DA44E27BA0F4D3DBDB397470D12172 B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F
for key in $GPG_KEYS; do \
    gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ # 查询公钥
done; \

gpg --batch --verify php.tar.xz.asc php.tar.xz;
#验证文件是否完整
ENV PHP_SHA256="92a745048912beb3f6c2a3c188ce695a51852c67201fdf9a21dafe59f51aecc1" PHP_MD5="" \
echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; 

php中GnuPG版本

GnuPG v1 php7
GnuPG v2.0.22 (SunOS) php-5.3.29
GnuPG v1.4.10 (Darwin) php-5.3.28以下

扩展问题

Q: GPG_KEYS 从哪里来的?
A: PHP官方完整KEYS列表 每个 Key fingerprint 如:PHP 5.5 都适用于 5.5.x的所有文件.

Q: 如何在网站上查询密钥?
A: 用keys前面要加0x 查询示例 http://ha.pool.sks-keyservers...

Q: ASC文件在哪下载?
A: 一般是在下载文件的地址中的文件名加上.asc 如:http://am1.php.net/get/php-7.... -> http://am1.php.net/get/php-7....

更多内容详见博客-PHP中GPG作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值