diff options
| author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-01-28 19:23:01 -0600 |
|---|---|---|
| committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-01-28 19:23:01 -0600 |
| commit | 5c8ea70ca7a36a0e090640b329bd9931232b7b23 (patch) | |
| tree | 734b78893c5261d0166b77200453ebc6b47012bc /cryptography | |
| parent | 91a6892dde4b2370047547097ac47763a62ed5f0 (diff) | |
| download | cryptography-5c8ea70ca7a36a0e090640b329bd9931232b7b23.tar.gz cryptography-5c8ea70ca7a36a0e090640b329bd9931232b7b23.tar.bz2 cryptography-5c8ea70ca7a36a0e090640b329bd9931232b7b23.zip | |
add some unicode checks for salt on init and key_material on derive
Diffstat (limited to 'cryptography')
| -rw-r--r-- | cryptography/hazmat/primitives/kdf/pbkdf2.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cryptography/hazmat/primitives/kdf/pbkdf2.py b/cryptography/hazmat/primitives/kdf/pbkdf2.py index a496cc27..fec1d5c2 100644 --- a/cryptography/hazmat/primitives/kdf/pbkdf2.py +++ b/cryptography/hazmat/primitives/kdf/pbkdf2.py @@ -13,6 +13,8 @@ from __future__ import absolute_import, division, print_function +import six + from cryptography import utils from cryptography.exceptions import ( InvalidKey, UnsupportedAlgorithm, AlreadyFinalized @@ -31,6 +33,11 @@ class PBKDF2HMAC(object): self._called = False self.algorithm = algorithm self._length = length + if isinstance(salt, six.text_type): + raise TypeError( + "Unicode-objects must be encoded before using them as key " + "material." + ) self._salt = salt self.iterations = iterations self._backend = backend @@ -40,6 +47,12 @@ class PBKDF2HMAC(object): raise AlreadyFinalized("PBKDF2 instances can only be called once") else: self._called = True + + if isinstance(key_material, six.text_type): + raise TypeError( + "Unicode-objects must be encoded before using them as key " + "material." + ) return self._backend.derive_pbkdf2_hmac( self.algorithm, self._length, |
