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 SignatureData.cpp
18 * @author Bartlomiej Grzelewski (b.grzelewski@samsung.com)
20 * @brief SignatureData is used to storage data parsed from digsig file.
22 #include <vcore/SignatureData.h>
24 #include <dpl/log/log.h>
26 namespace ValidationCore {
28 SignatureData::SignatureData()
29 : m_signatureNumber(-1)
30 , m_certificateSorted(false)
33 SignatureData::SignatureData(const std::string &fileName, int fileNumber)
34 : m_signatureNumber(fileNumber)
35 , m_fileName(fileName)
36 , m_certificateSorted(false)
39 SignatureData::~SignatureData()
42 const ReferenceSet& SignatureData::getReferenceSet() const
44 return m_referenceSet;
47 void SignatureData::setReference(const ReferenceSet &referenceSet)
49 m_referenceSet = referenceSet;
52 CertificateList SignatureData::getCertList() const
57 void SignatureData::setSortedCertificateList(const CertificateList &list)
60 m_certificateSorted = true;
63 bool SignatureData::isAuthorSignature() const
65 return m_signatureNumber == -1;
68 std::string SignatureData::getSignatureFileName() const
73 int SignatureData::getSignatureNumber() const
75 return m_signatureNumber;
78 std::string SignatureData::getRoleURI() const
83 std::string SignatureData::getProfileURI() const
88 bool SignatureData::containObjectReference(const std::string &ref) const
90 std::string rName = "#";
92 return m_referenceSet.end() != m_referenceSet.find(rName);
95 ObjectList SignatureData::getObjectList() const
100 void SignatureData::setStorageType(const CertStoreId::Set &storeIdSet)
102 m_storeIdSet = storeIdSet;
105 const CertStoreId::Set& SignatureData::getStorageType() const
110 CertStoreId::Type SignatureData::getVisibilityLevel() const
112 if (!m_storeIdSet.isContainsVis()) {
113 LogWarning("Visibility level was broken.");
117 if (m_storeIdSet.contains(CertStoreId::VIS_PLATFORM))
118 return CertStoreId::VIS_PLATFORM;
119 else if (m_storeIdSet.contains(CertStoreId::VIS_PARTNER_MANUFACTURER))
120 return CertStoreId::VIS_PLATFORM;
121 else if (m_storeIdSet.contains(CertStoreId::VIS_PARTNER_OPERATOR))
122 return CertStoreId::VIS_PLATFORM;
123 else if (m_storeIdSet.contains(CertStoreId::VIS_PARTNER))
124 return CertStoreId::VIS_PARTNER;
126 return CertStoreId::VIS_PUBLIC;
129 const SignatureData::IMEIList& SignatureData::getIMEIList() const
134 const SignatureData::MEIDList& SignatureData::getMEIDList() const
139 CertificatePtr SignatureData::getEndEntityCertificatePtr() const
141 if (m_certificateSorted)
142 return m_certList.front();
144 return CertificatePtr();
147 CertificatePtr SignatureData::getRootCaCertificatePtr() const
149 if (m_certificateSorted)
150 return m_certList.back();
152 return CertificatePtr();