Add a HIDL-based keystore_get variant

Create a "keystore_get" library that uses the HIDL path insted
of using binder directly.

Bug: 34603782
Test: Able to connect to wifi passpoint networks.
Change-Id: I0f545ea104e3f27bebd262bc5a2e79f6b517c972
diff --git a/keystore-engine/Android.mk b/keystore-engine/Android.mk
index 2264390..3041aa3 100644
--- a/keystore-engine/Android.mk
+++ b/keystore-engine/Android.mk
@@ -42,7 +42,7 @@
 
 # This builds a variant of libkeystore-engine that uses a HIDL HAL
 # owned by the WiFi user to perform signing operations.
-LOCAL_MODULE := libkeystore-engine-wifi
+LOCAL_MODULE := libkeystore-engine-wifi-hidl
 
 LOCAL_SRC_FILES := \
 	android_engine.cpp \
diff --git a/keystore-engine/keystore_backend_binder.cpp b/keystore-engine/keystore_backend_binder.cpp
index 181bd65..dce8242 100644
--- a/keystore-engine/keystore_backend_binder.cpp
+++ b/keystore-engine/keystore_backend_binder.cpp
@@ -54,7 +54,7 @@
         return -1;
     }
 
-    *reply = reply_vec.data();
+    *reply = reply_vec.releaseData();
     *reply_len = reply_vec.size();
     return 0;
 }
@@ -76,7 +76,7 @@
         return -1;
     }
 
-    *pubkey = pubkey_vec.data();
+    *pubkey = pubkey_vec.releaseData();
     *pubkey_len = pubkey_vec.size();
     return 0;
 }
diff --git a/keystore-engine/keystore_backend_hidl.cpp b/keystore-engine/keystore_backend_hidl.cpp
index b791afa..37ad9a1 100644
--- a/keystore-engine/keystore_backend_hidl.cpp
+++ b/keystore-engine/keystore_backend_hidl.cpp
@@ -38,9 +38,8 @@
     }
 
     sp<IKeystore> service = IKeystore::getService();
-
     if (service == NULL) {
-        ALOGE("could not contact keystore");
+        ALOGE("could not contact keystore HAL");
         return -1;
     }
 
@@ -66,9 +65,8 @@
     }
 
     sp<IKeystore> service = IKeystore::getService();
-
     if (service == NULL) {
-        ALOGE("could not contact keystore");
+        ALOGE("could not contact keystore HAL");
         return -1;
     }