No need to deliver separate methods to remove keys, certs or data.
Item is unambiguosly identified by <name, label> pair.
Change-Id: Ice2c418d66fd4f4b776ac752d8d5c6a779ad3b5a
virtual void ReceivedSaveCertificate() {}
virtual void ReceivedSaveData() {}
- virtual void ReceivedRemovedKey() {}
- virtual void ReceivedRemovedCertificate() {}
- virtual void ReceivedRemovedData() {}
+ virtual void ReceivedRemovedAlias() {}
virtual void ReceivedKey(Key &&) {}
virtual void ReceivedCertificate(Certificate &&) {}
const RawBuffer& data,
const Policy& policy);
- void removeKey(const ObserverPtr& observer, const Alias& alias);
- void removeCertificate(const ObserverPtr& observer, const Alias& alias);
- void removeData(const ObserverPtr& observer, const Alias& alias);
+ void removeAlias(const ObserverPtr& observer, const Alias& alias);
void getKey(const ObserverPtr& observer, const Alias& alias, const Password& password);
void getCertificate(const ObserverPtr& observer, const Alias& alias, const Password& password);
virtual int saveCertificate(const Alias &alias, const CertificateShPtr &cert, const Policy &policy) = 0;
/*
- * Data must be extractable. If you set extractable bit to false funciton will
+ * Data must be extractable. If you set extractable bit to false function will
* return ERROR_INPUT_PARAM.
*/
virtual int saveData(const Alias &alias, const RawBuffer &data, const Policy &policy) = 0;
- virtual int removeKey(const Alias &alias) = 0;
- virtual int removeCertificate(const Alias &alias) = 0;
- virtual int removeData(const Alias &alias) = 0;
+ virtual int removeAlias(const Alias &alias) = 0;
virtual int getKey(const Alias &alias, const Password &password, KeyShPtr &key) = 0;
virtual int getCertificate(
}, [&observer](int error){ observer->ReceivedError(error); } );
}
-void ManagerAsync::Impl::removeBinaryData(const ManagerAsync::ObserverPtr& observer,
- const Alias& alias,
- DBDataType dataType)
+void ManagerAsync::Impl::removeAlias(const ManagerAsync::ObserverPtr& observer,
+ const Alias& alias)
{
observerCheck(observer);
if (alias.empty()) {
sendToStorage(observer,
static_cast<int>(LogicCommand::REMOVE),
m_counter,
- static_cast<int>(dataType),
helper.getName(),
helper.getLabel());
}, [&observer](int error){ observer->ReceivedError(error); } );
const RawBuffer& rawData,
const Policy& policy);
- void removeBinaryData(
+ void removeAlias(
const ManagerAsync::ObserverPtr& observer,
- const Alias &alias,
- DBDataType dataType);
+ const Alias &alias);
void getBinaryData(
const ManagerAsync::ObserverPtr& observer,
m_impl->saveData(observer, alias, data, policy);
}
-void ManagerAsync::removeKey(const ObserverPtr& observer, const Alias& alias)
+void ManagerAsync::removeAlias(const ObserverPtr& observer, const Alias& alias)
{
- m_impl->removeBinaryData(observer, alias, DBDataType::DB_KEY_FIRST);
-}
-
-void ManagerAsync::removeCertificate(const ObserverPtr& observer, const Alias& alias)
-{
- m_impl->removeBinaryData(observer, alias, DBDataType::CERTIFICATE);
-}
-
-void ManagerAsync::removeData(const ObserverPtr& observer, const Alias& alias)
-{
- m_impl->removeBinaryData(observer, alias, DBDataType::BINARY_DATA);
+ m_impl->removeAlias(observer, alias);
}
void ManagerAsync::getKey(const ObserverPtr& observer, const Alias& alias, const Password& password)
void StorageReceiver::parseRemoveCommand()
{
- int dataType = 0, retCode = 0;
- m_buffer.Deserialize(retCode, dataType);
+ int retCode = 0;
+ m_buffer.Deserialize(retCode);
// check error code
if (retCode != CKM_API_SUCCESS) {
return;
}
- switch(type(dataType))
- {
- case DataType::KEY:
- m_observer->ReceivedSaveKey();
- break;
- case DataType::CERT:
- m_observer->ReceivedSaveCertificate();
- break;
- case DataType::DATA:
- m_observer->ReceivedSaveData();
- break;
- }
+ m_observer->ReceivedRemovedAlias();
}
void StorageReceiver::parseGetChainCertCommand()
return CKMC_ERROR_INVALID_PARAMETER;
}
- int ret = mgr->removeKey(alias);
+ int ret = mgr->removeAlias(alias);
return to_ckmc_error(ret);
}
}
CKM::ManagerShPtr mgr = CKM::Manager::create();
- int ret = mgr->removeCertificate(alias);
+ int ret = mgr->removeAlias(alias);
return to_ckmc_error(ret);
}
}
CKM::ManagerShPtr mgr = CKM::Manager::create();
- int ret = mgr->removeData(alias);
+ int ret = mgr->removeAlias(alias);
return to_ckmc_error(ret);
}
return saveBinaryData(alias, DBDataType::BINARY_DATA, rawData, policy);
}
-int ManagerImpl::removeBinaryData(const Alias &alias, DBDataType dataType)
+int ManagerImpl::removeAlias(const Alias &alias)
{
return try_catch([&] {
if (alias.empty())
AliasSupport helper(alias);
auto send = MessageBuffer::Serialize(static_cast<int>(LogicCommand::REMOVE),
m_counter,
- static_cast<int>(dataType),
helper.getName(),
helper.getLabel());
int command;
int counter;
- int opType;
- recv.Deserialize(command, counter, retCode, opType);
+ recv.Deserialize(command, counter, retCode);
if (counter != m_counter) {
return CKM_API_ERROR_UNKNOWN;
});
}
-int ManagerImpl::removeKey(const Alias &alias) {
- return removeBinaryData(alias, DBDataType::KEY_RSA_PUBLIC);
-}
-
-int ManagerImpl::removeCertificate(const Alias &alias) {
- return removeBinaryData(alias, DBDataType::CERTIFICATE);
-}
-
-int ManagerImpl::removeData(const Alias &alias) {
- return removeBinaryData(alias, DBDataType::BINARY_DATA);
-}
-
int ManagerImpl::getBinaryData(
const Alias &alias,
DBDataType sendDataType,
virtual ~ManagerImpl(){}
int saveKey(const Alias &alias, const KeyShPtr &key, const Policy &policy);
- int removeKey(const Alias &alias);
int getKey(const Alias &alias, const Password &password, KeyShPtr &key);
int getKeyAliasVector(AliasVector &aliasVector);
int saveCertificate(const Alias &alias, const CertificateShPtr &cert, const Policy &policy);
- int removeCertificate(const Alias &alias);
int getCertificate(const Alias &alias, const Password &password, CertificateShPtr &cert);
int getCertificateAliasVector(AliasVector &aliasVector);
int saveData(const Alias &alias, const RawBuffer &rawData, const Policy &policy);
- int removeData(const Alias &alias);
int getData(const Alias &alias, const Password &password, RawBuffer &cert);
int getDataAliasVector(AliasVector &aliasVector);
+ int removeAlias(const Alias &alias);
+
int createKeyPairRSA(
const int size, // size in bits [1024, 2048, 4096]
const Alias &privateKeyAlias,
const RawBuffer &rawData,
const Policy &policy);
- int removeBinaryData(
- const Alias &alias,
- DBDataType dataType);
-
int getBinaryData(
const Alias &alias,
DBDataType sendDataType,
RawBuffer CKMLogic::removeData(
const Credentials &cred,
int commandId,
- DBDataType dataType,
const Name &name,
const Label &label)
{
auto response = MessageBuffer::Serialize(static_cast<int>(LogicCommand::REMOVE),
commandId,
- retCode,
- static_cast<int>(dataType));
+ retCode);
return response.Pop();
}
RawBuffer removeData(
const Credentials &cred,
int commandId,
- DBDataType dataType,
const Name &name,
const Label &label);
}
case LogicCommand::REMOVE:
{
- buffer.Deserialize(tmpDataType, name, label);
+ buffer.Deserialize(name, label);
return m_logic->removeData(
cred,
msgID,
- static_cast<DBDataType>(tmpDataType),
name,
label);
}