Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b393b089 authored by Seth Moore's avatar Seth Moore
Browse files

Don't fail if TAG_ALLOW_WHILE_ON_BODY is missing

The TAG_ALLOW_WHILE_ON_BODY authorization is not required to be
supported, and if it is not supported it's a noop. Don't expect the tag
to fail with UNSUPPORTED_TAG on devices that don't support it.

Test: VtsAidlKeyMintTargetTest
Bug: 192222727
Change-Id: I2e80ca59151e79f595a65cae94ac966b4ba7020d
Merged-In: I2e80ca59151e79f595a65cae94ac966b4ba7020d
parent ee86375d
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -1493,9 +1493,8 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationTags) {
            tag.tag == TAG_ROLLBACK_RESISTANCE) {
            continue;
        }
        if (result == ErrorCode::UNSUPPORTED_TAG &&
            (tag.tag == TAG_ALLOW_WHILE_ON_BODY || tag.tag == TAG_TRUSTED_USER_PRESENCE_REQUIRED)) {
            // Optional tag not supported by this KeyMint implementation.
        if (result == ErrorCode::UNSUPPORTED_TAG && tag.tag == TAG_TRUSTED_USER_PRESENCE_REQUIRED) {
            // Tag not required to be supported by all KeyMint implementations.
            continue;
        }
        ASSERT_EQ(result, ErrorCode::OK);
@@ -1507,9 +1506,8 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationTags) {

        AuthorizationSet hw_enforced = HwEnforcedAuthorizations(key_characteristics);
        AuthorizationSet sw_enforced = SwEnforcedAuthorizations(key_characteristics);
        if (tag.tag != TAG_ATTESTATION_APPLICATION_ID) {
            // Expect to find most of the extra tags in the key characteristics
            // of the generated key (but not for ATTESTATION_APPLICATION_ID).
        // Some tags are optional, so don't require them to be in the enforcements.
        if (tag.tag != TAG_ATTESTATION_APPLICATION_ID && tag.tag != TAG_ALLOW_WHILE_ON_BODY) {
            EXPECT_TRUE(hw_enforced.Contains(tag.tag) || sw_enforced.Contains(tag.tag))
                    << tag << " not in hw:" << hw_enforced << " nor sw:" << sw_enforced;
        }