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