1. ホーム
  2. git

[解決済み] 署名付きgitコミットを検証する?

2022-05-28 07:32:57

質問

新しいバージョンの git では、PGP キーで個々のコミット (タグに加えて) に署名することが可能です。

git commit -m "some message" -S

の出力で、これらの署名を表示することができます。 git log と共に --show-signature オプションで指定します。

$ git log --show-signature
commit 93bd0a7529ef347f8dbca7efde43f7e99ab89515
gpg: Signature made Fri 28 Jun 2013 02:28:41 PM EDT using RSA key ID AC1964A8
gpg: Good signature from "Lars Kellogg-Stedman <[email protected]>"
Author: Lars Kellogg-Stedman <[email protected]>
Date:   Fri Jun 28 14:28:41 2013 -0400

    this is a test

の出力を grep する以外に、指定したコミットの署名をプログラムで検証する方法はあるでしょうか? git log ? 私はコミットに相当するものを探しています。 git tag -v に相当するものを探しています -- 与えられたコミットに対して有効な署名があったかどうかを示す終了コードを提供するものです。

どのように解決するのですか?

私のように検索エンジンでこのページにたどり着いた人がいるかもしれないので、念のため。この質問が投稿されてから2年の間に、新しいツールが利用できるようになりました。 このタスクのための git コマンドが存在するようになりました。 git verify-commitgit verify-tag はそれぞれコミットやタグを検証するために使用できます。