diff options
author | Ben Boeckel <mathstuf@gmail.com> | 2015-09-25 01:37:52 -0400 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2015-10-11 11:41:55 +0300 |
commit | efa5dbc284d6fcd07165db283a9736f0796b4edd (patch) | |
tree | 5ff7fd51fe5b25339387fc8bb012ce7ac86e6053 | |
parent | 0555f7dac34270cf6b5d5684e1eb99415606f418 (diff) | |
download | obnam-efa5dbc284d6fcd07165db283a9736f0796b4edd.tar.gz |
encryption: support custom gpghome in symmetric key functions
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
-rw-r--r-- | obnamlib/encryption.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/obnamlib/encryption.py b/obnamlib/encryption.py index d76193ca..bed4e668 100644 --- a/obnamlib/encryption.py +++ b/obnamlib/encryption.py @@ -67,7 +67,7 @@ class SymmetricKeyCache(object): self.repos = {} -def _gpg_pipe(args, data, passphrase): +def _gpg_pipe(args, data, passphrase, gpghome=None): '''Pipe things through gpg. With the right args, this can be either an encryption or a decryption @@ -91,7 +91,8 @@ def _gpg_pipe(args, data, passphrase): os.close(keypipe[1]) try: - out = _gpg(args + ['--passphrase-fd', str(keypipe[0])], stdin=data) + out = _gpg(args + ['--passphrase-fd', str(keypipe[0])], stdin=data, + gpghome=gpghome) except: # pragma: no cover os.close(keypipe[0]) raise @@ -101,14 +102,14 @@ def _gpg_pipe(args, data, passphrase): return out -def encrypt_symmetric(cleartext, key): +def encrypt_symmetric(cleartext, key, gpghome=None): '''Encrypt data with symmetric encryption.''' - return _gpg_pipe(['-c'], cleartext, key) + return _gpg_pipe(['-c'], cleartext, key, gpghome=gpghome) -def decrypt_symmetric(encrypted, key): +def decrypt_symmetric(encrypted, key, gpghome=None): '''Decrypt encrypted data with symmetric encryption.''' - return _gpg_pipe(['-d'], encrypted, key) + return _gpg_pipe(['-d'], encrypted, key, gpghome=gpghome) def _gpg(args, stdin='', gpghome=None): |