与某个文件和拥有者建立信任

验证下载文件的第一步是与任何提供文件下载的人建立信任。出于此,我们下载了这个文件的公钥,并且验证公钥的拥有者是否是他或者她自称的。

在下载完文件拥有者的公钥后:

$ wget https://onionshare.org/signing-key.asc

使用gpg命令导入公钥到你的keyring中

$ gpg--importsigning-key.asc

一旦拥有者的公钥导入后,他会像下面那样打印出一个key ID(比如:"EBA34B1C")。记住这个key ID。

现在,运行下面的命令检查导入的公钥的指纹:

$ gpg--fingerprint EBA34B1C

你会看到key的指纹字符串。把这个和网站上显示的指纹做对比。如果匹配,你可以选择信任这个文件拥有者的公钥。

一旦你决定相信这个公钥,你可以通过编辑key来设置信任级别:

$ gpg--edit-key EBA34B1C

这个命令会显示GPG提示符:

在GPG提示符中输入“trust”,它会让你从1-5之间选择这个key的信任等级。

本例中,我决定分配给它“4”,在这之后,输入“sign”用你自己的私钥签名,接着输入在GPG提示符中输入“save”来完成操作。

要注意的是不需要这样明确地给一个公钥指派信任,通过key的导入隐式地信任往往就够了。

给一个key隐式地分配给“完全”的信任就是任何其他由这个完全信任签名的key X都会被认为是对你有效的。通常上,key验证依赖于一个称之为“信任网”的复杂机制。

回到教程,现在让我们检查导入的key列表。

$ gpg--list-keys

你至少会看到两个key:一个带 depth 0和终极信任("1u"),这就是你自己的key,另外一个带depth 1和完全信任("1f"),这是你之前签名的key。

验证文件的可靠性/完整性

一旦你建立了与文件拥有者和他的/她的公钥之间的信任关系,我们需要验证你从拥有者那边下载的文件的可靠性和完整性了。

本例中,文件拥有者分别公布了一个文件和它相关的PGP签名(.asc)。签名所起的作用就是认证(文件)并且在其中加入一个时间戳。

一个典型的签名(*.asc)看上去像这样。

-----BEGINPGP SIGNATURE-----

iQIcBAABCgAGBQJUJGhsAAoJEP1yCtnro0sc1jUP/ixNY/lKdrcMIAUoqlWKNE8f

sj4SFiwREMew76w66GASDF03fa5zPX6EsS2kucgx8ZsfEiSmN5T0y2P/aSaXwZqF

kywZVEzirKtca5AJ4DBzu6qrt9GgSw6JBJVv1oBJCMNyO+eAj341paR3MudvnyQz

H/N5tc4Qcilzy6M184opGIzy4ipEmMXfLHsd7WJpAyn+tO/z3uhh9NkNuygZpaFr

olpSWPE8revdDJyfMfSmb3ZrFmhLn7FCEltOi+a7SluvrMclizfnbec9rgLJtjo0

CPDZY7tsWmmL0DA3VvpMVqGvkg/Dyhpn2IIDrNaLAlvGQ5aovf+4tjad5IHvyaWx

4Gds93G6Hqvv5RwGx7OR3hgt2o0Y+qFsVDxVnPxerGhXeJXHzSDwLQMpdj9IoSU

Ae/53XXnxqSN6POZcwHiHvbsv0pdlg0Ea0dDAAN0ZeINNyZf1R0tLjWkcgpvGCtv

qkJuYFF9W9cWHraPY2ov5Hs/JZzPcG0eVpnDdzfOOH1gDKADq9A5D2X5QJCulsh9

WwU3X+E43OqIsoRzBucItD9HhZbEH7t8Q0xAqnAkgU3hriZp3dN4cnMfhM6I9hli

EmpSpLKCceMexu2o9QgzGXVm+AGZJe4QkuwAhRIccp5JDMVny61UlKTasjy6co8h

5GBhhYybPEFM+G1BODMd

=c9wo

-----ENDPGP SIGNATURE-----

现在让我们同时下载它的文件和签名:

$ wget https://onionshare.org/files/0.6/OnionShare.dmg

$ wget https://onionshare.org/files/0.6/OnionShare.dmg.asc

现在验证下载文件的PGP签名。

$ gpg--verifyOnionShare.dmg.ascOnionShare.dmg

如果命令的输出包含了“Good signature from ”,那么下载的.dmg文件就被成功地认证和核实了。如果下载的文件的任何地方在签名后被篡改了,那么验证就会失败。

这时你就可以放心地信任你下载的文件了。

Linux生成校验文件asc,使用 GnuPG 加密签名来验证下载文件的可靠性和完整性相关推荐

  1. linux第三方模块参数,nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)...

    nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境 ...

  2. java上传加密_Java上传下载文件并实现加密解密

    使用 Jersey 服务器实现上传,使用 HTTP 请求实现下载 引入依赖 在 pom.xml 中添加 Jersey 相关依赖 com.sun.jersey jersey-client 1.18.1 ...

  3. linux环境下,模拟百度网盘上传、下载文件

    目录 1.题目 2.运行截图 3.总体设计 4.详细设计 5.源码 5.1服务端 5.2客户端 1.题目 1)模仿百度网盘实现一个文件上传.下载.浏览的终端网盘; 2)能够实现文件和目录的存储; 3) ...

  4. php 下载的压缩文件,php在线压缩打包rar并自动下载文件的例子

    php在线压缩打包rar并自动下载文件是需要基于ZipArchive了, linux需开启zlib了,下面我们就一起来看看了,希望例子能够帮助到各位朋友. linux需开启zlib.下面是具体的开启方 ...

  5. idea 上传文件 java,IntelliJ IDEA如何上传和下载文件

    IntelliJ IDEA 上传文件和文件夹 IntelliJ IDEA 提供以下的两种主要方式将项目文件和文件夹上传到部署服务器:手动,您可以随时通过菜单命令手动上传文件和文件夹. 自动,每次更新文 ...

  6. java scp 文件夹_利用scp 远程上传下载文件/文件夹

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  7. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件 | 学步园

    用wget命令下载文件总是失败.用python脚本模拟浏览器下载,代码如下: #!/usr/bin/python import sys from urllib import FancyURLopene ...

  8. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件

    用wget命令下载文件总是失败.用python脚本模拟浏览器下载,代码如下: #!/bin/python # -*- coding: utf-8 -*- __author__ = 'wulong' i ...

  9. python实现文件上传功能_python实现上传下载文件功能

    最近刚学python,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify. 文件上传 - 后台view 的 Python代码如下: @csrf_exem ...

最新文章

  1. J2EE JVM加载class文件的原理机制
  2. 2018.10.30-dtoj-4008-纸牌游戏(cards)
  3. asio中奇怪的代码
  4. numpy 笔记:setdiff1d
  5. FreeRADIUS 测试环境搭建
  6. mysql远程连接权限grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant option语句报错
  7. Test for Activity to display Deslayed
  8. Matlab读取TXT文本文件通用程序
  9. 【.Net码农】Stream 和 byte[] 之间的转换
  10. 简练软考知识点整理-激励理论之赫兹伯格双因素理论
  11. SIGIR2020推荐系统论文解析:Recommendation for New Users and New Items
  12. 基于区块链技术的性能测试
  13. MD5 到底是不是加密?
  14. 我今年39岁了, 25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路
  15. 基于Preevision的面向服务架构SOA和以太网通信设计方法
  16. dcu故障是哪_【车匠在线-故障案例】潍柴自主DCU通讯故障
  17. Windows编译x264
  18. 跟我一起玩Win32开发(4):创建菜单
  19. 全局变量 VS 本地变量
  20. Android系统字体规范

热门文章

  1. 解读 intriguing properties of neural networks
  2. 【计算机视觉】深度相机(八)--OpenNI及与Kinect for windows SDK的比较
  3. AirPods Pro好在哪
  4. 网页崩溃原因软件测试,支招:原来这些才是APP崩溃的主要原因!资深技术大牛测试经验总结...
  5. 2022摄影摄像行业年度分析报告:单反小幅下滑,微单销额增长超32%
  6. hypothesisTest
  7. Python数据库开发之-pymysql模块
  8. 乐高机器人亮剑_2500名选手大比拼 全球机器人从化“亮剑”
  9. 前端开发中常用的几种设计模式
  10. XML shema 约束入门 (2 ) 约束文件加入与说明