EncryptedCharField を Django モデルで動作させる方法に関するドキュメントや例/チュートリアルはありますか?
私のdjangoプロジェクトにdjango-extension + keyczarなどをインストールするのにかなりの時間がかかりました。インストール方法に関するドキュメントはありません。
これはこれまでに得たものです:
pip install django-extensions
INSTALLED_APPS に「django_extensions」を追加
pip install python-keyczar
モデルを作成 + EncryptedCharField でフィールドを追加
ENCRYPTED_FIELD_KEYS_DIR = '../../../enc-keys' を追加
ダウンロードした KeyczarTool-0.71g-090613.jar
次のコマンドを実行しました: java -jar KeyczarTool-0.71g-090613.jar create --location=./enc-keys --purpose=crypt --name="first key" --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.
何が間違っているのかわかりません。