导出并保存 GPG 公密钥
简介
GPG 是开源免费的身份验证工具,简单一句话就是对于公钥使用者可以和密钥拥有者秘密通信;对于密钥使用者,可以像外界证明某句话是你说的;在现实场景中,你可以写了一份信,但是大家怎么知道这份信是你写的呢?如果你身边有熟悉你的人,那 TA 可以通过你的笔迹或者你家生产的信纸来知道这份信是你的,但是对于别人呢?他们对你不了解,所以他们很难证明:你就是你?
在程序的世界里,你身边都是陌生人,怎么证明你就是你?一般都使用公钥私钥的非对称加密算法。在网上有很多关于 GPG 和 Github 结合的说明,比如 GitHub 官网的 Doc; 最重要的另一件事是备份你的公钥和密钥。
备份
列出公钥
|
|
sec 下面的第二行 也就是所有字符都是 X 的那一行就是 keyId;
导出公钥
|
|
-a 为 –armor 的简写,表示密钥以 ASCII 的形式输出,默认以二进制的形式输出;
-o 为 –output 的简写,指定写入的文件;
导出会有一个 public-file.key
在当前目录下生成,里面存放你的公钥。
导出私钥
|
|
导出一个私钥 private-file.key.
导入公钥私钥
|
|
xxxx.key 可以是公钥,也可以是私钥。
保存
公钥可以放在自己的网站或者信任的服务器上,但是私钥一定要自己保管,千万千万不能泄漏出去。否则在计算机的世界里,人人都可以是你。
推荐将你的公钥和私钥都保存在像1password
, lastpassword
或者Bitwarden
里,我用的是 bitwarden
; 因为不能存文件,只能将公钥和私钥的内容复制并拷贝进去。但效果是一样的。
缓存
在设置了强密码的前提下, 我们可以稍微的牺牲一些安全性, 通过配置 gpg-agent 的 default-cache-ttl, 让我们解密后的私钥在内存中存在的时间稍微长一些(默认 10 分钟), 比如, 一天:
|
|
分发
将公钥发送到 CA 管理中间机构,方便别人验证。
|
|
⚠️ 注意
你的私钥差不多就是计算机世界里的另一个你,所以,把你自己保护好。
Refs
Disclaimer
本文仅代表个人观点,与 Thoughtworks 公司无任何关系。
SHA256 checksum: f2fe1394e4ab9297ed69ff73ac32e9ac1375f01c2102183b509bf9379a5995d6
赞助
SHA256 checksum: 964978ecd2059064abe542e51dc02e204d3ee2e6c320ca68e2b1399ce0c6953c
使用此 文件 进行校验:
gpg --verify PayForGuzhongren.svg.sig