Return proper error for wrong wrapped key type
[platform/core/security/key-manager.git] / src / manager / client / client-manager-impl.cpp
index 4d6e59e..961f31d 100644 (file)
@@ -101,7 +101,7 @@ Manager::Impl::Request::Request(Manager::Impl &impl, Cmd cmd, CKM::ServiceConnec
 {
        static_assert(sizeof cmd <= sizeof(int));
        const auto msgId = m_msgId = ++impl.m_counter;
-       m_retCode = doRequest(m_recv, conn, static_cast<int>(cmd), msgId, std::forward<T>(t)...);
+       m_retCode = doRequest(m_recv, conn, cmd, msgId, std::forward<T>(t)...);
 }
 
 Manager::Impl::Request::operator bool() const {
@@ -216,8 +216,7 @@ int Manager::Impl::getPKCS12(const Alias &alias, const Password &keyPass,
        int msgId = ++m_counter;
        MessageBuffer recv;
 
-       int retCode = doRequest(recv, m_storageConnection,
-                       static_cast<int>(LogicCommand::GET_PKCS12), msgId,
+       int retCode = doRequest(recv, m_storageConnection, LogicCommand::GET_PKCS12, msgId,
                        helper.getName(), helper.getOwner(), keyPass, certPass);
 
        if (CKM_API_SUCCESS != retCode)
@@ -404,7 +403,9 @@ int Manager::Impl::getDataAliasVector(AliasVector &aliasVector)
 
 int Manager::Impl::getKeyAliasInfoVector(AliasInfoVector &aliasInfoVector)
 {
+       EXCEPTION_GUARD_START_CPPAPI
        return getAliasInfoVectorHelper(DataType::DB_KEY_LAST, aliasInfoVector);
+       EXCEPTION_GUARD_END
 }
 
 int Manager::Impl::getKeyEncryptionStatus(const Alias &alias, bool &status)
@@ -414,7 +415,9 @@ int Manager::Impl::getKeyEncryptionStatus(const Alias &alias, bool &status)
 
 int Manager::Impl::getCertificateAliasInfoVector(AliasInfoVector &aliasInfoVector)
 {
+       EXCEPTION_GUARD_START_CPPAPI
        return getAliasInfoVectorHelper(DataType::CERTIFICATE, aliasInfoVector);
+       EXCEPTION_GUARD_END
 }
 
 int Manager::Impl::getCertificateEncryptionStatus(const Alias &alias, bool &status)
@@ -424,7 +427,9 @@ int Manager::Impl::getCertificateEncryptionStatus(const Alias &alias, bool &stat
 
 int Manager::Impl::getDataAliasInfoVector(AliasInfoVector &aliasInfoVector)
 {
+       EXCEPTION_GUARD_START_CPPAPI
        return getAliasInfoVectorHelper(DataType::BINARY_DATA, aliasInfoVector);
+       EXCEPTION_GUARD_END
 }
 
 int Manager::Impl::getDataEncryptionStatus(const Alias &alias, bool &status)
@@ -476,7 +481,7 @@ int Manager::Impl::createKeyAES(
        AliasSupport aliasHelper(keyAlias);
 
        return Request(*this, LogicCommand::CREATE_KEY_AES, m_storageConnection,
-                       static_cast<int>(size), PolicySerializable(policyKey),
+                       size, PolicySerializable(policyKey),
                        aliasHelper.getName(), aliasHelper.getOwner()
                ).maybeDeserialize();
 
@@ -743,6 +748,9 @@ int Manager::Impl::importWrappedKey(const CryptoAlgorithm &params,
 {
        EXCEPTION_GUARD_START_CPPAPI
 
+       if (keyType == KeyType::KEY_NONE)
+               return CKM_API_ERROR_INPUT_PARAM;
+
        AliasSupport wrapping_helper(wrappingKeyAlias);
        AliasSupport helper(alias);