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,  | 
