summaryrefslogtreecommitdiff
path: root/obnamlib/encryption.py
diff options
context:
space:
mode:
Diffstat (limited to 'obnamlib/encryption.py')
-rw-r--r--obnamlib/encryption.py13
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):