『网络安全』使用 PGP 实现电子邮件安全

2023-10-24 13:10

本文主要是介绍『网络安全』使用 PGP 实现电子邮件安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

『网络安全』使用 PGP 实现电子邮件安全

aaf2eba9bb5ab4412fa628d31dacbe0c.png

—— 独立观察员 2014.05.18

一、安装 PGP 软件 Windows 版

(一)下载安装

从网上下载了 "PGP_Desktop_win32_10.0.3" 版,解压后有如下文件:

4db48a2d9b16749667981dec43e9337a.png

双击.exe 文件开始安装(点击 "OK" ):

72c73225d0944163d3f67fb14b66a5b6.png

接受许可条款,点击 Next:

97ba7f09a9b38972d974b94504cbbeaa.png

不显示 Realease Notes(以后也可以看):

a547ea13881be020f903968e6b465043.png

出错 ——32 位版本不能安装在 64 位的机子上:

e14103cf4a6d959587ca825090c2ab87.png

只好另外下载了 "PGP_10.0.2_ 最终中文纪念版_win64" 版:

547a20422c485f9f9a30cb0543e09266.png

之前相同的步骤就不赘述了,接下去:

(安装中:)

e9090994a7af1a3d9f642363bfacdf1b.png

当提示重启时,暂时不用理会,放在一边:

8881f3ef80bda865fa0116a835901548.png

(二)破解激活

解压注册机压缩包 "PGP_10.0_keygen.rar" ,运行里面的 "PGP_DT_X64_Keygen.exe" :

03ea80670e797b1358b37b77982ff63d.png

填写 "名称" 和 "组织" :

89810dbd38c489a8c706cb92aca6d122.png

首先生成序列号,点击 Generate,然后破解主程序,点击 Patch:

ac67aef8e999b51cb471ec7f316db46f.png

然后把姓名 Name、公司 Company、序列号 Serial 和激活码 Activation 粘贴到记事本中保存备用:

f0bfb08041e85d10010e967718d15bf2.png

现在可以关闭注册机,点击 PGP 软件那里的重启按钮,重启电脑:

d48c5dec57f26bf0d1bbc0af3e3697e9.png

重启后(断开网络),自动弹出设置向导,点击 "是"—— 从此账户启用 PGP:

4e898487468f692c5d7b37ce23efa8f9.png

填写个人信息(与之前填的一样):

55e11c9928332d9d905fdfcd15c3c4b0.png

下一步,进入注册阶段,填写序列号,也就是许可证号码(注意断网以阻止验证):

067a37dec404075596cbcfbd20ee98cc.png

点击下一步后,由于网络问题,出现连接错误,这正是我们要的;

选中 "输入一个 PGP 客服提供的许可证授权" 后点击下一步:

c46af22daa43338df1cad6faa629bafa.png

点击下一步,在空白处粘贴上许可证码:

b3207a7006d712c2e6285838261c71f1.png

点击下一步,会显示授权成功,所有功能全部激活:

cc6a6d06367ead1697fe57023b1195f6.png

(三)生成密钥

注册完成之后,就会引导生成密钥;或者可从 PGP Desktop 的 "文件"—>"新建 PGP 密钥" 启动 "PGP 密钥生成助手":

2836d1d717b17a96bcc779ee69147894.png

下一步,输入密钥口令,请牢记:

7ac6f17ab3a604c1a91455f0cec76ae0.png

下一步,生成密钥及传输密钥到服务器、邮件帐号等设置:

9c66bec1b8b9b8569a6650c18d8e5983.png

上传密钥到全球名录服务器

e3c2125904fefae1e3390cf8a881bf4d.png

76875a34eff3fcbe1ff0767d20a4fc3e.png

591800d5344abfc808c52360048c1122.png

然后你的邮箱中会收到确认邮件,点击确认链接:

df8406733f2b9700c7a8fcbf501fc0aa.png

再次确认:

3f075b3f7395a634a9164e82b5a58d7b.png

可选步骤

下载验证 Key:

90866428180190c90a82f510a17c76e0.png

已经可以搜索到了:

9f008af53cd83a7f9b0290f39ab45b6a.png

下载之后,在 PGP 软件里,点击 "文件"-->"导入" ,导入下载的文件:

65a55ae191de3a14300332cd63948c8d.png

7e6aa85e544a4aa17c4695c416a7bf61.png

(可以发现 PGP 在上传密钥到全球名录服务器后,已经有了这个,所以以上从 "下载验证 Key" 到这次导入的步骤可以不进行,后面的 "签名该密钥" 也不必进行。)

签名该密钥:

f52131000ed5b32ad6e8f48e30ad5925.png

发现已被签过了:

d98d26b9264109d608ffdab1ff55db10.png

二、用 PGP 加密电子邮件

(一)准备邮箱账户

在 Outlook(本次实验使用 2013 版本)中添加邮件账户:

1cdd14e4eced22ac2732fa485c618820.png

添加两个账户以进行实验:

e6c9c38e2a3e5c29f5272db0bbeb9bd4.png

(QQ 邮箱可能需要手动配置,Gmail 直接添加即可)

(二)可选步骤

其间 PGP 可能会跳出一些窗口(我也不知道要不要用):

534e322962682a44193270a0c8da8efb.png

92b3b52c692e7affbb8d11b7c0c676f5.png

在 PGP 软件的 "工具"-->"选项" 中勾选 "在 Outlook 启用 PGP 加密和签名按钮" :

80bd86b626aa7071e6216acbae14e34a.png

(不过对于 Outlook 2013 似乎无效)

(三)加密

编写邮件,选中正文并复制:

04c373a39e8f2b2ce138e7df87193e65.png

在桌面右下角的 PGP 软件图标上右键 -->"剪贴板"-->"加密" :

9800577d35617ad015d12cc70fe7d131.png

弹出对话框:

9ccd2cdad4f13f87de1ad1d257c115ce.png

拖动收件人到下面的框,代表着使用其公钥进行加密:

c0c7a085ae9f68a504a07ebc91f3c68e.png

加密内容会自动存放到剪贴板中。

在邮件正文处进行粘贴,覆盖原文:

ad8d2c7677b4e2780e615e64f758a4bf.png

然后点击发送。

(四)解密

然后 dlgcywlh@gmail.com 邮箱中就收到了新邮件(由于 Outlook 并不好用,以下都用 QQ 邮箱演示,效果一样):

53a3fa8cbd85548d7d2f0505dfdedc94.png

这样就算被别人截获,内容也不会泄漏。

复制全部正文,右键 -->"剪贴板"-->"解密 & 校验" :

d524a15acdba95fd12a93ef7715c0834.png

输入私钥的口令以便使用私钥解密:

eda67aea3933021eae717bd1f13da2d0.png

解密结果:

19a498b7225d3e1775e8b823e67ca435.png

(五)其它说明

由于本次实验使用的是自己添加的密钥,且上传到了 "全球名录服务器" ,所以免去了密钥的搜索(或导入导出)步骤。

如果收件人的公钥已上传到了 "全球名录服务器" ,那么直接搜索即可:

509171c2c2e515eeb5483a1504f7bc11.png

如果收件人的公钥没有发布,则可让其导出公钥或复制公钥:

9fb3b998102e4e7709551e29ac81c38a.png

然后在我们自己这里导入,"文件"-->"导入" :

902f8993327a41b44e604a66ddeb4d1f.png

可以是文本文件(适用于 "复制公钥" 得到的),或是.asc 格式文件(适用于 "导出" 方式得到的密钥)。

今天(20140519)做题学到一点:通常,私钥用于解密和签名,公钥用于加密和认证。

以上就是全部内容,谢谢!

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

这篇关于『网络安全』使用 PGP 实现电子邮件安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275381

相关文章

Spring IOC的三种实现方式详解

《SpringIOC的三种实现方式详解》:本文主要介绍SpringIOC的三种实现方式,在Spring框架中,IOC通过依赖注入来实现,而依赖注入主要有三种实现方式,构造器注入、Setter注入... 目录1. 构造器注入(Cons编程tructor Injection)2. Setter注入(Setter

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Java中List转Map的几种具体实现方式和特点

《Java中List转Map的几种具体实现方式和特点》:本文主要介绍几种常用的List转Map的方式,包括使用for循环遍历、Java8StreamAPI、ApacheCommonsCollect... 目录前言1、使用for循环遍历:2、Java8 Stream API:3、Apache Commons