CKM: Process identification test. 60/59460/1
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>
Mon, 15 Feb 2016 11:26:24 +0000 (12:26 +0100)
committerBartlomiej Grzelewski <b.grzelewski@samsung.com>
Mon, 15 Feb 2016 15:04:41 +0000 (16:04 +0100)
Change-Id: I829c31ff3601ffbbab7d3ae4a72e8128333fabe0

src/ckm-integration/group01.cpp

index 7356f3a..c40da84 100644 (file)
@@ -38,6 +38,14 @@ typedef ProcessSettings::Executor<
     ProcessSettings::ChangeSmack,
     ProcessSettings::ChangeUid> ProcSettings;
 
+typedef ProcessSettings::Executor<
+    CKMPolicy,
+    ProcessSettings::CreateUser,
+    ProcessSettings::UnlockCkm,
+    ProcessSettings::InstallApp,
+    ProcessSettings::ChangeSmack,
+    ProcessSettings::ChangeUid> ProcSettingsT03;
+
 RUNNER_TEST_GROUP_INIT(GROUP_01_ControlApiAccess);
 
 RUNNER_CHILD_TEST(G01T01_ControlNegative) {
@@ -118,3 +126,24 @@ RUNNER_CHILD_TEST(G01T02_ControlPositive) {
         "Error=" << CKM::ErrorToString(temp));
 }
 
+RUNNER_CHILD_TEST(G01T03_ProcessIdentificationBySecurityManager) {
+    // Socket is secured with 0700
+    // in this test we have no access to this socket
+    // DAC should DENIED access to CKM
+    ProcSettingsT03 ps("PkgIdG01T03", "UserG01T03", PrivCKMStore);
+    ps.Apply();
+
+    auto manager = CKM::Manager::create();
+    std::string someData = "some random data";
+    CKM::RawBuffer buffer(someData.begin(), someData.end());
+    CKM::RawBuffer buffer2;
+
+    RUNNER_ASSERT(CKM_API_SUCCESS == manager->saveData("data3", buffer, CKM::Policy()));
+
+    RUNNER_ASSERT(CKM_API_SUCCESS == manager->getData("PkgIdG01T03 data3", CKM::Password(), buffer2));
+
+    RUNNER_ASSERT(buffer == buffer2);
+
+    RUNNER_ASSERT(CKM_API_SUCCESS == manager->removeAlias("PkgIdG01T03 data3"));
+}
+