2 * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * @file task_certify_level.h
18 * @author Jihoon Chung (jihoon.chung@samgsung.com)
22 #ifndef INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFY_LEVEL_H
23 #define INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFY_LEVEL_H
31 #include <vcore/CertStoreType.h>
32 #include <vcore/SignatureFinder.h>
35 class InstallerContext;
38 namespace WidgetInstall {
39 class TaskCertifyLevel :
40 public DPL::TaskDecl<TaskCertifyLevel>
43 TaskCertifyLevel(InstallerContext &inCont);
47 InstallerContext& m_contextData;
49 enum class Level : std::int8_t {
55 typedef std::map<std::string, Level> secureSettingMap;
56 typedef std::map<std::string, Level>::iterator secureSettingIter;
59 void stepCertifyLevel();
64 void getSignatureFiles(const std::string& path,
65 ValidationCore::SignatureFileInfoSet& file);
66 Level getCertifyLevel();
67 bool checkConfigurationLevel(Level level);
68 bool checkSettingLevel(Level level);
69 bool checkAppcontrolHasDisposition(Level level);
70 std::string enumToString(Level level);
71 Level certTypeToLevel(ValidationCore::CertStoreId::Type type);
74 } //namespace WidgetInstall
77 #endif // INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFY_LEVEL_H