diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2013-12-04 17:56:40 -0600 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2013-12-04 17:56:40 -0600 |
commit | b91221dd7f27b3dcc09d3ad55645b12da08780cf (patch) | |
tree | a944e160006185723b21ad845f29a0d7004c7813 /cryptography | |
parent | 3029fe414a3dba0231a44e72ddfc398634c173de (diff) | |
download | cryptography-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.py | 8 |
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, |