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:
Giulio Fidente 2013-04-11 17:31:53 +02:00
parent 09dace6e0e
commit 5a3e5b2cd2

View File

@ -15,7 +15,7 @@
import base64
from Crypto.Cipher import AES
from Crypto import Random
from os import urandom
from oslo.config import cfg
@ -36,7 +36,7 @@ logger = logging.getLogger(__name__)
def encrypt(auth_info):
if auth_info is 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)
res = base64.b64encode(iv + cipher.encrypt(auth_info))
return res