aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-01-28 19:23:01 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-01-28 19:23:01 -0600
commit5c8ea70ca7a36a0e090640b329bd9931232b7b23 (patch)
tree734b78893c5261d0166b77200453ebc6b47012bc /cryptography
parent91a6892dde4b2370047547097ac47763a62ed5f0 (diff)
downloadcryptography-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.py13
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,