快速生成GPG密钥

dr_pure Lv5

生成主密钥

1
gpg --expert --full-gen-key

选择 (11) ECC (set your own capabilities)(S) Toggle the sign capability ,让主密钥仅有签名功能

生成三个子密钥

获取主密钥指纹

gpg --fingerprint --keyid-format long -K

使用quick-add-key参数快速添加子密钥

1
2
3
gpg --quick-add-key <fingerprint> cv25519 encr
gpg --quick-add-key <fingerprint> ed25519 auth
gpg --quick-add-key <fingerprint> ed25519 sign

如需设定密钥有效期,可在命令行最后加入时间,去1y

备份密钥

导出公钥

1
gpg -ao public-key.pub --export <key id>

导出私钥

1
2
3
4
gpg -ao sec-key.asc --export-secret-key <key id>!
gpg -ao sign-key.asc --export-secret-key <key id>!
gpg -ao auth-key.asc --export-secret-key <key id>!
gpg -ao encr-key.asc --export-secret-key <key id>!

不同的表示不同的子密钥
!表示仅导出一个私钥,否则将导出所有私钥

导入Canokey

  1. 查看智能卡设备状态
1
gpg --card-status
  1. 写入子密钥
1
gpg --edit-key <key id>
  1. 选中第一个子密钥
1
key 1
  1. 写入到智能卡
1
keytocard
  1. 取消选择
1
key 1
  1. 保存修改并退出
1
save
  1. 再次查看设备状态
1
gpg --card-status

此时子密钥前的标识改为ssb>表示私钥已经不在本地

删除本地私钥

1
gpg --delete-secret-keys <key id>
  • 标题: 快速生成GPG密钥
  • 作者: dr_pure
  • 创建于 : 2023-02-21 00:00:00
  • 更新于 : 2023-02-21 00:00:00
  • 链接: https://blog.lfn.moe/posts/fb30a341/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论