switch (static_cast<LogicCommand>(command)) {
case LogicCommand::GET:
parseGetCommand();
- break ;
+ break;
+ case LogicCommand::GET_PKCS12:
+ parseGetPKCS12Command();
+ break;
case LogicCommand::GET_LIST:
parseGetListCommand();
break;
case LogicCommand::SAVE:
parseSaveCommand();
break;
+ case LogicCommand::SAVE_PKCS12:
+ parseSavePKCS12Command();
+ break;
case LogicCommand::REMOVE:
parseRemoveCommand();
break;
- case LogicCommand::CREATE_KEY_PAIR_RSA:
- parseRetCode(&ManagerAsync::Observer::ReceivedCreateKeyPairRSA);
+ case LogicCommand::CREATE_KEY_AES:
+ parseRetCode(&ManagerAsync::Observer::ReceivedCreateKeyAES);
break;
- case LogicCommand::CREATE_KEY_PAIR_ECDSA:
- parseRetCode(&ManagerAsync::Observer::ReceivedCreateKeyPairECDSA);
+ case LogicCommand::CREATE_KEY_PAIR:
+ parseRetCode(&ManagerAsync::Observer::ReceivedCreateKeyPair);
break;
case LogicCommand::GET_CHAIN_CERT:
case LogicCommand::GET_CHAIN_ALIAS:
case LogicCommand::VERIFY_SIGNATURE:
parseRetCode(&ManagerAsync::Observer::ReceivedVerifySignature);
break;
- case LogicCommand::CREATE_KEY_PAIR_DSA:
- parseRetCode(&ManagerAsync::Observer::ReceivedCreateKeyPairDSA);
- break;
case LogicCommand::SET_PERMISSION:
parseRetCode(&ManagerAsync::Observer::ReceivedSetPermission);
break;
return;
}
- DBDataType type(dataType);
+ DataType type(dataType);
if (type.isKey())
m_observer->ReceivedKey(KeyImpl(rawData));
else if (type.isCertificate())
m_observer->ReceivedError(CKM_API_ERROR_BAD_RESPONSE);
}
+void StorageReceiver::parseGetPKCS12Command()
+{
+ int retCode;
+ PKCS12Serializable gotPkcs;
+ m_buffer.Deserialize(retCode, gotPkcs);
+
+ // check error code
+ if (retCode != CKM_API_SUCCESS) {
+ m_observer->ReceivedError(retCode);
+ return;
+ }
+
+ m_observer->ReceivedPKCS12(std::make_shared<PKCS12Impl>(std::move(gotPkcs)));
+}
+
void StorageReceiver::parseGetListCommand()
{
int dataType = 0, retCode = 0;
for(const auto &it : labelNameVector)
aliasVector.push_back( AliasSupport::merge(it.first, it.second) );
- DBDataType type(dataType);
+ DataType type(dataType);
if (type.isKey())
m_observer->ReceivedKeyAliasVector(std::move(aliasVector));
return;
}
- DBDataType type(dataType);
+ DataType type(dataType);
if (type.isKey())
m_observer->ReceivedSaveKey();
else if (type.isCertificate())
m_observer->ReceivedError(CKM_API_ERROR_BAD_RESPONSE);
}
+void StorageReceiver::parseSavePKCS12Command()
+{
+ int retCode = 0;
+ m_buffer.Deserialize(retCode);
+
+ // check error code
+ if (retCode != CKM_API_SUCCESS) {
+ m_observer->ReceivedError(retCode);
+ return;
+ }
+
+ m_observer->ReceivedSavePKCS12();
+}
+
void StorageReceiver::parseRemoveCommand()
{
int retCode = 0;