AES: add generation, save, get support.
[platform/core/security/key-manager.git] / src / manager / client-async / storage-receiver.cpp
index cb9560c..17f8624 100644 (file)
@@ -55,21 +55,27 @@ void StorageReceiver::parseResponse()
     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:
@@ -81,9 +87,6 @@ void StorageReceiver::parseResponse()
     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;
@@ -107,7 +110,7 @@ void StorageReceiver::parseGetCommand()
          return;
     }
 
-    DBDataType type(dataType);
+    DataType type(dataType);
     if (type.isKey())
         m_observer->ReceivedKey(KeyImpl(rawData));
     else if (type.isCertificate())
@@ -118,6 +121,21 @@ void StorageReceiver::parseGetCommand()
         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;
@@ -134,7 +152,7 @@ void StorageReceiver::parseGetListCommand()
     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));
@@ -157,7 +175,7 @@ void StorageReceiver::parseSaveCommand()
          return;
     }
 
-    DBDataType type(dataType);
+    DataType type(dataType);
     if (type.isKey())
         m_observer->ReceivedSaveKey();
     else if (type.isCertificate())
@@ -168,6 +186,20 @@ void StorageReceiver::parseSaveCommand()
         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;