keystore-engine: Couple of bug fixes for HIDL keystore

Fixes for issues found in wifi integration tests:
1. ensure_keystore_engine() needs to be invoked before we access
|g_keystore_backend|.
2. The HIDL backends need to return 0 when the operation succeeds.

Bug: 34603782
Test: Manual tests.
Change-Id: If61d3bef27dab6f4fb73113f0ed6d3e784a29f32
diff --git a/keystore-engine/keystore_backend_hidl.cpp b/keystore-engine/keystore_backend_hidl.cpp
index 80a3601..b00cf4e 100644
--- a/keystore-engine/keystore_backend_hidl.cpp
+++ b/keystore-engine/keystore_backend_hidl.cpp
@@ -54,7 +54,10 @@
     };
     Return<void> ret = service->sign(
         key_id, std::vector<uint8_t>(in, in + len), cb);
-    return ret.isOk() && success;
+    if (!ret.isOk() || !success) {
+        return 1;
+    }
+    return 0;
 }
 
 int32_t KeystoreBackendHidl::get_pubkey(
@@ -80,5 +83,8 @@
       }
     };
     Return<void> ret = service->getPublicKey(key_id, cb);
-    return ret.isOk() && success;
+    if (!ret.isOk() || !success) {
+        return 1;
+    }
+    return 0;
 }