Call import & destroy on store
[platform/core/security/key-manager.git] / src / manager / service / ckm-logic.h
index c09b97e..c73fc74 100644 (file)
@@ -35,6 +35,7 @@
 #include <access-control.h>
 #include <certificate-impl.h>
 #include <sys/types.h>
+#include <generic-backend/gkey.h>
 
 #include <platform/decider.h>
 
@@ -49,12 +50,6 @@ struct UserData {
 class CKMLogic {
 public:
     static const uid_t SYSTEM_DB_UID;
-    class Exception
-    {
-    public:
-        DECLARE_EXCEPTION_TYPE(CKM::Exception, Base)
-        DECLARE_EXCEPTION_TYPE(Base, DatabaseLocked)
-    };
 
     CKMLogic();
     CKMLogic(const CKMLogic &) = delete;
@@ -207,6 +202,12 @@ public:
         DataType dataType,
         const PolicySerializable &policy);
 
+    int getKeyForService(const Credentials &cred,
+                         const Name &name,
+                         const Label &label,
+                         const Password& pass,
+                         Crypto::GKeyShPtr& key);
+
 private:
 
     // select private/system database depending on asking uid and owner label.
@@ -377,6 +378,8 @@ private:
 
     int resetUserPasswordHelper(uid_t user, const Password &newPassword);
 
+    int loadAppKey(UserData& handle, const Label& appLabel);
+
     std::map<uid_t, UserData> m_userDataMap;
     AccessControl m_accessControl;
     Crypto::Decider m_decider;