Refactor common code in generic_crypto_unittest.cpp

Bug: 220056143

Merged from https://widevine-internal-review.googlesource.com/185830

Change-Id: I767c57eaa6e24990b83805490cf8b1ec51903324
This commit is contained in:
nihardamar
2023-10-08 17:56:18 -04:00
committed by Robert Shih
parent b1ac15d021
commit a4158f16ad

View File

@@ -40,6 +40,7 @@ class WvGenericCryptoTest : public WvCdmTestBaseWithEngine {
EnsureProvisioned();
ASSERT_NO_FATAL_FAILURE(holder_.OpenSession());
ASSERT_NO_FATAL_FAILURE(holder_.FetchLicense());
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
ency_id_ = "encrypt-key-----";
ency_key_ = a2b_hex("0102030405060708090a0b0c0d0e0f10");
@@ -89,12 +90,7 @@ class WvGenericCryptoTest : public WvCdmTestBaseWithEngine {
std::string iv_;
};
TEST_F(WvGenericCryptoTest, LoadSpecialKeys) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
}
TEST_F(WvGenericCryptoTest, GenericEncryptGood) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string encrypted = Aes128CbcEncrypt(ency_key_, in_vector_, iv_vector_);
std::string out_buffer;
EXPECT_EQ(NO_ERROR, cdm_engine_.GenericEncrypt(
@@ -104,7 +100,6 @@ TEST_F(WvGenericCryptoTest, GenericEncryptGood) {
}
TEST_F(WvGenericCryptoTest, GenericEncryptNoKey) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string encrypted = Aes128CbcEncrypt(ency_key_, in_vector_, iv_vector_);
std::string out_buffer;
KeyId key_id("no_key");
@@ -115,7 +110,6 @@ TEST_F(WvGenericCryptoTest, GenericEncryptNoKey) {
}
TEST_F(WvGenericCryptoTest, GenericEncryptKeyNotAllowed) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
// Trying to use Decrypt key to encrypt, which is not allowed.
KeyId key_id = dency_id_;
std::string encrypted = Aes128CbcEncrypt(dency_key_, in_vector_, iv_vector_);
@@ -128,7 +122,6 @@ TEST_F(WvGenericCryptoTest, GenericEncryptKeyNotAllowed) {
}
TEST_F(WvGenericCryptoTest, GenericDecryptGood) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string decrypted = Aes128CbcDecrypt(dency_key_, in_vector_, iv_vector_);
std::string out_buffer;
EXPECT_EQ(NO_ERROR, cdm_engine_.GenericDecrypt(
@@ -138,7 +131,6 @@ TEST_F(WvGenericCryptoTest, GenericDecryptGood) {
}
TEST_F(WvGenericCryptoTest, GenericDecryptNoKey) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string decrypted = Aes128CbcDecrypt(dency_key_, in_vector_, iv_vector_);
std::string out_buffer;
KeyId key_id = "no_key";
@@ -149,7 +141,6 @@ TEST_F(WvGenericCryptoTest, GenericDecryptNoKey) {
}
TEST_F(WvGenericCryptoTest, GenericDecryptKeyNotAllowed) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
// Trying to use Encrypt key to decrypt, which is not allowed.
KeyId key_id = ency_id_;
std::string decrypted = Aes128CbcDecrypt(ency_key_, in_vector_, iv_vector_);
@@ -162,7 +153,6 @@ TEST_F(WvGenericCryptoTest, GenericDecryptKeyNotAllowed) {
}
TEST_F(WvGenericCryptoTest, GenericSignGood) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string out_buffer;
std::string signature = SignHMAC(in_buffer_, siggy_key_);
EXPECT_EQ(NO_ERROR, cdm_engine_.GenericSign(
@@ -172,7 +162,6 @@ TEST_F(WvGenericCryptoTest, GenericSignGood) {
}
TEST_F(WvGenericCryptoTest, GenericSignKeyNotAllowed) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
// Wrong key
std::string key_id = vou_id_;
std::string out_buffer;
@@ -185,7 +174,6 @@ TEST_F(WvGenericCryptoTest, GenericSignKeyNotAllowed) {
}
TEST_F(WvGenericCryptoTest, GenericVerifyGood) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string signature = SignHMAC(in_buffer_, vou_key_);
EXPECT_EQ(NO_ERROR, cdm_engine_.GenericVerify(
holder_.session_id(), in_buffer_, vou_id_,
@@ -193,7 +181,6 @@ TEST_F(WvGenericCryptoTest, GenericVerifyGood) {
}
TEST_F(WvGenericCryptoTest, GenericVerifyKeyNotAllowed) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
// Wrong key
std::string key_id = siggy_id_;
std::string signature = SignHMAC(in_buffer_, siggy_key_);
@@ -203,7 +190,6 @@ TEST_F(WvGenericCryptoTest, GenericVerifyKeyNotAllowed) {
}
TEST_F(WvGenericCryptoTest, GenericVerifyBadSignature) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string signature(MAC_KEY_SIZE, 's');
// OEMCrypto error is OEMCrypto_ERROR_SIGNATURE_FAILURE
EXPECT_EQ(UNKNOWN_ERROR, cdm_engine_.GenericVerify(
@@ -212,7 +198,6 @@ TEST_F(WvGenericCryptoTest, GenericVerifyBadSignature) {
}
TEST_F(WvGenericCryptoTest, GenericEncryptDecrypt) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string encrypted = Aes128CbcEncrypt(both_key_, in_vector_, iv_vector_);
std::string out_buffer;
EXPECT_EQ(NO_ERROR, cdm_engine_.GenericEncrypt(
@@ -228,8 +213,6 @@ TEST_F(WvGenericCryptoTest, GenericEncryptDecrypt) {
}
TEST_F(WvGenericCryptoTest, GenericSignVerify) {
ASSERT_NO_FATAL_FAILURE(holder_.LoadLicense());
std::string out_buffer;
std::string signature = SignHMAC(in_buffer_, sign_and_verify_key_);
EXPECT_EQ(NO_ERROR, cdm_engine_.GenericSign(