如何使用pgp证书来验证文件的完整性

下载nginx服务器时提供了pgp证书,可以验证完整性。

pgp证书是这样生成的(个人理解):

1. 现找到文件的HASH码,类似于md5

2. 用私钥对其进行加密。

3. 将公钥暴露到网站上。

4. 将证书暴露到网站上。

5. 终端用户导入公钥到本地。

6. 终端用户使用公钥解密证书,拿出hash信息来验证文件的完整性。

参考列表:

http://www.jb51.net/LINUXjishu/156064.html

http://blog.sina.com.cn/s/blog_630bf12f0100nl7i.html

下面是验证文件nginx-1.6.2.zip的过程:

[email protected]:~/桌面$ ls

aalexeev.key  is.key     mdounin.key      nginx-1.6.2.zip.asc  sb.key

glebius.key   maxim.key  nginx-1.6.2.zip  nginx_signing.key

[email protected]:~/桌面$ gpg --import *.key

gpg: 密钥 F5806B4D:公钥“Andrew Alexeev <[email protected]>”已导入

gpg: 密钥 6C7E5E82:公钥“Gleb Smirnoff <[email protected]>”已导入

gpg: 密钥 A524C53E:公钥“Igor Sysoev <[email protected]>”已导入

gpg: 密钥 2C172083:公钥“Maxim Konovalov <[email protected]>”已导入

gpg: 密钥 A1C052F8:公钥“Maxim Dounin <[email protected]>”已导入

gpg: 密钥 7BD9BF62:“nginx signing key <[email protected]>”未改变

gpg: 密钥 7ADB39A8:公钥“Sergey Budnevitch <[email protected]>”已导入

gpg: 合计被处理的数量:7

gpg:               已导入:6  (RSA: 3)

gpg:              未改变:1

gpg: 没有找到任何绝对信任的密钥

[email protected]:~/桌面$ gpg --verify nginx-1.6.2.zip.asc nginx-1.6.2.zip

gpg: 于 2014年09月16日 星期二 21时07分26秒 CST 创建的签名,使用 RSA,钥匙号 A1C052F8

gpg: 完好的签名,来自于“Maxim Dounin <[email protected]>”

gpg: 警告:这把密钥未经受信任的签名认证!

gpg:          没有证据表明这个签名属于它所声称的持有者。

主钥指纹: B0F4 2533 73F8 F6F5 10D4  2178 520A 9993 A1C0 52F8

时间: 2024-11-08 05:48:53

如何使用pgp证书来验证文件的完整性的相关文章

如何在Linux中使用AIDE监控文件的完整性

简介 AIDE(高级入qin检测环境)是文件完整性检查程序和入qin检测程序. 特性 主要用途是检查文件的完整性,审计计算机上哪些文件被更改过. AIDE根据从/etc/aide.conf配置文件中找到的正则表达式规则创建数据库.初始化该数据库后,就可以用来验证文件的完整性.还可以检查所有通常的文件属性是否存在不一致.它可以读取旧版本或更新版本的数据库.AIDE数据库能够保存文件的各种属性,包括:权限(permission).索引节点序号(inode number).所属用户(user).所属用

Linux下校验下载文件的完整性(MD5,SHA1,PGP)

查看: Linux下校验下载文件的完整性(MD5,SHA1,PGP) http://blog.useasp.net/archive/2014/03/29/use-md5-sha1-or-pgp-to-check-downloaded-file-integrity-on-linux.aspx Linux下的学习开始总是艰难的,但有的时候,却发现Linux下远比Windows的操作来的实在的多——这下载文件的完整性就是其中一件,让本人觉着很爽的一件事情.在编译安装各种软件的时候,总要到各个网站上收集

IOS 开发环境,证书和授权文件等详解

一.成员介绍 1.    Certification(证书) 证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种: 1)    Developer Certification(开发证书) 安装在电脑上提供权限:开发人员通过设备进行真机测试. 可以生成副本供多台电脑安装: 2)      Distribution Certification(发布证书) 安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序. 不可生成副本,仅有配置该证书的电脑才可使用:(副本制做介绍在

申请iOS真机调试证书和描述文件

iOS真机调试证书适用于,不能直接拿设备连接xcode进行测试的场景,比如发给客户或朋友测试,或用其它跨平台开发工具appcan之类开发的app进行测试. iOS真机调试需要先添加设备 一.添加测试设备 1.获取UDID 使用 iPhone 或 iPad 扫描下面的二维码,即可快速获取 UDID 2.登录开发者中心,添加设备,选择Devices,点击右上角+号. 3.输入设备名称和设备UDID,一路点击创建. 二.创建发布测试证书 iOS证书申请这里用到一个工具Appuploader,可以在wi

安装程序不能验证Update.inf文件的完整性,请确定加密服务正在此计算机上执行

近期安装Microsoft .NET Framework 4(独立安装程序)时,提示"安装程序不能验证Update.inf文件的完整性,请确定加密服务正在此计算机上执行" 没法放狗 方案一: 1.我的电脑"右键"管理"→打开"计算机管理"→   点击"服务",在服务管理器的主窗体服务列表中,找到名称为"Cryptographic Services"的服务项,双击该服务项, 在弹出的该服务项属性对话

百度联盟“获取验证文件失败或文件错误”解决办法

许多朋友都用过百度联盟,不过,我相信好多朋友都会遇到过这种情况,不管你的网站是备-案了还是没备-案,你在申请百度联盟的时候都会遇到网站验证不成功的问题,提示获取验证文件失败或文件错误,请您确认正确放置后,再次点击"完成验证"按钮,如下图: 我以前没有用过百度联盟,不过我以前用过淘宝联盟.前些天我在申请百度联盟的时候需要验证网站权限,就是下载验证文件上传到网站根目录,然后点击验证的. 不过,我发现怎么验证都不成功,我的文件明明也上传到网站的根目录了.其实,对于这个问题我一直就知道怎么解决

ssh 登陆指定 验证文件

当前用户jim ssh-keygen -t rsa 生成密钥 把pub结尾的公用密钥数据追加到192.168.1.3上的 /home/tom/.ssh/authKeys(文件名可能不一样) ssh -i  /home/ssh/124_rsa [email protected]  #指定验证文件,并且登陆时用远程机上tom这个用户

iOS真机调试证书和描述文件申请

iOS真机调试证书适用于,不能直接拿设备连接xcode进行测试的场景,比如发给客户或朋友测试,或用其它跨平台开发工具appcan之类开发的app进行测试. iOS真机调试需要先添加设备 一.添加测试设备 1.获取UDID 使用 iPhone 或 iPad 扫描下面的二维码,即可快速获取 UDID ? 2.登录开发者中心,添加设备,选择Devices,点击右上角+号. 3.输入设备名称和设备UDID,一路点击创建. 二.创建发布测试证书 iOS证书申请这里用到一个工具Appuploader,可以在

文件上传如何合理地验证文件类型?

在网上搜了一下,一般都是通过文件后缀名判断,很显而易见的是用户通过修改后缀名来逃避,我想问的问题有两个: 还有什么验证文件类型的方法? 攻击者利用后缀名漏洞能造成什么样的危害? 在网上找到的攻击方式有: 修改后缀名(exe->jpg), 多后缀名(test.php.fr), 后缀名大小写(php->pHp), 代码嵌入(图片里注入php代码), null字符(00) 相对路径(../../../) 知乎用户-江南回答 其实对于防御者来说,其实不用这么费劲来进行验证 时间戳+随机数+.jpg后缀