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) const;
58 virtual void getCertificateChainList(
59 WrtDB::CertificateChainList& list,
60 WrtDB::CertificateSource source) const;
62 void setRecognized(bool recognized) { mRecognized = recognized; }
63 void setDistributorSigned(bool distributorSigned)
65 mDistributorSigned = distributorSigned;
67 void setWacSigned(bool wacSigned) { mWacSigned = wacSigned; }
69 ValidationCore::CertificatePtr getAuthorCertificatePtr() const { return mAuthorCertificate;}
70 ValidationCore::CertificateCollectionList& getCertificateChainListRef()
72 return mCertificateChainList;
75 ValidationCore::CertificateCollectionList& getAuthorsCertificateChainListRef()
77 return mAuthorsCertificateChainList;
80 WrtDB::WidgetCertificateDataList& getCertificateListRef()
82 return mCertificateList;
86 // This data are used to evaluate policy
87 WrtDB::WidgetCertificateDataList mCertificateList;
89 // author signature verified
92 bool mDistributorSigned;
95 // Author end entity certificate.
96 // Information from this certificate are shown to user
97 // during installation process.
98 ValidationCore::CertificatePtr mAuthorCertificate;
99 // This certificates are used by OCSP/CRL
100 ValidationCore::CertificateCollectionList mCertificateChainList;
101 // This authors certificates are used by tizen
102 ValidationCore::CertificateCollectionList mAuthorsCertificateChainList;
105 } // namespace WidgetInstall
108 #endif /* WACSECURITY_H_ */