In this code update we add a test to ensure that the White-box API implementation handle seeing multiple renewal keys correctly. Since there should be no more than one renewal key in a license response, upon seeing a second renewal key, the implementation should return a WB_RESULT_INVALID_PARAMETER code. Due to changes in how Chrome manages CHECKS and DCHECKS, this code has been updated to use the new headers.
28 lines
834 B
C++
28 lines
834 B
C++
////////////////////////////////////////////////////////////////////////////////
|
|
// Copyright 2016 Google LLC.
|
|
//
|
|
// This software is licensed under the terms defined in the Widevine Master
|
|
// License Agreement. For a copy of this agreement, please contact
|
|
// widevine-licensing@google.com.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "crypto_utils/random_util.h"
|
|
|
|
#include "base/check.h"
|
|
#include "third_party/boringssl/src/include/openssl/rand.h"
|
|
|
|
namespace widevine {
|
|
|
|
bool RandomBytes(size_t num_bytes, std::string* output) {
|
|
DCHECK(output);
|
|
output->resize(num_bytes);
|
|
return RAND_bytes(reinterpret_cast<uint8_t*>(&(*output)[0]), num_bytes);
|
|
}
|
|
|
|
std::string Random16Bytes() {
|
|
std::string output;
|
|
CHECK(RandomBytes(16u, &output));
|
|
return output;
|
|
}
|
|
} // namespace widevine
|