GPG加密与签名

 1、使用命令生成公钥。
添加姓名和邮件地址的规则:
姓名使用全拼(User Name),姓和名的第一个字母要大写,姓和名之间要有一个空格
邮箱(username@)

$ gpg --gen-key
    

2、使用命令查看生成的公钥。

$ gpg --list-keys
/root/.gnupg/pubring.gpg
----------------------------
pub   1024D/40C00693 2008-07-31
uid                  User Name <username@>
sub   2048g/57D94832 2008-07-31
---------------------------------------------------------------------------
注意:上例中1024D/40C00693 中的40C00693 称为 keyid。
---------------------------------------------------------------------------
    

3、备份、导出公钥,私钥和 revoke key。
$ gpg --export -a keyid > name-pubkey.asc        # 公钥

$ gpg --export-secret-keys -a keyid > name-seckey.asc    # 私钥

$ gpg --gen-revoke keyid > name-revoke.asc        # revoke key
    

4、生成公钥后首先要增加环境变量
$ vi ~/.bashrc

DEBEMAIL="username@test.com.cn"
DEBFULLNAME="User Name"
GPG_KEY=40C00693    <------ 这是公钥的 ID(keyid),使用 gpg --list-keys 显示公钥时,Pub 选项显示的内容
export DEBEMAIL DEBFULLNAME GPG_KEY

---------------------------------------------------------------------------
举例说明
a、构建编译环境,随便下载个源码包gtfp,并修改代码。

$ sudo apt-get build-dep gftp #build-dep - 为源码包配置所需的构建依赖关系,会先下载源码包编译所依赖的包
$ apt-get source gftp
    

b、为了自动化修改deb包中 $/DEBIAN/changelog文件 需要安装 devscripts 等脚本。

$ sudo apt-get install devscripts
    

c、执行命令修改deb包中$/debian/changelog 文件。

$ cd gftp目录
$ dch -i   #自动会打开debian/changelog文件
---------------------------------------------------------------------------
可以看到自动添加的名称和邮件地址,根据规范修改版本号和注释。
---------------------------------------------------------------------------
gftp (2.0.18-17ubuntu2cocreate2) zealot; urgency=low

  * test

 -- Zhou Yang <test@test.com.cn>  Thu, 31 Jul 2008 21:27:39 +0800  <-------------自动添加

gftp (2.0.18-17ubuntu1) hardy; urgency=low

  * Sync with Debian
  * debian/control:
    - updated maintainer information
    

d、如果是首次修改 Ubuntu 的包,还需要修改deb包中$/debian/control 文件中的 Maintainer 部分。

---------------------------------------------------------------------------
将原有的 Maintainer 信息覆盖到 XSBC-Original-Maintainer 中
重新在 Maintainer 中写入自己的信息。如下:
---------------------------------------------------------------------------
Source: gftp
Section: net
Priority: optional
Maintainer: User Name <email地址>
XSBC-Original-Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Standards-Version: 2.0.18
......
......
    


e、(在想要发布的工程目录)编译打包(把生成的公钥一起加入包里),-sa 表示是否带有源码, -k表示添加公钥。编译完后会产生.changes文件

#编译带自己签名的deb包
$ dpkg-buildpackage -sa -k$GPG_KEY
---------------------------------------------------------------------------
使用普通用户可能会提示需要安装 fakeroot 请 sudo 安装 fakeroot
正确情况下,编译的最后阶段会提示你输入公钥的解锁密码(创建公钥时添加的密码)。
---------------------------------------------------------------------------
    

f、上传新打的包。指定了.changes文件后会自动上想要发布的软件包
$ dput gftp_0.0.00-00ubuntu0cocreate0_i386.changes

#############################################################################

利用gpg产生的私钥来加密 文件
加密:
 gpg -s -r  test@test.com.cn  out.txt //-r参数: 接收者, 会生成out.txt.pgp加密文件

解密pgp文件:
gpg --decrypt out.txt.gpg  > o.txt //会提示用户输入解开私钥的密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值