想搞个gpg秘钥在github上验证用,

创建密钥需要足够多的/dev/random内容,所以可能卡住需要瞎动动鼠标键盘,

#!/bin/sh
name="AoEiuV020"
email="aoeiuv020@gmail.com"
cat > .gpgbatch <<EOF
Key-Type: 1
Key-Length: 4096
Subkey-Type: 1
Subkey-Length: 4096
Name-Real: $name
Name-Email: $email
Expire-Date: 0
%no-ask-passphrase
%no-protection
EOF
gpg --default-new-key-algo rsa4096 --batch --gen-key .gpgbatch
rm .gpgbatch
git config --global user.name "$name"
git config --global user.email "$email"
git config --global commit.gpgsign true

然后普通commit就可以使用这个密钥签名,

给旧commit重新签名,会改变hash,等于重新commit,

git rebase --exec 'git commit --amend --no-edit -n -S' --root

检查commit的签名,

git show --show-signature HEAD

导出公钥给github,

gpg --armor --export  aoeiuv020@gmail.com

导出秘钥,

gpg --export-secret-keys aoeiuv020@gmail.com > gpg.key

导入密钥,卡住了,应该也是要/dev/random,不应该啊,,,第二天再运行就正常,莫名,

gpg --import gpg.key