我想用我的一個GPS(2)子鍵在Git中籤名提交/標記 也就是說,我剛剛創建的RSA4096簽名專用密鑰與長ID B0 ## ...使用OpenPGP子鍵簽名提交失敗
sec# ed25519/9F############## 2016-01-07 [expires: 2023-01-05]
Key fingerprint = FC08 HEX HEX HEX
uid [ultimate] MY NAME <[email protected] bar>
ssb rsa4096/C9############## 2016-01-07 [expires: 2022-01-05]
ssb ed25519/C6############## 2016-01-07 [expires: 2022-01-05]
ssb rsa4096/B0############## 2016-01-13 [expires: 2022-01-11]
我在哪裏上去除(備份的路程)主密鑰爲「更好的關鍵政策」
所以鑰匙圈的工作,我試圖建立的簽名密鑰對的Git
[user]
...
signingkey = B0##############
然而,承諾&簽約失敗,
> git commit -S -m "test commit"
gpg: skipped "B0##############": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
fatal: failed to write commit object
凡GPG代理啓動和運行。
我的第一個猜測是,那個混帳不理解長鍵符號,並試圖從短期一個替代
> gpg2 --list-secret-keys --keyid-format short
...
ssb rsa4096/DB###### 2016-01-13 [expires: 2022-01-11]
> ~/.gitconfig
[user]
...
signingkey = DB######
但也未能
> git commit -S -m "test commit short"
gpg: skipped "DB######": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
fatal: failed to write commit object
所以,我不知道這裏有什麼突破和如果可能Git只能使用主密鑰進行簽名,但不理解使用子密鑰(或者如果我在某處搞砸了自己)?
嘗試設置'gpg2'爲'GPG。 program'。由於您使用'gpg2'來運行GnuPG 2.0,所以'gpg'將是GnuPG 1,而不支持橢圓曲線。請注意,目前,絕大多數人將無法處理您的簽名,因爲您的主鍵是橢圓曲線鍵。 –
耶!這就是訣竅! 我知道,EC25519不是非常符合標準(尚未) - 這是一個練習使用它,但可能不是短期的最佳決策;) – THX