Merge changes Ibd8951c7,I9a13dbae
* changes: Add mutex lock around InstallTestRootOfTrust Remove Test Keybox Again
This commit is contained in:
committed by
Android (Google) Code Review
commit
1e9c85c00d
@@ -198,8 +198,16 @@ bool TestCryptoSession::GenerateNonce(uint32_t* nonce) {
|
||||
|
||||
class TestCryptoSessionFactory : public CryptoSessionFactory {
|
||||
CryptoSession* MakeCryptoSession(metrics::CryptoMetrics* crypto_metrics) {
|
||||
// We need to add extra locking here because we need to make sure that there
|
||||
// are no other OEMCrypto calls between OEMCrypto_Initialize and
|
||||
// InstallTestRootOfTrust. OEMCrypto_Initialize is called in the production
|
||||
// CryptoSession::Init and is wrapped in crypto_lock_, but
|
||||
// InstallTestRootOfTrust is only called in the constructor of the
|
||||
// TestCryptoSession, above.
|
||||
std::unique_lock<std::mutex> auto_lock(init_lock_);
|
||||
return new TestCryptoSession(crypto_metrics);
|
||||
}
|
||||
std::mutex init_lock_;
|
||||
};
|
||||
|
||||
void WvCdmTestBase::SetUp() {
|
||||
@@ -226,19 +234,10 @@ void WvCdmTestBase::SetUp() {
|
||||
void WvCdmTestBase::InstallTestRootOfTrust() {
|
||||
switch (wvoec::global_features.derive_key_method) {
|
||||
case wvoec::DeviceFeatures::LOAD_TEST_KEYBOX:
|
||||
// TODO(fredgc, b/119316243): REMOVE THIS! (and the lines below)
|
||||
if (wvoec::global_features.api_version < 14) {
|
||||
// This should work with a production android device, but will fail with
|
||||
// the keyboxless ce cdm, as shipped. We are including this bit of code
|
||||
// so we can develop on Android, but plan to remove it when we have a
|
||||
// few more android test devices with v14 or v15 oemcrypto.
|
||||
LOGE("Attempting tests without test keybox.");
|
||||
} else { // TODO(fredgc, b/119316243): END OF REMOVE THIS!
|
||||
ASSERT_EQ(OEMCrypto_SUCCESS,
|
||||
OEMCrypto_LoadTestKeybox(
|
||||
reinterpret_cast<const uint8_t*>(&wvoec::kTestKeybox),
|
||||
sizeof(wvoec::kTestKeybox)));
|
||||
} // TODO(fredgc, b/119316243): yeah, yeah... remove this line, too.
|
||||
ASSERT_EQ(OEMCrypto_SUCCESS,
|
||||
OEMCrypto_LoadTestKeybox(
|
||||
reinterpret_cast<const uint8_t*>(&wvoec::kTestKeybox),
|
||||
sizeof(wvoec::kTestKeybox)));
|
||||
break;
|
||||
case wvoec::DeviceFeatures::LOAD_TEST_RSA_KEY:
|
||||
// Rare case: used by devices with baked in DRM cert.
|
||||
|
||||
Reference in New Issue
Block a user