From a65afb757e2675eb8889a9ce1f8809434cdb3af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Mon, 8 Feb 2016 18:51:13 +0100 Subject: Introduce git_commit_extract_signature This returns the GPG signature for a commit and its contents without the signature block, allowing for the verification of the commit's signature. --- include/git2/commit.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include/git2/commit.h') diff --git a/include/git2/commit.h b/include/git2/commit.h index 34d29ed81..a92277417 100644 --- a/include/git2/commit.h +++ b/include/git2/commit.h @@ -263,6 +263,18 @@ GIT_EXTERN(int) git_commit_nth_gen_ancestor( */ GIT_EXTERN(int) git_commit_header_field(git_buf *out, const git_commit *commit, const char *field); +/** + * Extract the signature from a commit + * + * @param signature the signature block + * @param signed_data signed data; this is the commit contents minus the signature block + * @param repo the repository in which the commit exists + * @param commit_id the commit from which to extract the data + * @param field the name of the header field containing the signature + * block; pass `NULL` to extract the default 'gpgsig' + */ +GIT_EXTERN(int) git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_repository *repo, git_oid *commit_id, const char *field); + /** * Create new commit in the repository from a list of `git_object` pointers * -- cgit v1.2.1