diff --git a/keystore-engine/keystore_backend_hidl.cpp b/keystore-engine/keystore_backend_hidl.cpp
index 37ad9a1..80a3601 100644
--- a/keystore-engine/keystore_backend_hidl.cpp
+++ b/keystore-engine/keystore_backend_hidl.cpp
@@ -37,7 +37,7 @@
         return -1;
     }
 
-    sp<IKeystore> service = IKeystore::getService();
+    sp<IKeystore> service = IKeystore::tryGetService();
     if (service == NULL) {
         ALOGE("could not contact keystore HAL");
         return -1;
@@ -64,7 +64,7 @@
         return -1;
     }
 
-    sp<IKeystore> service = IKeystore::getService();
+    sp<IKeystore> service = IKeystore::tryGetService();
     if (service == NULL) {
         ALOGE("could not contact keystore HAL");
         return -1;
diff --git a/keystore/Android.mk b/keystore/Android.mk
index b379151..5d84565 100644
--- a/keystore/Android.mk
+++ b/keystore/Android.mk
@@ -49,6 +49,7 @@
 	libcutils \
 	libcrypto \
 	libhardware \
+	libwifikeystorehal \
 	libkeystore_binder \
 	liblog \
 	libsoftkeymaster \
@@ -60,7 +61,8 @@
 	libhwbinder \
 	libhidlbase \
 	libhidltransport \
-	android.hardware.keymaster@3.0
+	android.hardware.keymaster@3.0 \
+	android.system.wifi.keystore@1.0
 LOCAL_MODULE := keystore
 LOCAL_MODULE_TAGS := optional
 LOCAL_INIT_RC := keystore.rc
diff --git a/keystore/keystore_get_wifi_hidl.cpp b/keystore/keystore_get_wifi_hidl.cpp
index 971b19d..7dbf20c 100644
--- a/keystore/keystore_get_wifi_hidl.cpp
+++ b/keystore/keystore_get_wifi_hidl.cpp
@@ -39,7 +39,7 @@
         return -1;
     }
 
-    sp<IKeystore> service = IKeystore::getService();
+    sp<IKeystore> service = IKeystore::tryGetService();
     if (service == NULL) {
         ALOGE("could not contact keystore HAL");
         return -1;
diff --git a/keystore/keystore_main.cpp b/keystore/keystore_main.cpp
index 1cdb398..a739c5e 100644
--- a/keystore/keystore_main.cpp
+++ b/keystore/keystore_main.cpp
@@ -21,6 +21,8 @@
 #include <binder/IServiceManager.h>
 
 #include <android/hardware/keymaster/3.0/IHwKeymasterDevice.h>
+#include <android/system/wifi/keystore/1.0/IKeystore.h>
+#include <wifikeystorehal/keystore.h>
 
 #include <cutils/log.h>
 
@@ -38,6 +40,10 @@
  * user-defined password. To keep things simple, buffers are always larger than
  * the maximum space we needed, so boundary checks on buffers are omitted. */
 
+using ::android::system::wifi::keystore::V1_0::IKeystore;
+using ::android::system::wifi::keystore::V1_0::implementation::Keystore;
+using ::android::hardware::configureRpcThreadpool;
+
 /**
  * TODO implement keystore daemon using binderized keymaster HAL.
  */
@@ -97,9 +103,20 @@
         return -1;
     }
 
+    /**
+     * Register the wifi keystore HAL service to run in passthrough mode.
+     * This will spawn off a new thread which will service the HIDL
+     * transactions.
+     */
+    configureRpcThreadpool(1, false /* callerWillJoin */);
+    android::sp<IKeystore> wifiKeystoreHalService = new Keystore();
+    android::status_t err = wifiKeystoreHalService->registerAsService();
+    if (ret != android::OK) {
+        ALOGE("Cannot register wifi keystore HAL service: %d", err);
+    }
+
     /*
-     * We're the only thread in existence, so we're just going to process
-     * Binder transaction as a single-threaded program.
+     * This thread is just going to process Binder transactions.
      */
     android::IPCThreadState::self()->joinThreadPool();
     return 1;
