From: Tomasz Marciniak Date: Wed, 1 Jul 2015 10:26:18 +0000 (+0200) Subject: [KeyManager] remove() implementation. X-Git-Tag: submit/tizen/20150702.103311^2~1^2~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c2438583b35d1735c189ab77d3a2cfce4669f062;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [KeyManager] remove() implementation. [Verification] Code compiles without errors. Change-Id: Idc3a371603b1c50dd2d0f029378d7e48090bd063 Signed-off-by: Tomasz Marciniak --- diff --git a/src/keymanager/keymanager_api.js b/src/keymanager/keymanager_api.js index f63a53ae..af55c9ae 100755 --- a/src/keymanager/keymanager_api.js +++ b/src/keymanager/keymanager_api.js @@ -134,8 +134,8 @@ Key.prototype.save = function() { Key.prototype.remove = function() { xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.KEYMANAGER); - var ret = native.callSync('KeyManager_removeKey', { - key: this + var ret = native.callSync('KeyManager_removeAlias', { + alias: this.name }); if (native.isFailure(ret)) { throw native.getErrorObject(ret); @@ -239,8 +239,8 @@ Certificate.prototype.loadFromFile = function() { Certificate.prototype.remove = function() { xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.KEYMANAGER); - var ret = native.callSync('KeyManager_removeCertificate', { - certificate: this + var ret = native.callSync('KeyManager_removeAlias', { + alias: this.name }); if (native.isFailure(ret)) { throw native.getErrorObject(ret); @@ -304,8 +304,8 @@ Data.prototype.save = function() { Data.prototype.remove = function() { xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.KEYMANAGER); - var ret = native.callSync('KeyManager_removeData', { - data: this + var ret = native.callSync('KeyManager_removeAlias', { + alias: this.name }); if (native.isFailure(ret)) { throw native.getErrorObject(ret); diff --git a/src/keymanager/keymanager_instance.cc b/src/keymanager/keymanager_instance.cc index 597ce374..ea0c06b6 100755 --- a/src/keymanager/keymanager_instance.cc +++ b/src/keymanager/keymanager_instance.cc @@ -122,8 +122,8 @@ KeyManagerInstance::KeyManagerInstance() { std::bind(&KeyManagerInstance::GetKey, this, _1, _2)); RegisterSyncHandler("KeyManager_saveKey", std::bind(&KeyManagerInstance::SaveKey, this, _1, _2)); - RegisterSyncHandler("KeyManager_removeKey", - std::bind(&KeyManagerInstance::RemoveKey, this, _1, _2)); + RegisterSyncHandler("KeyManager_removeAlias", + std::bind(&KeyManagerInstance::RemoveAlias, this, _1, _2)); RegisterSyncHandler("KeyManager_generateKeyPair", std::bind(&KeyManagerInstance::GenerateKeyPair, this, _1, _2)); RegisterSyncHandler("KeyManager_getCertificate", @@ -132,12 +132,8 @@ KeyManagerInstance::KeyManagerInstance() { std::bind(&KeyManagerInstance::SaveCertificate, this, _1, _2)); RegisterSyncHandler("KeyManager_loadCertificateFromFile", std::bind(&KeyManagerInstance::LoadCertificateFromFile, this, _1, _2)); - RegisterSyncHandler("KeyManager_removeCertificate", - std::bind(&KeyManagerInstance::RemoveCertificate, this, _1, _2)); RegisterSyncHandler("KeyManager_saveData", std::bind(&KeyManagerInstance::SaveData, this, _1, _2)); - RegisterSyncHandler("KeyManager_removeData", - std::bind(&KeyManagerInstance::RemoveData, this, _1, _2)); RegisterSyncHandler("KeyManager_getData", std::bind(&KeyManagerInstance::GetData, this, _1, _2)); RegisterSyncHandler("KeyManager_createSignature", @@ -234,9 +230,29 @@ void KeyManagerInstance::SaveKey(const picojson::value& args, std::shared_ptr(new picojson::value(picojson::object()))); } -void KeyManagerInstance::RemoveKey(const picojson::value& args, +void KeyManagerInstance::RemoveAlias(const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + + const std::string& alias = args.get("alias").get(); + int ret = ckmc_remove_alias(alias.c_str()); + + if (CKMC_ERROR_NONE != ret) { + PlatformResult result = PlatformResult(ErrorCode::NO_ERROR); + switch(ret) { + case CKMC_ERROR_INVALID_PARAMETER: + result = PlatformResult(ErrorCode::INVALID_VALUES_ERR, "Invalid parameter passed"); + break; + case CKMC_ERROR_DB_ALIAS_UNKNOWN: + result = PlatformResult(ErrorCode::NOT_FOUND_ERR, "Alias not found"); + break; + default: + result = PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to remove alias"); + } + ReportError(result, &out); + } else { + ReportSuccess(out); + } } void KeyManagerInstance::GenerateKeyPair(const picojson::value& args, @@ -366,21 +382,11 @@ void KeyManagerInstance::LoadCertificateFromFile(const picojson::value& args, LoggerD("Enter"); } -void KeyManagerInstance::RemoveCertificate(const picojson::value& args, - picojson::object& out) { - LoggerD("Enter"); -} - void KeyManagerInstance::SaveData(const picojson::value& args, picojson::object& out) { LoggerD("Enter"); } -void KeyManagerInstance::RemoveData(const picojson::value& args, - picojson::object& out) { - LoggerD("Enter"); -} - void KeyManagerInstance::GetData(const picojson::value& args, picojson::object& out) { LoggerD("Enter"); diff --git a/src/keymanager/keymanager_instance.h b/src/keymanager/keymanager_instance.h index 500e89f9..dfc1a235 100755 --- a/src/keymanager/keymanager_instance.h +++ b/src/keymanager/keymanager_instance.h @@ -34,15 +34,13 @@ class KeyManagerInstance : public common::ParsedInstance { 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); + void RemoveAlias(const picojson::value& args, picojson::object& out); void GenerateKeyPair(const picojson::value& args, picojson::object& out); void GetCertificate(const picojson::value& args, picojson::object& out); void SaveCertificate(const picojson::value& args, picojson::object& out); void LoadCertificateFromFile(const picojson::value& args, picojson::object& out); - void RemoveCertificate(const picojson::value& args, picojson::object& out); void SaveData(const picojson::value& args, picojson::object& out); - void RemoveData(const picojson::value& args, picojson::object& out); void GetData(const picojson::value& args, picojson::object& out); void CreateSignature(const picojson::value& args, picojson::object& out); void VerifySignature(const picojson::value& args, picojson::object& out);