相关疑难解决方法(0)

你在git commit --gpg-sign = <key-id>`时签署了什么数据?

我正在试图弄清楚如何手动签署/验证提交,但我无法弄清楚正在签署哪些数据来创建签名.换句话说,我想不出什么<data>gpg --verify <commit-sig> <data>需求如此.

这是git源代码的相关部分:https://github.com/git/git/blob/master/commit.c#L1047-L1231但我也是C.的新手.


这是一些示例数据:

在一个新的git仓库中,我创建了一个文件ledger.txt并使用签名提交提交它:

git config --global user.signingkey 7E482429
git init
echo "EAC5-531F-38E8-9670-81AE-4E77-C7AA-5FC3-7E48-2429 1\n" > ledger.txt
git add ledger.txt
git commit -m "Initial commit" --gpg-sign=7E482429
Run Code Online (Sandbox Code Playgroud)

在这里它是在日志中:

git log --show-signature

    commit 876793da21833b5b8197b08462523fd6aad3e5ba
    gpg: Signature made Fri May  9 20:01:55 2014 CDT using RSA key ID 7E482429
    gpg: Good signature from "Dan Neumann <danrodneu@gmail.com>"
    Author: Dan Neumann <danrodneu@gmail.com>
    Date:   Fri May 9 20:01:55 2014 -0500

        Initial commit
Run Code Online (Sandbox Code Playgroud)

这是漂亮的打印提交对象(它存在于.git/objects/87/6793da21833b5b8197b08462523fd6aad3e5ba …

c git gnupg

16
推荐指数
1
解决办法
830
查看次数

标签 统计

c ×1

git ×1

gnupg ×1