Document huge buffer tests in separate group
Explain how the huge buffer tests work. In particular, state that we expect that OEMCrypto returns an error on huge buffers. Staged here: https://developers.devsite.corp.google.com/widevine/drm/client/oemcrypto/v18/oemcrypto-test/group/security Bug: 300645748 Merged from https://widevine-internal-review.googlesource.com/188034 Change-Id: Iba9d652dfe57df6786b0ab60931f02f8ce9b8180
This commit is contained in:
committed by
Robert Shih
parent
3316870a0a
commit
c53047bd1b
@@ -39,6 +39,8 @@ namespace wvoec {
|
|||||||
/// @addtogroup security
|
/// @addtogroup security
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_FreeSecureBuffer fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest,
|
TEST_F(OEMCryptoClientTest,
|
||||||
OEMCryptoMemoryAllocateSecureBufferForHugeBufferSize) {
|
OEMCryptoMemoryAllocateSecureBufferForHugeBufferSize) {
|
||||||
Session s;
|
Session s;
|
||||||
@@ -57,6 +59,8 @@ TEST_F(OEMCryptoClientTest,
|
|||||||
s.close();
|
s.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_WrapKeyboxOrOEMCert fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest,
|
TEST_F(OEMCryptoClientTest,
|
||||||
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeKeyboxLength) {
|
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeKeyboxLength) {
|
||||||
auto oemcrypto_function = [](size_t keybox_length) {
|
auto oemcrypto_function = [](size_t keybox_length) {
|
||||||
@@ -74,6 +78,8 @@ TEST_F(OEMCryptoClientTest,
|
|||||||
kHugeInputBufferLength, kCheckStatus);
|
kHugeInputBufferLength, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_WrapKeyboxOrOEMCert fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest,
|
TEST_F(OEMCryptoClientTest,
|
||||||
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeWrappedKeyboxLength) {
|
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeWrappedKeyboxLength) {
|
||||||
auto oemcrypto_function = [](size_t buffer_length) {
|
auto oemcrypto_function = [](size_t buffer_length) {
|
||||||
@@ -91,6 +97,8 @@ TEST_F(OEMCryptoClientTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_WrapKeyboxOrOEMCert fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest,
|
TEST_F(OEMCryptoClientTest,
|
||||||
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeTransportKey) {
|
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeTransportKey) {
|
||||||
auto oemcrypto_function = [](size_t transport_key_length) {
|
auto oemcrypto_function = [](size_t transport_key_length) {
|
||||||
@@ -105,6 +113,8 @@ TEST_F(OEMCryptoClientTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_WrapKeyboxOrOEMCert fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoClientTest,
|
OEMCryptoClientTest,
|
||||||
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeKeyboxLengthStartingFromLength1) {
|
OEMCryptoMemoryWrapKeyboxOrOEMCertForHugeKeyboxLengthStartingFromLength1) {
|
||||||
@@ -124,7 +134,8 @@ TEST_F(
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test that set sandbox doesn't crash for a large sandbox id leangth.
|
/** Test that OEMCrypto_SetSandbox fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest, OEMCryptoMemorySetSandboxForHugeSandboxIdLength) {
|
TEST_F(OEMCryptoClientTest, OEMCryptoMemorySetSandboxForHugeSandboxIdLength) {
|
||||||
auto oemcrypto_function = [](size_t buffer_length) {
|
auto oemcrypto_function = [](size_t buffer_length) {
|
||||||
vector<uint8_t> buffer(buffer_length);
|
vector<uint8_t> buffer(buffer_length);
|
||||||
@@ -133,6 +144,8 @@ TEST_F(OEMCryptoClientTest, OEMCryptoMemorySetSandboxForHugeSandboxIdLength) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_CopyBuffer fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest, OEMCryptoMemoryCopyBufferForHugeBufferLengths) {
|
TEST_F(OEMCryptoClientTest, OEMCryptoMemoryCopyBufferForHugeBufferLengths) {
|
||||||
Session s;
|
Session s;
|
||||||
ASSERT_NO_FATAL_FAILURE(s.open());
|
ASSERT_NO_FATAL_FAILURE(s.open());
|
||||||
@@ -163,6 +176,9 @@ TEST_F(OEMCryptoClientTest, OEMCryptoMemoryCopyBufferForHugeBufferLengths) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @ingroup security
|
||||||
|
* Test that OEMCrypto_CopyBuffer fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest,
|
TEST_F(OEMCryptoClientTest,
|
||||||
OEMCryptoMemoryCopyBufferDirectForHugeBufferLengths) {
|
OEMCryptoMemoryCopyBufferDirectForHugeBufferLengths) {
|
||||||
Session s;
|
Session s;
|
||||||
@@ -184,6 +200,9 @@ TEST_F(OEMCryptoClientTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @ingroup security
|
||||||
|
* Test that OEMCrypto_CopyBuffer fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoClientTest, OEMCryptoMemoryCopyBufferForOutOfRangeOffset) {
|
TEST_F(OEMCryptoClientTest, OEMCryptoMemoryCopyBufferForOutOfRangeOffset) {
|
||||||
Session s;
|
Session s;
|
||||||
ASSERT_NO_FATAL_FAILURE(s.open());
|
ASSERT_NO_FATAL_FAILURE(s.open());
|
||||||
@@ -245,6 +264,9 @@ TEST_F(OEMCryptoKeyboxTest,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/** @ingroup security
|
||||||
|
* Test that OEMCrypto_LoadTestKeybox fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryLoadTestKeyBoxForHugeKeyboxBuffer) {
|
TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryLoadTestKeyBoxForHugeKeyboxBuffer) {
|
||||||
auto f = [](size_t keybox_length) {
|
auto f = [](size_t keybox_length) {
|
||||||
vector<uint8_t> keybox(keybox_length);
|
vector<uint8_t> keybox(keybox_length);
|
||||||
@@ -257,6 +279,9 @@ TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryLoadTestKeyBoxForHugeKeyboxBuffer) {
|
|||||||
kCheckStatus);
|
kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @ingroup security
|
||||||
|
* Test that OEMCrypto_LoadTestKeybox fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoKeyboxTest,
|
TEST_F(OEMCryptoKeyboxTest,
|
||||||
OEMCryptoMemoryLoadTestKeyBoxForHugeKeyboxBufferStartingFromLength1) {
|
OEMCryptoMemoryLoadTestKeyBoxForHugeKeyboxBufferStartingFromLength1) {
|
||||||
auto f = [](size_t keybox_length) {
|
auto f = [](size_t keybox_length) {
|
||||||
@@ -268,6 +293,8 @@ TEST_F(OEMCryptoKeyboxTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(f, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(f, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_GetDeviceID fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryGetDeviceIdForHugeIdLength) {
|
TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryGetDeviceIdForHugeIdLength) {
|
||||||
auto oemcrypto_function = [](size_t input_length) {
|
auto oemcrypto_function = [](size_t input_length) {
|
||||||
size_t device_id_length = input_length;
|
size_t device_id_length = input_length;
|
||||||
@@ -277,6 +304,8 @@ TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryGetDeviceIdForHugeIdLength) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_GetKeyData fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryGetKeyIdForHugeIdLength) {
|
TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryGetKeyIdForHugeIdLength) {
|
||||||
auto oemcrypto_function = [](size_t input_length) {
|
auto oemcrypto_function = [](size_t input_length) {
|
||||||
size_t key_data_length = input_length;
|
size_t key_data_length = input_length;
|
||||||
@@ -286,6 +315,8 @@ TEST_F(OEMCryptoKeyboxTest, OEMCryptoMemoryGetKeyIdForHugeIdLength) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_GenerateDerivedKeys fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoKeyboxTest,
|
TEST_F(OEMCryptoKeyboxTest,
|
||||||
OEMCryptoMemoryGenerateDerivedKeysForHugeMacContextLength) {
|
OEMCryptoMemoryGenerateDerivedKeysForHugeMacContextLength) {
|
||||||
Session s;
|
Session s;
|
||||||
@@ -304,6 +335,8 @@ TEST_F(OEMCryptoKeyboxTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_GenerateDerivedKeys fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoKeyboxTest,
|
TEST_F(OEMCryptoKeyboxTest,
|
||||||
OEMCryptoMemoryGenerateDerivedKeysForHugeEncContextLength) {
|
OEMCryptoMemoryGenerateDerivedKeysForHugeEncContextLength) {
|
||||||
Session s;
|
Session s;
|
||||||
@@ -322,6 +355,9 @@ TEST_F(OEMCryptoKeyboxTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_GetOEMPublicCertificate fails gracefully on a huge
|
||||||
|
* buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoProv30Test, OEMCryptoMemoryGetOEMPublicCertForHugeCertLength) {
|
TEST_F(OEMCryptoProv30Test, OEMCryptoMemoryGetOEMPublicCertForHugeCertLength) {
|
||||||
if (wrapped_rsa_key_.size() == 0) {
|
if (wrapped_rsa_key_.size() == 0) {
|
||||||
// If we don't have a wrapped key yet, create one.
|
// If we don't have a wrapped key yet, create one.
|
||||||
@@ -343,6 +379,9 @@ TEST_F(OEMCryptoProv30Test, OEMCryptoMemoryGetOEMPublicCertForHugeCertLength) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_CreateUsageTableHeader fails gracefully on a huge
|
||||||
|
* buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoSessionTests,
|
TEST_F(OEMCryptoSessionTests,
|
||||||
OEMCryptoMemoryCreateUsageTableHeaderForHugeHeaderBufferLength) {
|
OEMCryptoMemoryCreateUsageTableHeaderForHugeHeaderBufferLength) {
|
||||||
auto oemcrypto_function = [](size_t buffer_length) {
|
auto oemcrypto_function = [](size_t buffer_length) {
|
||||||
@@ -354,6 +393,9 @@ TEST_F(OEMCryptoSessionTests,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_PrepAndSignRenewalRequest fails gracefully on a huge
|
||||||
|
* buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryPrepareRenewalRequestForHugeBufferLength) {
|
OEMCryptoMemoryPrepareRenewalRequestForHugeBufferLength) {
|
||||||
RenewalRoundTrip renewal_messages(&license_messages_);
|
RenewalRoundTrip renewal_messages(&license_messages_);
|
||||||
@@ -364,6 +406,9 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_PrepAndSignRenewalRequest fails gracefully on a huge
|
||||||
|
* buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryPrepareRenewalRequestForHugeSignatureLength) {
|
OEMCryptoMemoryPrepareRenewalRequestForHugeSignatureLength) {
|
||||||
RenewalRoundTrip renewal_messages(&license_messages_);
|
RenewalRoundTrip renewal_messages(&license_messages_);
|
||||||
@@ -374,6 +419,9 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_PrepAndSignRenewalRequest fails gracefully on a huge
|
||||||
|
* buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryPrepareRenewalRequestForHugeCoreMessageLength) {
|
OEMCryptoMemoryPrepareRenewalRequestForHugeCoreMessageLength) {
|
||||||
RenewalRoundTrip renewal_messages(&license_messages_);
|
RenewalRoundTrip renewal_messages(&license_messages_);
|
||||||
@@ -384,8 +432,9 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This verifies that entitled content keys API does not crash for unreasonable
|
/** Test that loading entitled content keys fails gracefully on a huge
|
||||||
// input message buffer lengths.
|
* buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeBufferLength) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeBufferLength) {
|
||||||
auto oemcrypto_function = [&](size_t buffer_length) {
|
auto oemcrypto_function = [&](size_t buffer_length) {
|
||||||
@@ -402,6 +451,8 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadLicense fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoSessionTests,
|
TEST_F(OEMCryptoSessionTests,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeSignatureLength) {
|
OEMCryptoMemoryLoadLicenseForHugeSignatureLength) {
|
||||||
auto oemcrypto_function = [&](size_t signature_size) {
|
auto oemcrypto_function = [&](size_t signature_size) {
|
||||||
@@ -424,6 +475,8 @@ TEST_F(OEMCryptoSessionTests,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadRenewal fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoSessionTests, OEMCryptoMemoryLoadRenewalForHugeResponseLength) {
|
TEST_F(OEMCryptoSessionTests, OEMCryptoMemoryLoadRenewalForHugeResponseLength) {
|
||||||
auto oemcrypto_function = [&](size_t message_size) {
|
auto oemcrypto_function = [&](size_t message_size) {
|
||||||
Session s;
|
Session s;
|
||||||
@@ -443,6 +496,8 @@ TEST_F(OEMCryptoSessionTests, OEMCryptoMemoryLoadRenewalForHugeResponseLength) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadRenewal fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoSessionTests,
|
TEST_F(OEMCryptoSessionTests,
|
||||||
OEMCryptoMemoryLoadRenewalForHugeSignatureLength) {
|
OEMCryptoMemoryLoadRenewalForHugeSignatureLength) {
|
||||||
auto oemcrypto_function = [&](size_t signature_size) {
|
auto oemcrypto_function = [&](size_t signature_size) {
|
||||||
@@ -467,6 +522,8 @@ TEST_F(OEMCryptoSessionTests,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_QueryKeyControl fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoSessionTests,
|
TEST_F(OEMCryptoSessionTests,
|
||||||
OEMCryptoMemoryLoadRenewalForHugeCoreMessageLength) {
|
OEMCryptoMemoryLoadRenewalForHugeCoreMessageLength) {
|
||||||
auto oemcrypto_function = [&](size_t core_message_size) {
|
auto oemcrypto_function = [&](size_t core_message_size) {
|
||||||
@@ -487,7 +544,8 @@ TEST_F(OEMCryptoSessionTests,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test OEMCrypto_QueryKeyControl doesn't crash for huge key_id_length.
|
/** Test that OEMCrypto_QueryKeyControl fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoSessionTests,
|
TEST_F(OEMCryptoSessionTests,
|
||||||
OEMCryptoMemoryQueryKeyControlForHugeKeyIdLength) {
|
OEMCryptoMemoryQueryKeyControlForHugeKeyIdLength) {
|
||||||
Session session;
|
Session session;
|
||||||
@@ -512,8 +570,9 @@ TEST_F(OEMCryptoSessionTests,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test OEMCrypto_QueryKeyControl doesn't crash for huge key_control_block
|
/** Test OEMCrypto_QueryKeyControl doesn't crash for huge key_control_block
|
||||||
// length.
|
* length.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoSessionTests,
|
TEST_F(OEMCryptoSessionTests,
|
||||||
OEMCryptoMemoryQueryKeyControlForHugeKeyControlBlockLength) {
|
OEMCryptoMemoryQueryKeyControlForHugeKeyControlBlockLength) {
|
||||||
Session session;
|
Session session;
|
||||||
@@ -534,8 +593,9 @@ TEST_F(OEMCryptoSessionTests,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test verifies that OEMCrypto_SetDecryptHash doesn't crash for a very
|
/** This test verifies that OEMCrypto_SetDecryptHash doesn't crash for a very
|
||||||
// large hash buffer.
|
large hash buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryDecryptHashForHugeHashBuffer) {
|
OEMCryptoMemoryDecryptHashForHugeHashBuffer) {
|
||||||
uint32_t session_id = session_.session_id();
|
uint32_t session_id = session_.session_id();
|
||||||
@@ -548,6 +608,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(f, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(f, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test Decrypt fails gracefully for huge input. */
|
||||||
TEST_P(OEMCryptoSessionTestsDecryptTests,
|
TEST_P(OEMCryptoSessionTestsDecryptTests,
|
||||||
OEMCryptoMemoryDecryptCENCForHugeNumberOfSubSamples) {
|
OEMCryptoMemoryDecryptCENCForHugeNumberOfSubSamples) {
|
||||||
auto oemcrypto_function = [&](size_t number_of_subsamples) {
|
auto oemcrypto_function = [&](size_t number_of_subsamples) {
|
||||||
@@ -575,6 +636,7 @@ TEST_P(OEMCryptoSessionTestsDecryptTests,
|
|||||||
MakeBuffers();
|
MakeBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test Decrypt fails gracefully for huge input. */
|
||||||
TEST_P(OEMCryptoSessionTestsDecryptTests,
|
TEST_P(OEMCryptoSessionTestsDecryptTests,
|
||||||
OEMCryptoMemoryDecryptCENCForHugeNumberOfSamples) {
|
OEMCryptoMemoryDecryptCENCForHugeNumberOfSamples) {
|
||||||
auto oemcrypto_function = [&](size_t number_of_samples) {
|
auto oemcrypto_function = [&](size_t number_of_samples) {
|
||||||
@@ -604,6 +666,8 @@ TEST_P(OEMCryptoSessionTestsDecryptTests,
|
|||||||
MakeBuffers();
|
MakeBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadProvisioning fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeSignatureLength) {
|
OEMCryptoMemoryLoadProvisioningForHugeSignatureLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -642,6 +706,8 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadProvisioning fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeWrappedRsaKeyLength) {
|
OEMCryptoMemoryLoadProvisioningForHugeWrappedRsaKeyLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -673,6 +739,8 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadDRMPrivateKey fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadDrmPrivateKeyForHugeWrappedRsaKeyLength) {
|
OEMCryptoMemoryLoadDrmPrivateKeyForHugeWrappedRsaKeyLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -700,6 +768,8 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
kHugeInputBufferLength, !kCheckStatus);
|
kHugeInputBufferLength, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadDRMPrivateKey fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoLoadsCertificate,
|
OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadDrmPrivateKeyForHugeWrappedRsaKeyLengthStartingFromLength1) {
|
OEMCryptoMemoryLoadDrmPrivateKeyForHugeWrappedRsaKeyLengthStartingFromLength1) {
|
||||||
@@ -726,6 +796,8 @@ TEST_F(
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_LoadDRMPrivateKey fails gracefully on a huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoUsesCertificate,
|
TEST_F(OEMCryptoUsesCertificate,
|
||||||
OEMCryptoMemoryDeriveKeysFromSessionKeyForHugeMacContext) {
|
OEMCryptoMemoryDeriveKeysFromSessionKeyForHugeMacContext) {
|
||||||
vector<uint8_t> session_key;
|
vector<uint8_t> session_key;
|
||||||
@@ -746,6 +818,8 @@ TEST_F(OEMCryptoUsesCertificate,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_DeriveKeysFromSessionKey fails gracefully on a huge
|
||||||
|
* buffer. */
|
||||||
TEST_F(OEMCryptoUsesCertificate,
|
TEST_F(OEMCryptoUsesCertificate,
|
||||||
OEMCryptoMemoryDeriveKeysFromSessionKeyForHugeEncContext) {
|
OEMCryptoMemoryDeriveKeysFromSessionKeyForHugeEncContext) {
|
||||||
vector<uint8_t> session_key;
|
vector<uint8_t> session_key;
|
||||||
@@ -766,6 +840,8 @@ TEST_F(OEMCryptoUsesCertificate,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_DeriveKeysFromSessionKey fails gracefully on a huge
|
||||||
|
* buffer. */
|
||||||
TEST_F(OEMCryptoUsesCertificate,
|
TEST_F(OEMCryptoUsesCertificate,
|
||||||
OEMCryptoMemoryDeriveKeysFromSessionKeyForHugeEncSessionKey) {
|
OEMCryptoMemoryDeriveKeysFromSessionKeyForHugeEncSessionKey) {
|
||||||
vector<uint8_t> session_key;
|
vector<uint8_t> session_key;
|
||||||
@@ -787,6 +863,8 @@ TEST_F(OEMCryptoUsesCertificate,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_GenerateRSASignature fails gracefully on a huge
|
||||||
|
* buffer. */
|
||||||
TEST_F(OEMCryptoLoadsCertificateAlternates,
|
TEST_F(OEMCryptoLoadsCertificateAlternates,
|
||||||
OEMCryptoMemoryGenerateRSASignatureForHugeBuffer) {
|
OEMCryptoMemoryGenerateRSASignatureForHugeBuffer) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -828,6 +906,8 @@ TEST_F(OEMCryptoLoadsCertificateAlternates,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_GenerateRSASignature fails gracefully on a huge
|
||||||
|
* buffer. */
|
||||||
TEST_F(OEMCryptoLoadsCertificateAlternates,
|
TEST_F(OEMCryptoLoadsCertificateAlternates,
|
||||||
OEMCryptoMemoryGenerateRSASignatureForHugeSignatureLength) {
|
OEMCryptoMemoryGenerateRSASignatureForHugeSignatureLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -860,6 +940,7 @@ TEST_F(OEMCryptoLoadsCertificateAlternates,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that GetKeyHandle fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoGenericCryptoTest, OEMCryptoMemorySelectKeyForHugeKeyIdLength) {
|
TEST_P(OEMCryptoGenericCryptoTest, OEMCryptoMemorySelectKeyForHugeKeyIdLength) {
|
||||||
EncryptAndLoadKeys();
|
EncryptAndLoadKeys();
|
||||||
OEMCrypto_SESSION session_id = session_.session_id();
|
OEMCrypto_SESSION session_id = session_.session_id();
|
||||||
@@ -872,6 +953,7 @@ TEST_P(OEMCryptoGenericCryptoTest, OEMCryptoMemorySelectKeyForHugeKeyIdLength) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoGenericCryptoTest,
|
TEST_P(OEMCryptoGenericCryptoTest,
|
||||||
OEMCryptoMemoryGenericKeyEncryptForHugeBuffer) {
|
OEMCryptoMemoryGenericKeyEncryptForHugeBuffer) {
|
||||||
EncryptAndLoadKeys();
|
EncryptAndLoadKeys();
|
||||||
@@ -896,6 +978,7 @@ TEST_P(OEMCryptoGenericCryptoTest,
|
|||||||
kCheckStatus);
|
kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoGenericCryptoTest,
|
TEST_P(OEMCryptoGenericCryptoTest,
|
||||||
OEMCryptoMemoryGenericKeyDecryptForHugeBuffer) {
|
OEMCryptoMemoryGenericKeyDecryptForHugeBuffer) {
|
||||||
EncryptAndLoadKeys();
|
EncryptAndLoadKeys();
|
||||||
@@ -921,6 +1004,7 @@ TEST_P(OEMCryptoGenericCryptoTest,
|
|||||||
kCheckStatus);
|
kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoGenericCryptoTest, OEMCryptoMemoryGenericKeySignForHugeBuffer) {
|
TEST_P(OEMCryptoGenericCryptoTest, OEMCryptoMemoryGenericKeySignForHugeBuffer) {
|
||||||
EncryptAndLoadKeys();
|
EncryptAndLoadKeys();
|
||||||
unsigned int key_index = 2;
|
unsigned int key_index = 2;
|
||||||
@@ -945,6 +1029,7 @@ TEST_P(OEMCryptoGenericCryptoTest, OEMCryptoMemoryGenericKeySignForHugeBuffer) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoGenericCryptoTest,
|
TEST_P(OEMCryptoGenericCryptoTest,
|
||||||
OEMCryptoMemoryGenericKeySignForHugeSignatureLength) {
|
OEMCryptoMemoryGenericKeySignForHugeSignatureLength) {
|
||||||
EncryptAndLoadKeys();
|
EncryptAndLoadKeys();
|
||||||
@@ -971,6 +1056,7 @@ TEST_P(OEMCryptoGenericCryptoTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoGenericCryptoTest,
|
TEST_P(OEMCryptoGenericCryptoTest,
|
||||||
OEMCryptoMemoryGenericKeyVerifyForHugeBuffer) {
|
OEMCryptoMemoryGenericKeyVerifyForHugeBuffer) {
|
||||||
EncryptAndLoadKeys();
|
EncryptAndLoadKeys();
|
||||||
@@ -993,6 +1079,7 @@ TEST_P(OEMCryptoGenericCryptoTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoGenericCryptoTest,
|
TEST_P(OEMCryptoGenericCryptoTest,
|
||||||
OEMCryptoMemoryGenericKeyVerifyForHugeSignatureLength) {
|
OEMCryptoMemoryGenericKeyVerifyForHugeSignatureLength) {
|
||||||
EncryptAndLoadKeys();
|
EncryptAndLoadKeys();
|
||||||
@@ -1019,6 +1106,7 @@ TEST_P(OEMCryptoGenericCryptoTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest,
|
TEST_P(OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryUpdateUsageEntryForHugeHeaderBuffer) {
|
OEMCryptoMemoryUpdateUsageEntryForHugeHeaderBuffer) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
@@ -1049,6 +1137,7 @@ TEST_P(OEMCryptoUsageTableTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest,
|
TEST_P(OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryUpdateUsageEntryForHugeUsageEntryBuffer) {
|
OEMCryptoMemoryUpdateUsageEntryForHugeUsageEntryBuffer) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
@@ -1076,6 +1165,7 @@ TEST_P(OEMCryptoUsageTableTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest,
|
TEST_P(OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryDeactivateUsageEntryForHugePstBuffer) {
|
OEMCryptoMemoryDeactivateUsageEntryForHugePstBuffer) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
@@ -1098,6 +1188,7 @@ TEST_P(OEMCryptoUsageTableTest,
|
|||||||
kCheckStatus);
|
kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest,
|
TEST_P(OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryLoadUsageTableHeaderForHugeHeader) {
|
OEMCryptoMemoryLoadUsageTableHeaderForHugeHeader) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
@@ -1124,6 +1215,7 @@ TEST_P(OEMCryptoUsageTableTest,
|
|||||||
kHugeInputBufferLength, !kCheckStatus);
|
kHugeInputBufferLength, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoUsageTableTest,
|
OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryLoadUsageTableHeaderForHugeHeaderStartingHeaderLengthFrom1) {
|
OEMCryptoMemoryLoadUsageTableHeaderForHugeHeaderStartingHeaderLengthFrom1) {
|
||||||
@@ -1144,6 +1236,7 @@ TEST_P(
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest,
|
TEST_P(OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryLoadUsageEntryForHugeUsageEntryBuffer) {
|
OEMCryptoMemoryLoadUsageEntryForHugeUsageEntryBuffer) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
@@ -1175,6 +1268,7 @@ TEST_P(OEMCryptoUsageTableTest,
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest, OEMCryptoMemoryReportUsageForHugeReportBuffer) {
|
TEST_P(OEMCryptoUsageTableTest, OEMCryptoMemoryReportUsageForHugeReportBuffer) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
GTEST_SKIP() << "Usage tables are not supported.";
|
GTEST_SKIP() << "Usage tables are not supported.";
|
||||||
@@ -1204,6 +1298,7 @@ TEST_P(OEMCryptoUsageTableTest, OEMCryptoMemoryReportUsageForHugeReportBuffer) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest, OEMCryptoMemoryReportUsageForHugePstBuffer) {
|
TEST_P(OEMCryptoUsageTableTest, OEMCryptoMemoryReportUsageForHugePstBuffer) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
GTEST_SKIP() << "Usage tables are not supported.";
|
GTEST_SKIP() << "Usage tables are not supported.";
|
||||||
@@ -1226,6 +1321,7 @@ TEST_P(OEMCryptoUsageTableTest, OEMCryptoMemoryReportUsageForHugePstBuffer) {
|
|||||||
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
TestHugeLengthDoesNotCrashAPI(oemcrypto_function, !kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that API fails gracefully on a huge buffer. */
|
||||||
TEST_P(OEMCryptoUsageTableTest,
|
TEST_P(OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryShrinkUsageTableHeaderForHugeHeaderBufferLength) {
|
OEMCryptoMemoryShrinkUsageTableHeaderForHugeHeaderBufferLength) {
|
||||||
if (!wvoec::global_features.usage_table) {
|
if (!wvoec::global_features.usage_table) {
|
||||||
|
|||||||
@@ -43,6 +43,11 @@
|
|||||||
*
|
*
|
||||||
* @defgroup security Security Tests
|
* @defgroup security Security Tests
|
||||||
* Buffer overflow tests, off-by-one tests, and other security tests.
|
* Buffer overflow tests, off-by-one tests, and other security tests.
|
||||||
|
*
|
||||||
|
* The way the huge buffer tests work is to create a large buffer and then call
|
||||||
|
* the API. The test then loops and doubles the buffer until the API returns an
|
||||||
|
* error. An error is considered a passing test. We expect OEMCrypto to fail
|
||||||
|
* gracefully on a huge buffer rather than crashing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@@ -488,6 +493,7 @@ INSTANTIATE_TEST_SUITE_P(TestAll, OEMCryptoEntitlementLicenseTest,
|
|||||||
/// @addtogroup security
|
/// @addtogroup security
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
|
/** Test that LoadEntitledContentKeys fails gracefully on huge buffer. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyIdLength) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyIdLength) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -498,6 +504,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadEntitledContentKeys fails gracefully on huge buffer. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyIdOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyIdOffset) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -508,6 +515,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadEntitledContentKeys fails gracefully on huge buffer. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyIdLength) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyIdLength) {
|
||||||
@@ -518,6 +526,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyIdOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyIdOffset) {
|
||||||
@@ -528,6 +537,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadEntitledContentKeys fails gracefully on huge substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringEntitlementKeyIdLength) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringEntitlementKeyIdLength) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -538,6 +548,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringEntitlementKeyIdOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringEntitlementKeyIdOffset) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -548,6 +559,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringEntitlementKeyIdLength) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringEntitlementKeyIdLength) {
|
||||||
@@ -558,6 +570,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringEntitlementKeyIdOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringEntitlementKeyIdOffset) {
|
||||||
@@ -568,6 +581,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataIvLength) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataIvLength) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -578,6 +592,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataIvOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataIvOffset) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -588,6 +603,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataIvLength) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataIvLength) {
|
||||||
@@ -598,6 +614,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataIvOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataIvOffset) {
|
||||||
@@ -608,6 +625,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataLength) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataLength) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -618,6 +636,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeSubstringContentKeyDataOffset) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -628,6 +647,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataLength) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataLength) {
|
||||||
@@ -638,6 +658,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoMemoryLicenseTest,
|
OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataOffset) {
|
OEMCryptoMemoryLoadEntitledKeysForOutOfRangeSubstringContentKeyDataOffset) {
|
||||||
@@ -648,6 +669,7 @@ TEST_F(
|
|||||||
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
ASSERT_NE(OEMCrypto_SUCCESS, entitled_message_.LoadKeys());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeEntitlementKeyIdLength) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeEntitlementKeyIdLength) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -658,6 +680,7 @@ TEST_F(OEMCryptoMemoryLicenseTest,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test LoadEntitledContentKeys rejects out of range substring. */
|
||||||
TEST_F(OEMCryptoMemoryLicenseTest,
|
TEST_F(OEMCryptoMemoryLicenseTest,
|
||||||
OEMCryptoMemoryLoadEntitledKeysForHugeContentKeyIdLength) {
|
OEMCryptoMemoryLoadEntitledKeysForHugeContentKeyIdLength) {
|
||||||
TestLoadEntitledKeysForHugeBufferLengths(
|
TestLoadEntitledKeysForHugeBufferLengths(
|
||||||
@@ -1025,6 +1048,7 @@ TEST_P(OEMCryptoEntitlementLicenseTest, ReassociateEntitledKeySessionAPI17) {
|
|||||||
/// @addtogroup security
|
/// @addtogroup security
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on huge buffer. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyIdLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyIdLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1035,6 +1059,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyIdOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyIdOffset) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1044,6 +1069,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyIdLength) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyIdLength) {
|
||||||
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
||||||
@@ -1053,6 +1079,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyIdOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyIdOffset) {
|
||||||
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
||||||
@@ -1062,6 +1089,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataIvLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataIvLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1072,6 +1100,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataIvOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataIvOffset) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1082,6 +1111,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataIvLength) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataIvLength) {
|
||||||
@@ -1093,6 +1123,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataIvOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataIvOffset) {
|
||||||
@@ -1104,6 +1135,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1114,6 +1146,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyDataOffset) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1123,6 +1156,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataLength) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataLength) {
|
||||||
@@ -1134,6 +1168,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyDataOffset) {
|
||||||
@@ -1145,6 +1180,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlIvLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlIvLength) {
|
||||||
@@ -1156,6 +1192,7 @@ TEST_P(
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlIvOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlIvOffset) {
|
||||||
@@ -1167,6 +1204,7 @@ TEST_P(
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlIvLengthAPI16) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlIvLengthAPI16) {
|
||||||
@@ -1179,6 +1217,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlIvOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlIvOffset) {
|
||||||
@@ -1191,6 +1230,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1201,6 +1241,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringKeyControlOffset) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1211,6 +1252,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlLengthAPI16) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlLengthAPI16) {
|
||||||
@@ -1222,6 +1264,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringKeyControlOffset) {
|
||||||
@@ -1233,6 +1276,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyIvLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyIvLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1242,6 +1286,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyIvOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyIvOffset) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1251,6 +1296,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyIvLength) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyIvLength) {
|
||||||
@@ -1263,6 +1309,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyIvOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyIvOffset) {
|
||||||
@@ -1275,6 +1322,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1284,6 +1332,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringEncMacKeyOffset) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1293,6 +1342,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyLength) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyLength) {
|
||||||
@@ -1303,6 +1353,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringEncMacKeyOffset) {
|
||||||
@@ -1313,6 +1364,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringPstLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringPstLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1322,6 +1374,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringPstOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringPstOffset) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1331,6 +1384,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringPstLength) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringPstLength) {
|
||||||
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
||||||
@@ -1340,6 +1394,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringPstOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringPstOffset) {
|
||||||
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(
|
||||||
@@ -1350,6 +1405,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringSrmRestrictionDataLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringSrmRestrictionDataLength) {
|
||||||
@@ -1360,6 +1416,7 @@ TEST_P(
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringSrmRestrictionDataOffset) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageSubstringSrmRestrictionDataOffset) {
|
||||||
@@ -1370,6 +1427,7 @@ TEST_P(
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringSrmRestrictionDataLength) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringSrmRestrictionDataLength) {
|
||||||
@@ -1382,6 +1440,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on out of range substring. */
|
||||||
TEST_P(
|
TEST_P(
|
||||||
OEMCryptoLicenseOverflowTest,
|
OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringSrmRestrictionDataOffset) {
|
OEMCryptoMemoryLoadLicenseForOutOfRangeCoreMessageSubstringSrmRestrictionDataOffset) {
|
||||||
@@ -1394,6 +1453,7 @@ TEST_P(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on huge buffer. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeResponseLength) {
|
OEMCryptoMemoryLoadLicenseForHugeResponseLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1403,6 +1463,7 @@ TEST_P(OEMCryptoLicenseOverflowTest,
|
|||||||
!kCheckStatus, !kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, !kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadLicense fails gracefully on huge buffer. */
|
||||||
TEST_P(OEMCryptoLicenseOverflowTest,
|
TEST_P(OEMCryptoLicenseOverflowTest,
|
||||||
OEMCryptoMemoryLoadLicenseForHugeCoreMessageLength) {
|
OEMCryptoMemoryLoadLicenseForHugeCoreMessageLength) {
|
||||||
TestLoadLicenseForHugeBufferLengths(
|
TestLoadLicenseForHugeBufferLengths(
|
||||||
@@ -1425,6 +1486,7 @@ INSTANTIATE_TEST_SUITE_P(TestAll, OEMCryptoLicenseOverflowTest,
|
|||||||
/// @addtogroup security
|
/// @addtogroup security
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on huge buffer. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeResponseLength) {
|
OEMCryptoMemoryLoadProvisioningForHugeResponseLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1440,6 +1502,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, !kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, !kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on huge buffer. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageLength) {
|
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1455,6 +1518,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, !kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, !kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on huge buffer. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyLength) {
|
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1470,6 +1534,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on huge buffer. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyOffset) {
|
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyOffset) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1485,6 +1550,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoLoadsCertificate,
|
OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyLength) {
|
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyLength) {
|
||||||
@@ -1504,6 +1570,7 @@ TEST_F(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoLoadsCertificate,
|
OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyOffset) {
|
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyOffset) {
|
||||||
@@ -1523,6 +1590,7 @@ TEST_F(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyIvLength) {
|
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyIvLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1539,6 +1607,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyIvOffset) {
|
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyIvOffset) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1555,6 +1624,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoLoadsCertificate,
|
OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyIvLengthAPI16) {
|
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyIvLengthAPI16) {
|
||||||
@@ -1574,6 +1644,7 @@ TEST_F(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoLoadsCertificate,
|
OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyIvOffset) {
|
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyIvOffset) {
|
||||||
@@ -1593,6 +1664,7 @@ TEST_F(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncMessageKeyLength) {
|
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncMessageKeyLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1609,6 +1681,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncMessageKeyOffset) {
|
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncMessageKeyOffset) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1625,6 +1698,7 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
!kCheckStatus, kUpdateCoreMessageSubstringValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoLoadsCertificate,
|
OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncMessageKeyLengthProv30) {
|
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncMessageKeyLengthProv30) {
|
||||||
@@ -1647,6 +1721,7 @@ TEST_F(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that LoadProvisioning fails gracefully on out of range substring. */
|
||||||
TEST_F(
|
TEST_F(
|
||||||
OEMCryptoLoadsCertificate,
|
OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncMessageKeyOffsetProv30) {
|
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncMessageKeyOffsetProv30) {
|
||||||
@@ -1674,6 +1749,9 @@ TEST_F(
|
|||||||
/// @addtogroup security
|
/// @addtogroup security
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_PrepAndSignProvisioningRequest fails gracefully on a
|
||||||
|
* huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryPrepareProvisioningRequestForHugeRequestMessageLength) {
|
OEMCryptoMemoryPrepareProvisioningRequestForHugeRequestMessageLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1689,6 +1767,9 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
kCheckStatus);
|
kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_PrepAndSignProvisioningRequest fails gracefully on a
|
||||||
|
* huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryPrepareProvisioningRequestForHugeSignatureLength) {
|
OEMCryptoMemoryPrepareProvisioningRequestForHugeSignatureLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
@@ -1704,6 +1785,9 @@ TEST_F(OEMCryptoLoadsCertificate,
|
|||||||
!kCheckStatus);
|
!kCheckStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test that OEMCrypto_PrepAndSignProvisioningRequest fails gracefully on a
|
||||||
|
* huge buffer.
|
||||||
|
*/
|
||||||
TEST_F(OEMCryptoLoadsCertificate,
|
TEST_F(OEMCryptoLoadsCertificate,
|
||||||
OEMCryptoMemoryPrepareProvisioningRequestForHugeCoreMessageLength) {
|
OEMCryptoMemoryPrepareProvisioningRequestForHugeCoreMessageLength) {
|
||||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||||
|
|||||||
@@ -178,6 +178,7 @@ TEST_F(OEMCryptoSessionTests, MasterGeneration_IncrementCounterAPI18) {
|
|||||||
ASSERT_TRUE(decrypt_count2 > decrypt_count1);
|
ASSERT_TRUE(decrypt_count2 > decrypt_count1);
|
||||||
ASSERT_TRUE(master_generation_number2 > master_generation_number1);
|
ASSERT_TRUE(master_generation_number2 > master_generation_number1);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(OEMCryptoUsageTableTest,
|
TEST_P(OEMCryptoUsageTableTest,
|
||||||
OEMCryptoMemoryLoadUsageEntryForHugeInvalidUsageEntryNumber) {
|
OEMCryptoMemoryLoadUsageEntryForHugeInvalidUsageEntryNumber) {
|
||||||
LicenseWithUsageEntry entry;
|
LicenseWithUsageEntry entry;
|
||||||
@@ -1745,4 +1746,4 @@ INSTANTIATE_TEST_SUITE_P(TestAPI16, OEMCryptoUsageTableDefragTest,
|
|||||||
INSTANTIATE_TEST_SUITE_P(TestAPI16, OEMCryptoUsageTableTestWallClock,
|
INSTANTIATE_TEST_SUITE_P(TestAPI16, OEMCryptoUsageTableTestWallClock,
|
||||||
Values<uint32_t>(kCurrentAPI));
|
Values<uint32_t>(kCurrentAPI));
|
||||||
|
|
||||||
} // namespace wvoec
|
} // namespace wvoec
|
||||||
|
|||||||
Reference in New Issue
Block a user