2 * Copyright (c) 2011 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 wac_security.h
18 * @author Krzysztof Jackiewicz(k.jackiewicz@samsung.com)
23 #ifndef WACSECURITY_H_
24 #define WACSECURITY_H_
26 #include <dpl/wrt-dao-ro/widget_dao_read_only.h>
27 #include <vcore/Certificate.h>
28 #include <vcore/CertificateCollection.h>
31 namespace WidgetInstall {
33 class WacSecurity : public WrtDB::IWacSecurity
38 mDistributorSigned(false),
44 virtual const WrtDB::WidgetCertificateDataList& getCertificateList() const
46 return mCertificateList;
49 virtual bool isRecognized() const { return mRecognized; }
51 virtual bool isDistributorSigned() const { return mDistributorSigned; }
53 virtual bool isWacSigned() const { return mWacSigned; }
55 virtual void getCertificateChainList(
56 WrtDB::CertificateChainList& list,
57 WrtDB::CertificateSource source) const;
59 void setRecognized(bool recognized) { mRecognized = recognized; }
60 void setDistributorSigned(bool distributorSigned)
62 mDistributorSigned = distributorSigned;
64 void setWacSigned(bool wacSigned) { mWacSigned = wacSigned; }
66 ValidationCore::CertificatePtr getAuthorCertificatePtr() const { return mAuthorCertificate;}
67 ValidationCore::CertificateCollectionList& getCertificateChainListRef()
69 return mCertificateChainList;
72 ValidationCore::CertificateCollectionList& getAuthorsCertificateChainListRef()
74 return mAuthorsCertificateChainList;
77 WrtDB::WidgetCertificateDataList& getCertificateListRef()
79 return mCertificateList;
83 // This data are used to evaluate policy
84 WrtDB::WidgetCertificateDataList mCertificateList;
86 // author signature verified
89 bool mDistributorSigned;
92 // Author end entity certificate.
93 // Information from this certificate are shown to user
94 // during installation process.
95 ValidationCore::CertificatePtr mAuthorCertificate;
96 // This certificates are used by OCSP/CRL
97 ValidationCore::CertificateCollectionList mCertificateChainList;
98 // This authors certificates are used by tizen
99 ValidationCore::CertificateCollectionList mAuthorsCertificateChainList;
102 } // namespace WidgetInstall
105 #endif /* WACSECURITY_H_ */