Use OpenSSL RAND_bytes for random IV generation
base::RandBytes may not be cryptographically strong. Bug: 13658504 Change-Id: Id5dcd4e512f05c2f06302654277f2fd11a53f2b7
This commit is contained in:
parent
1f315ba921
commit
815b90753f
|
@ -7,6 +7,8 @@
|
|||
#include "media/base/aes_encryptor.h"
|
||||
|
||||
#include <openssl/aes.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/rand.h>
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "base/rand_util.h"
|
||||
|
@ -51,7 +53,11 @@ AesCtrEncryptor::~AesCtrEncryptor() {}
|
|||
bool AesCtrEncryptor::InitializeWithRandomIv(const std::vector<uint8>& key,
|
||||
uint8 iv_size) {
|
||||
std::vector<uint8> iv(iv_size, 0);
|
||||
base::RandBytes(&iv[0], iv_size);
|
||||
if (RAND_bytes(&iv[0], iv_size) != 1) {
|
||||
LOG(ERROR) << "RAND_bytes failed with error: "
|
||||
<< ERR_error_string(ERR_get_error(), NULL);
|
||||
return false;
|
||||
}
|
||||
return InitializeWithIv(key, iv);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue