Как использовать EncryptedCharfield

Есть ли документация или примеры / учебное пособие о том, как заставить EncryptedCharField работать в модели Django?

Мне потребовалось много времени, чтобы установить django-extension + keyczar и т. Д. В моем проекте django. Там нет документации, как его установить.

Вот что дошло до сих пор:

pip install django-extensions

добавил 'django_extensions' в INSTALLED_APPS

pip install python-keyczar

создал модель + добавленное поле с EncryptedCharField

добавлен ENCRYPTED_FIELD_KEYS_DIR = '../../../enc-keys'

скачал KeyczarTool-0.71g-090613.jar

выполнил следующую команду: java -jar KeyczarTool-0.71g-090613.jar создать --location=./enc-keys --purpose=crypt --name="первый ключ" --asymmetric=rsa

Пока все хорошо, но когда я запускаю свой сервер, я получаю следующую ошибку:

keyczar.errors.KeyNotFoundError: Ключ с идентификатором hash_val Ничего не найдено.

TRACEBACK
  File "/Users/nv/Projects/project/models/client.py", line 78, in <module>
    class Authorization(models.Model):
  File "/Users/nv/Projects/project/models/client.py", line 86, in Authorization
    iban_enc = EncryptedCharField(max_length=155)
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/django_extensions/db/fields/encrypted.py", line 121, in __init__
    super(EncryptedCharField, self).__init__(*args, **kwargs)
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/django_extensions/db/fields/encrypted.py", line 32, in __init__
    max_length = len(self.prefix) + len(self.crypt.Encrypt('x' * max_length))
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/keyczar/keyczar.py", line 338, in Encrypt
    encrypting_key = self.primary_key
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/keyczar/keyczar.py", line 73, in <lambda>
    primary_key = property(lambda self: self.GetKey(self.primary_version),
  File "/Users/nv/Projects/project/lib/python2.7/site-packages/keyczar/keyczar.py", line 128, in GetKey
    raise errors.KeyNotFoundError(key_id)
keyczar.errors.KeyNotFoundError: Key with hash_val identifier None not found.

Я не могу понять, что я делаю не так.

2 ответа

Решение

НАЙТИ РЕШЕНИЕ

После создания:

  • java -jar KeyczarTool-0.71g-090613.jar addkey --location =. / enc-keys --status = "primary" --size = 2048

НАЙТИ РЕШЕНИЕ С ВНЕ JAVA (puach)

попробуй это

bin/keyczart create --location=keys --purpose=crypt --name=models &&     bin/keyczart addkey --location=keys --status=primary

быть уверенным, что keys - это папка в вашем проекте, может быть, /var/keys?? или где угодно

ура

Другие вопросы по тегам