Make KM_PAD_NONE and KM_DIGEST_NONE mean any padding or digest.
Bug: 21777596
Change-Id: I3574156902c8e28b42f36462a9aef3f11ce938d3
diff --git a/android_keymaster_test.cpp b/android_keymaster_test.cpp
index 0f7beea..2b4f5db 100644
--- a/android_keymaster_test.cpp
+++ b/android_keymaster_test.cpp
@@ -460,6 +460,19 @@
EXPECT_EQ(3, GetParam()->keymaster0_calls());
}
+TEST_P(SigningOperationsTest, RsaPaddingNoneAllowsOther) {
+ ASSERT_EQ(KM_ERROR_OK, GenerateKey(AuthorizationSetBuilder()
+ .RsaSigningKey(512, 3)
+ .Digest(KM_DIGEST_NONE)
+ .Padding(KM_PAD_NONE)));
+ string message = "12345678901234567890123456789012";
+ string signature;
+ SignMessage(message, &signature, KM_DIGEST_SHA_2_256, KM_PAD_RSA_PSS);
+
+ if (GetParam()->algorithm_in_hardware(KM_ALGORITHM_RSA))
+ EXPECT_EQ(3, GetParam()->keymaster0_calls());
+}
+
TEST_P(SigningOperationsTest, RsaPkcs1Sha256Success) {
ASSERT_EQ(KM_ERROR_OK, GenerateKey(AuthorizationSetBuilder()
.RsaSigningKey(512, 3)