uses os.urandom instead of Crypto.Random for backward compatibility
Crypto.Random has been introduced by pycrypto 2.1 but in RHEL6 and derivates you will only find pycrypto 2.0.1 Change-Id: Ib601981b0b8fcb5b3e8fc8761ee05adf7f6574fa
This commit is contained in:
parent
09dace6e0e
commit
5a3e5b2cd2
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
import base64
|
import base64
|
||||||
from Crypto.Cipher import AES
|
from Crypto.Cipher import AES
|
||||||
from Crypto import Random
|
from os import urandom
|
||||||
|
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ logger = logging.getLogger(__name__)
|
|||||||
def encrypt(auth_info):
|
def encrypt(auth_info):
|
||||||
if auth_info is None:
|
if auth_info is None:
|
||||||
return None
|
return None
|
||||||
iv = Random.new().read(AES.block_size)
|
iv = urandom(AES.block_size)
|
||||||
cipher = AES.new(cfg.CONF.auth_encryption_key[:32], AES.MODE_CFB, iv)
|
cipher = AES.new(cfg.CONF.auth_encryption_key[:32], AES.MODE_CFB, iv)
|
||||||
res = base64.b64encode(iv + cipher.encrypt(auth_info))
|
res = base64.b64encode(iv + cipher.encrypt(auth_info))
|
||||||
return res
|
return res
|
||||||
|
Loading…
Reference in New Issue
Block a user