You call see this artical for quick start:
http://www.madboa.com/geek/gpg-quickstart/
Also, you can goto this site for future reading:
http://www.gnupg.org/documentation/
Private和public的钥匙是gpg加密和解密过程的主要部分,所以第一步就是创建为自己创建一对密匙.
-
生成私钥
$gpg --gen-key你需要回答一些这个命令提出的问题
私钥的种类和size,这里缺省的答案已经足够好了
私钥的有效期,我通常选择不会过期,呵呵
你的真实的姓名和e-mail地址,这些是用来从一大堆钥匙中找到你的钥匙的
关于你的钥匙的comment,可以为空,我一般填一个昵称
钥匙的密码. 千万别忘了,否则所有你加密过的文件都没用了
-
为你的私钥生成一个公钥(文本文件)
$ gpg --armor --output LiuPeng.asc --export van9ogh@gmail.com你可以分发这个文件了,给你的朋友,或者贴到你的个人网站上, or whatever.
- 为自己加密一个文件. 这里--recipient可以是你的全名,也可以是你的邮件地址 #man man > foo.txt
#gpg --encrypt --recipient 'LiuPeng' foo.txt
- 解密这个文件. 这里不加--output选项的话,解密的内容将被送到屏幕上#gpg --output foo.txt --decrypt foo.txt.gpg
- 为别人加密一个文件. 这里首先要import别人的公钥,然后加密。注意这里变化的只是--recipient选项 #gpg --import other_people.asc
#gpg --list-keys
#gpg --encrypt --recipient 'other_people' foo.txt - 解密一个从别人那里发来的文件. 这个和本机加密的文件解密没什么区别.
- #gpg --output foo.txt --decrypt foo.txt.gpg
-
Other gpg commands
查看所有密钥
#gpg –list-key查看所有密钥
#gpg –list-public-key查看所有私钥
#gpg –-list-secret-key列出所有签名
#gpg –-list-sig核对指纹:指纹是为了防止第三方伪造publickey,使得公钥的接收者误以为拿到了真正的公钥,这样第三方就可以看到加密的内容了。
#gpg –-fingerprint ‘LiuPeng’签名
#gpg –-sign-key ‘LiuPeng’or
#gpg –-edit-key ‘LiuPeng’ (转入命令模式)
#command>检查签名
#gpg –-check-sign ‘LiuPeng’疑问:试了一下gpg 上传公钥到公共仓库的方法,为什么没有效果?
gpg: "LiuPeng.asc" not a key ID: skipping
gpg: "--keyserver" not a key ID: skipping
gpg: "hkp://subkeys.pgp.net" not a key ID: skipping
与Git相关:
打标签:
#git tag -s v2.0 -m 'my signed 2.0 tag'这样就给自己的tag 打上了带有gpg 签署的标签
注意:git 会默认使用~/.gitconfig 的user, email 来寻找对应的gpg密钥,如果你不想这样可以修改:
例如,我的git 默认为van9ogh <van9ogh@gmail.com> 但我的gpg为LiuPeng <van9ogh@gmail.com>
那么我可以修改~/.gitconfig:
[user]signingkey = LiuPeng
更详细的解释可以查看man git-tag
转载于:https://www.cnblogs.com/van9ogh/archive/2012/03/26/2418580.html