代码改变世界

在launchpad.net上注册自己的PGP Key

2013-05-18 11:32 梁小白 阅读(...) 评论(...) 编辑 收藏

PGP Key在IT信息加密与解密交换中扮演着重要角色,目前国外的大多数开源站点提交代码都必须使用自己的PGP Key进行签名。

 
下面介绍一下笔者前不久在launchpad.net上提交PGP的过程.
 
1. 起因是因为在修改一个volume bug  时,lauchpad拒绝了我的邮件:
An error occurred while processing a mail you sent to Launchpad's email
interface.

Error message:

The message you sent included commands to modify the bug report,
but you didn't sign the message with an OpenPGP key that is
registered in Launchpad.

2. 打开自己账户的lauchpad控制面板,找到OpenPGP Keys选项:

点击修改,需要重新登录一下,就会看到导入OpenPGP Key的界面:
3. lauchpad使用 keyserver.ubuntu.com做为keyserver.所以你需要把自己的上传上去.
4.下面我们在Ubuntu下面创建自己的GPG Key,然后上传:
 
PGP KEY分公钥和私钥。公钥公开,上传到服务器,私钥最好加密码,自己保存。
注:
  GPG 是PGP的开源版本,原来的PGP 被Symantec收购后已经全面收费,本人有机会做了Symantec PGP产品一年的中国区技术支持,还考了PGP的专家认证。PGP的收费产品界面友好,PGP有Windows,Linux,MacOS下的各种界面友好的客户端。零售大约1000人民币每客户端每年,也有试用版可以去官方网站下载。   PGP的开源分支改称OpenPGP , 应用程序改名为GPG
- -!当然,他们的Key是通用的。

Ubuntu 默认自带GPG的命令行客户端,因为Ubuntu的软件库默认是用GPG签名的

打开terminal,
gpg --gen-key
Please select what kind of key you want: 
(1) DSA and Elgamal (default) 
(2) DSA (sign only)
(5) RSA (sign only)

可以看看提示,基本一路默认。

最后输入一下私钥的密码(一定记住!)就大功告成了。
生成的Key类似以下格式
gpg: key D8FC66D2 marked as ultimately trusted
public and secret key created and signed.

pub   1024D/D8FC66D2 2005-09-08
      Key fingerprint = 95BD 8377 2644 DD4F 28B5  2C37 0F6E 4CA6 D8FC 66D2
uid                  Dennis Kaarsemaker (Tutorial key) <dennis@kaarsemaker.net>
sub   2048g/389AA63E 2005-09-08

你可以将GPGKEY变量放入.bashrc以便以后使用

export GPGKEY=D8FC66D2

使用如下命令导出一个ASCII版本的公钥

gpg --output mykey.asc --export -a D8FC66D2

打开浏览器,访问 http://keyserver.ubuntu.com ,将刚才的mykey.asc内容粘帖上去,提交。

 
官方说也可以用过以下命令上传上keyserver.ubuntu.com,不过我没成功.
gpg --send-keys --keyserver keyserver.ubuntu.com $GPGKEY

5. 回到前面lauchpad.net的PGPkey界面然后,将自己key的指纹填上:

Key fingerprint = 95BD 8377 2644 DD4F 28B5 2C37 0F6E 4CA6 D8FC 66D2

导入成功,lauchpad会提示,给你发了一封用你的公钥加密的邮件,你需要有支持pgp功能的客户端解密.

 
6.Ubuntu下安装Thunderbird的PGP插件
apt-get install enigmail 

7.查收邮件,自动解密

8. 按邮件中提示,点击链接确认你的证书即可。
 
 
 
文章写完两天了,无意间从月光博客发现介绍GnuPG一个教程写不错,附上。
 
使用GnuPG(PGP)加密信息及数字签名教程: