From 4cb809d3e73a822f3ebe9d709ff141a76eee17ab Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciezkowski
Date: Tue, 28 Apr 2015 11:47:52 +0200
Subject: [PATCH] [KeyManager] getCertificateAliasList and getDataAliasList
[Verification]
console.log("key list size: " + tizen.keymanager.getKeyAliasList().length);
console.log("cert list size: " + tizen.keymanager.getCertificatesAliasList().length);
console.log("data list size: " + tizen.keymanager.getDataAliasList().length);
Change-Id: Ieeda0feaa7bbc09a20851e4bf2b9ed6533fcc75b
Signed-off-by: Przemyslaw Ciezkowski
---
src/keymanager/keymanager_instance.cc | 41 ++++++++++++++++++++++++++++++-----
src/keymanager/keymanager_instance.h | 5 +++++
2 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/src/keymanager/keymanager_instance.cc b/src/keymanager/keymanager_instance.cc
index f2a83a7..bcd665f 100644
--- a/src/keymanager/keymanager_instance.cc
+++ b/src/keymanager/keymanager_instance.cc
@@ -27,6 +27,10 @@ KeyManagerInstance::KeyManagerInstance() {
RegisterSyncHandler("KeyManager_getKeyAliasList",
std::bind(&KeyManagerInstance::GetKeyAliasList, this, _1, _2));
+ RegisterSyncHandler("KeyManager_getCertificatesAliasList",
+ std::bind(&KeyManagerInstance::GetCertificateAliasList, this, _1, _2));
+ RegisterSyncHandler("KeyManager_getDataAliasList",
+ std::bind(&KeyManagerInstance::GetDataAliasList, this, _1, _2));
RegisterSyncHandler("KeyManager_getKey",
std::bind(&KeyManagerInstance::GetKey, this, _1, _2));
RegisterSyncHandler("KeyManager_saveKey",
@@ -40,15 +44,15 @@ KeyManagerInstance::KeyManagerInstance() {
KeyManagerInstance::~KeyManagerInstance() {
}
-void KeyManagerInstance::GetKeyAliasList(const picojson::value& args,
- picojson::object& out) {
+void KeyManagerInstance::GetAliasList(
+ std::function coreFunc, picojson::object& out) {
LoggerD("Enter");
CKM::AliasVector result;
- int ret = CKM::Manager::create()->getKeyAliasVector(result);
+ int ret = coreFunc(result);
if (ret != CKM_API_SUCCESS) {
- LoggerE("Failed to fetch list of key alias: %d", ret);
+ LoggerE("Failed to fetch list of alias: %d", ret);
ReportError(common::PlatformResult(common::ErrorCode::UNKNOWN_ERR,
- "Failed to fetch list of key alias"), &out);
+ "Failed to fetch list of alias"), &out);
} else {
picojson::array aliases;
for (auto& item: result) {
@@ -59,6 +63,33 @@ void KeyManagerInstance::GetKeyAliasList(const picojson::value& args,
}
}
+void KeyManagerInstance::GetKeyAliasList(const picojson::value& args,
+ picojson::object& out) {
+ LoggerD("Enter");
+ using std::placeholders::_1;
+ GetAliasList(
+ std::bind(&CKM::Manager::getKeyAliasVector, CKM::Manager::create(), _1),
+ out);
+}
+
+void KeyManagerInstance::GetCertificateAliasList(const picojson::value& args,
+ picojson::object& out) {
+ LoggerD("Enter");
+ using std::placeholders::_1;
+ GetAliasList(
+ std::bind(&CKM::Manager::getCertificateAliasVector, CKM::Manager::create(), _1),
+ out);
+}
+
+void KeyManagerInstance::GetDataAliasList(const picojson::value& args,
+ picojson::object& out) {
+ LoggerD("Enter");
+ using std::placeholders::_1;
+ GetAliasList(
+ std::bind(&CKM::Manager::getDataAliasVector, CKM::Manager::create(), _1),
+ out);
+}
+
void KeyManagerInstance::SaveKey(const picojson::value& args,
picojson::object& out) {
LoggerD("Enter");
diff --git a/src/keymanager/keymanager_instance.h b/src/keymanager/keymanager_instance.h
index 1b5cabe..a842b0b 100644
--- a/src/keymanager/keymanager_instance.h
+++ b/src/keymanager/keymanager_instance.h
@@ -22,7 +22,12 @@ class KeyManagerInstance :
void OnSaveKey(double callbackId, const common::PlatformResult& result);
void OnCreateKeyPair(double callbackId, const common::PlatformResult& result);
private:
+ void GetAliasList(std::function coreFunc,
+ picojson::object& out);
void GetKeyAliasList(picojson::value const& args, picojson::object& out);
+ void GetCertificateAliasList(picojson::value const& args,
+ picojson::object& out);
+ void GetDataAliasList(picojson::value const& args, picojson::object& out);
void GetKey(const picojson::value& args, picojson::object& out);
void SaveKey(const picojson::value& args, picojson::object& out);
void RemoveKey(const picojson::value& args, picojson::object& out);
--
2.7.4