aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2013-12-04 17:56:40 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2013-12-04 17:56:40 -0600
commitb91221dd7f27b3dcc09d3ad55645b12da08780cf (patch)
treea944e160006185723b21ad845f29a0d7004c7813 /cryptography
parent3029fe414a3dba0231a44e72ddfc398634c173de (diff)
downloadcryptography-b91221dd7f27b3dcc09d3ad55645b12da08780cf.tar.gz
cryptography-b91221dd7f27b3dcc09d3ad55645b12da08780cf.tar.bz2
cryptography-b91221dd7f27b3dcc09d3ad55645b12da08780cf.zip
raise ValueErrors when supplying/not supplying tags for GCM
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/bindings/openssl/backend.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/cryptography/hazmat/bindings/openssl/backend.py b/cryptography/hazmat/bindings/openssl/backend.py
index 1b19ddaa..6ab4dc26 100644
--- a/cryptography/hazmat/bindings/openssl/backend.py
+++ b/cryptography/hazmat/bindings/openssl/backend.py
@@ -289,12 +289,18 @@ class _CipherContext(object):
)
assert res != 0
if operation == self._DECRYPT:
- assert mode.tag is not None
+ if not mode.tag:
+ raise ValueError("Authentication tag must be supplied "
+ "when decrypting")
res = self._backend.lib.EVP_CIPHER_CTX_ctrl(
ctx, self._backend.lib.Cryptography_EVP_CTRL_GCM_SET_TAG,
len(mode.tag), mode.tag
)
assert res != 0
+ else:
+ if mode.tag:
+ raise ValueError("Authentication tag must be None when "
+ "encrypting")
# pass key/iv
res = self._backend.lib.EVP_CipherInit_ex(ctx, self._backend.ffi.NULL,