Fix RSA and ECDSA key import in softkeymaster.
Bug: 20055613
Change-Id: Ie1998476659cb4c9e1311f0391cc3a6ecb9204ca
diff --git a/google_keymaster_test_utils.cpp b/google_keymaster_test_utils.cpp
index 7f39478..34bc1dd 100644
--- a/google_keymaster_test_utils.cpp
+++ b/google_keymaster_test_utils.cpp
@@ -219,8 +219,11 @@
keymaster_error_t Keymaster1Test::BeginOperation(keymaster_purpose_t purpose,
const AuthorizationSet& input_set,
- AuthorizationSet* output_set) {
- AuthorizationSet additional_params(client_params_, array_length(client_params_));
+ AuthorizationSet* output_set,
+ bool use_client_params) {
+ AuthorizationSet additional_params;
+ if (use_client_params)
+ additional_params.push_back(AuthorizationSet(client_params_, array_length(client_params_)));
additional_params.push_back(input_set);
keymaster_key_param_t* out_params;
@@ -299,9 +302,11 @@
return device()->abort(device(), op_handle_);
}
-string Keymaster1Test::ProcessMessage(keymaster_purpose_t purpose, const string& message) {
+string Keymaster1Test::ProcessMessage(keymaster_purpose_t purpose, const string& message,
+ bool use_client_params) {
AuthorizationSet input_params;
- EXPECT_EQ(KM_ERROR_OK, BeginOperation(purpose, input_params, NULL /* output_params */));
+ EXPECT_EQ(KM_ERROR_OK,
+ BeginOperation(purpose, input_params, NULL /* output_params */, use_client_params));
string result;
size_t input_consumed;
@@ -326,9 +331,10 @@
}
string Keymaster1Test::ProcessMessage(keymaster_purpose_t purpose, const string& message,
- const string& signature) {
+ const string& signature, bool use_client_params) {
AuthorizationSet input_params;
- EXPECT_EQ(KM_ERROR_OK, BeginOperation(purpose, input_params, NULL /* output_params */));
+ EXPECT_EQ(KM_ERROR_OK,
+ BeginOperation(purpose, input_params, NULL /* output_params */, use_client_params));
string result;
size_t input_consumed;
@@ -338,15 +344,16 @@
return result;
}
-void Keymaster1Test::SignMessage(const string& message, string* signature) {
+void Keymaster1Test::SignMessage(const string& message, string* signature, bool use_client_params) {
SCOPED_TRACE("SignMessage");
- *signature = ProcessMessage(KM_PURPOSE_SIGN, message);
+ *signature = ProcessMessage(KM_PURPOSE_SIGN, message, use_client_params);
EXPECT_GT(signature->size(), 0);
}
-void Keymaster1Test::VerifyMessage(const string& message, const string& signature) {
+void Keymaster1Test::VerifyMessage(const string& message, const string& signature,
+ bool use_client_params) {
SCOPED_TRACE("VerifyMessage");
- ProcessMessage(KM_PURPOSE_VERIFY, message, signature);
+ ProcessMessage(KM_PURPOSE_VERIFY, message, signature, use_client_params);
}
string Keymaster1Test::EncryptMessage(const string& message, string* generated_nonce) {