From af6d0caf33ed42d26edd0e0a1322bb055bc66d02 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Mon, 18 Apr 2016 23:02:14 +0300 Subject: [PATCH] Add GPG-wrapper script for Git --- gpg/git_gpg_wrapper.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 gpg/git_gpg_wrapper.py diff --git a/gpg/git_gpg_wrapper.py b/gpg/git_gpg_wrapper.py new file mode 100755 index 0000000..679a0c2 --- /dev/null +++ b/gpg/git_gpg_wrapper.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python +import sys +import subprocess as sp +import time +import logging +import os + +import signer + +logging.basicConfig(level=logging.DEBUG, + format='%(asctime)s %(levelname)-10s %(message)s') + +def main(): + args = sys.argv[1:] + if '--verify' in args: + sp.check_call(['gpg2'] + args) + else: + user_id = os.environ['GPG_USER_ID'] + user_id = user_id.encode('ascii') + pubkey = signer.load_from_gpg(user_id) + s = signer.Signer(user_id=user_id, created=pubkey['created']) + assert s.key_id() == pubkey['key_id'] + + data = sys.stdin.read() + sig = s.sign(data) + sig = signer.armor(sig, 'SIGNATURE') + sys.stdout.write(sig) + s.close() + +if __name__ == '__main__': + main()