keep history after reset to mnc-dr-dev
diff --git a/keymaster0_engine.cpp b/keymaster0_engine.cpp
index 70c0d89..70987f9 100644
--- a/keymaster0_engine.cpp
+++ b/keymaster0_engine.cpp
@@ -301,6 +301,9 @@
return input_as_bn && BN_ucmp(input_as_bn.get(), rsa->n) >= 0;
}
+#define USER_F_private_transform 100
+#define USER_F_ecdsa_sign 101
+
int Keymaster0Engine::RsaPrivateTransform(RSA* rsa, uint8_t* out, const uint8_t* in,
size_t len) const {
const keymaster_key_blob_t* key_blob = RsaKeyToBlob(rsa);
@@ -315,10 +318,10 @@
if (!Keymaster0Sign(&sign_params, *key_blob, in, len, &signature, &signature_length)) {
if (data_too_large_for_public_modulus(in, len, rsa)) {
ALOGE("Keymaster0 signing failed because data is too large.");
- OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_MODULUS);
+ OPENSSL_PUT_ERROR(RSA, private_transform, RSA_R_DATA_TOO_LARGE_FOR_MODULUS);
} else {
// We don't know what error code is correct; force an "unknown error" return
- OPENSSL_PUT_ERROR(USER, KM_ERROR_UNKNOWN_ERROR);
+ OPENSSL_PUT_ERROR(USER, private_transform, KM_ERROR_UNKNOWN_ERROR);
}
return 0;
}
@@ -364,7 +367,7 @@
if (!Keymaster0Sign(&sign_params, *key_blob, digest, digest_len, &signature,
&signature_length)) {
// We don't know what error code is correct; force an "unknown error" return
- OPENSSL_PUT_ERROR(USER, KM_ERROR_UNKNOWN_ERROR);
+ OPENSSL_PUT_ERROR(USER, ecdsa_sign, KM_ERROR_UNKNOWN_ERROR);
return 0;
}
Eraser eraser(signature.get(), signature_length);