diff options
author | Kali Kaneko <kali@leap.se> | 2017-06-30 12:38:40 +0200 |
---|---|---|
committer | Victor Shyba <victor1984@riseup.net> | 2017-07-08 03:15:05 -0300 |
commit | 88d52a578d0d7b06e138820fc0df24ba5f22e0e1 (patch) | |
tree | 91ba56f8f90ad4d555d1b6ef3f2b9534881d6448 /src/leap/soledad/client/_secrets/crypto.py | |
parent | 4672cb4be9c01d89b17b772331531b6502fb72ba (diff) |
[feat] use OpenSSL backend for scrypt if available
This needs OpenSSL >= 1.1, otherwise it will keep using the scrypt
dependency.
We should think about deprecating scrypt as a dependency when we can be
sure that the adoption of libssl 1.1 is wide enough. I think that at
some point (soledad 0.11 or so) we can drop the scrypt dependency, which
was being somehow problematic at times (the _scrypt.so was not appearing
when installing with pip, needed workarounds). From that moment on, we
can raise an error if an old libssl is found and no scrypt can be
imported - leaving that to the user/packager.
In debian stretch and afterwards, you can get that version by installing
libssl-dev
- Related: #8472
Diffstat (limited to 'src/leap/soledad/client/_secrets/crypto.py')
-rw-r--r-- | src/leap/soledad/client/_secrets/crypto.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/leap/soledad/client/_secrets/crypto.py b/src/leap/soledad/client/_secrets/crypto.py index 8148151d..975b790b 100644 --- a/src/leap/soledad/client/_secrets/crypto.py +++ b/src/leap/soledad/client/_secrets/crypto.py @@ -18,13 +18,13 @@ import binascii import json import os -import scrypt from leap.soledad.common import soledad_assert from leap.soledad.common.log import getLogger from leap.soledad.client._crypto import encrypt_sym, decrypt_sym, ENC_METHOD from leap.soledad.client._secrets.util import SecretsError +from leap.soledad.client import _scrypt logger = getLogger(__name__) @@ -39,7 +39,7 @@ class SecretsCrypto(object): def _get_key(self, salt): passphrase = self._soledad.passphrase.encode('utf8') - key = scrypt.hash(passphrase, salt, buflen=32) + key = _scrypt.hash(passphrase, salt, buflen=32) return key # |