Hen*_*kow 2 git security digital-signature git-notes
Git 注释是向 Git 对象添加元信息的功能。请参阅这篇Stackoverflow 文章了解更多详细信息。与提交类似,我也想签署注释。
我的本地 Git 配置为对所有提交进行签名。虽然签署 Git 提交按预期工作,但 Git 注释仍然未签名。在我的本地 Git 配置中,我有以下内容:
# excerpt from ~/.gitconfig
[commit]
gpgsign = true
Run Code Online (Sandbox Code Playgroud)
为了签署笔记,我尝试了以下方法。
# excerpt from ~/.gitconfig
[commit]
gpgsign = true
Run Code Online (Sandbox Code Playgroud)
我怎样才能使 Git 注释也被签名?
Git 本身不支持 GPG 签名注释。
但是,您可以手动将注释签名为 GPG明确签名的文档。
您可以创建一个清晰签名的注释:
$ echo "My note" | gpg2 --clearsign --output=- | git notes add -F-
Run Code Online (Sandbox Code Playgroud)
看起来像这样
$ git notes show
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
My note
-----BEGIN PGP SIGNATURE-----
iHUAARYIAB0WIQRV1AjJ09Fu2Xnxkhi7mQ+45Dv2eQUCZTRkw7AKCRC7mQ+45Dv2
eQUfAPwKhEDkoOGWqTvM1gZG6k1fMtTXRN4/ju+qG2X6rlAx54D/TNsHI2kzETqB
Pa6/9YKoJfH/JulcVNAvGuylOOrabww=
=U8vT
-----END PGP SIGNATURE-----
Run Code Online (Sandbox Code Playgroud)
然后您可以使用 gpg 验证签名:
$ git notes show | gpg2 --verify
gpg: Signature made Sat 21 Oct 2023 07:54:40 PM EDT
gpg: using EDDSA key ABCDEFABCDEFABCDEFABCDEFABCDEFABCDEFABCD
gpg: Good signature from "Foo Bar <foo.bar@example.com>" [ultimate]
Run Code Online (Sandbox Code Playgroud)
要仅提取注释,您可以使用
$ git notes show | gpg2 --verify --output=- 2>/dev/null
My note
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |