OEMCrypto v11 Refrence Code and Unit Tests

This CL is a merge from the widevine repo of
http://go/wvgerrit/16553 Prebuilt Level 3 OEMCrypto for Android
http://go/wvgerrit/16238 Require OEMCrypto v11 for Android N Unit Tests
http://go/wvgerrit/16484 Shared License Tests (OEMCrypto v11)
http://go/wvgerrit/16448 Pattern Decrypt Unit Tests and Reference Implementation
http://go/wvgerrit/16489 Enforce UNUSED Variables
http://go/wvgerrit/16479 Pattern Decrypt for Level 3 OEMCrypto
http://go/wvgerrit/16280 Correctly handle bad RSA key
http://go/wvgerrit/16315 Security Patch Level - haystack version
http://go/wvgerrit/16282 Correctly handle null pointer in GetKeyData
http://go/wvgerrit/16294 Initialize data for generation number

It contains the Level 3 implementation, as well.
mips/libwvlevel3.a  Level3 Library Jan 22 2016 14:30:27
arm/libwvlevel3.a  Level3 Library Jan 22 2016 15:03:55
x86/libwvlevel3.a  Level3 Library Jan 22 2016 13:52:29

b/26692954 [DRM] OEMCrypto v11 needed for Nexus devices

Change-Id: Ibb1384959620f63a1be1e82ce2952ec9f48f0d3e
This commit is contained in:
Fred Gylys-Colwell
2016-01-22 15:30:42 -08:00
parent 2c39fce2c8
commit e6aa70410b
13 changed files with 779 additions and 489 deletions

View File

@@ -54,7 +54,7 @@ OEMCryptoResult Level3_LoadKeys(OEMCrypto_SESSION /*session*/,
const uint8_t* /*enc_mac_key_iv*/,
const uint8_t* /*enc_mac_key*/,
size_t /*num_keys*/,
const OEMCrypto_KeyObject_V10* /*key_array*/,
const OEMCrypto_KeyObject* /*key_array*/,
const uint8_t* /*pst*/,
size_t /*pst_length*/) {
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
@@ -84,12 +84,13 @@ OEMCryptoResult Level3_SelectKey(const OEMCrypto_SESSION /*session*/,
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
}
OEMCryptoResult Level3_DecryptCTR(OEMCrypto_SESSION /*session*/,
OEMCryptoResult Level3_DecryptCENC(OEMCrypto_SESSION /*session*/,
const uint8_t* /*data_addr*/, size_t /*data_length*/,
bool /*is_encrypted*/, const uint8_t* /*iv*/,
size_t /*block_offset*/,
const OEMCrypto_DestBufferDesc* /*out_buffer*/,
uint8_t /*subsample_flags*/) {
bool /*is_encrypted*/, const uint8_t* /*iv*/,
size_t /*block_offset*/,
const OEMCrypto_DestBufferDesc* /*out_buffer*/,
const OEMCrypto_CENCEncryptPatternDesc* /*pattern*/,
uint8_t /*subsample_flags*/) {
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
}