AES key creation API
[platform/core/security/key-manager.git] / src / include / ckm / ckm-manager.h
index a4ad4e1..920953b 100644 (file)
@@ -95,6 +95,11 @@ public:
         const Policy &policyPrivateKey = Policy(),
         const Policy &policyPublicKey = Policy()) = 0;
 
+    virtual int createKeyAES(
+        const int size,              // size in bits [128, 192, 256]
+        const Alias &keyAlias,
+        const Policy &policyKey = Policy()) = 0;
+
     virtual int getCertificateChain(
         const CertificateShPtr &certificate,
         const CertificateShPtrVector &untrustedCertificates,
@@ -132,6 +137,17 @@ public:
 
     virtual int setPermission(const Alias &alias, const Label &accessor, PermissionMask permissionMask) = 0;
 
+    virtual int encrypt(const CryptoAlgorithm &algo,
+                        const Alias &keyAlias,
+                        const Password &password,
+                        const RawBuffer& plain,
+                        RawBuffer& encrypted) = 0;
+
+    virtual int decrypt(const CryptoAlgorithm &algo,
+                        const Alias &keyAlias,
+                        const Password &password,
+                        const RawBuffer& encrypted,
+                        RawBuffer& decrypted) = 0;
 
     static ManagerShPtr create();
 //    static ManagerShPtr getManager(int uid); // TODO