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

Commit 75905a5f authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "KeyMint: Test Ecdsa key generation without curve" am: cff8c9fb

parents b1165847 cff8c9fb
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -2447,6 +2447,29 @@ TEST_P(NewKeyGenerationTest, EcdsaInvalidCurve) {
                                  .SetDefaultValidity()));
}

/*
 * NewKeyGenerationTest.EcdsaMissingCurve
 *
 * Verifies that EC key generation fails if EC_CURVE not specified after KeyMint V2.
 */
TEST_P(NewKeyGenerationTest, EcdsaMissingCurve) {
    if (AidlVersion() < 2) {
        /*
         * The KeyMint V1 spec required that EC_CURVE be specified for EC keys.
         * However, this was not checked at the time so we can only be strict about checking this
         * for implementations of KeyMint version 2 and above.
         */
        GTEST_SKIP() << "Requiring EC_CURVE only strict since KeyMint v2";
    }
    /* If EC_CURVE not provided, generateKey
     * must return ErrorCode::UNSUPPORTED_KEY_SIZE or ErrorCode::UNSUPPORTED_EC_CURVE.
     */
    auto result = GenerateKey(
            AuthorizationSetBuilder().EcdsaKey(256).Digest(Digest::NONE).SetDefaultValidity());
    ASSERT_TRUE(result == ErrorCode::UNSUPPORTED_KEY_SIZE ||
                result == ErrorCode::UNSUPPORTED_EC_CURVE);
}

/*
 * NewKeyGenerationTest.EcdsaMismatchKeySize
 *