From 583144d1a68bb659111cc06eb86e88b61489c206 Mon Sep 17 00:00:00 2001 From: Bartlomiej Grzelewski Date: Wed, 7 Nov 2012 17:03:50 +0100 Subject: [PATCH] [Installer] Replace SignatureValidator. SignatureValidator is deprecated. task certify was chagned to use WrtSigantureValidator. [Issue#] N/A [Problem] Usage of deprecated code. [Cause] N/A [Solution] Remove usage of deprecated code. [Verification] Installation of signed tizen/wac2.0 widgets. --- src/jobs/widget_install/task_certify.cpp | 40 ++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/jobs/widget_install/task_certify.cpp b/src/jobs/widget_install/task_certify.cpp index 532c206..2091407 100755 --- a/src/jobs/widget_install/task_certify.cpp +++ b/src/jobs/widget_install/task_certify.cpp @@ -37,9 +37,10 @@ #include #include "wac_widget_id.h" +#include #include #include -#include +#include #include #include #include @@ -83,11 +84,11 @@ WidgetCertificateData toWidgetCertificateData(const SignatureData &data, result.strCommonName = *certificate->getCommonName(); result.strMD5Fingerprint = std::string("md5 ") + - SignatureValidator::FingerprintToColonHex( + Certificate::FingerprintToColonHex( certificate->getFingerprint(Certificate::FINGERPRINT_MD5)); result.strSHA1Fingerprint = std::string("sha-1 ") + - SignatureValidator::FingerprintToColonHex( + Certificate::FingerprintToColonHex( certificate->getFingerprint(Certificate::FINGERPRINT_SHA1)); return result; @@ -186,7 +187,7 @@ void TaskCertify::processAuthorSignature(const SignatureData &data) void TaskCertify::stepSignature() { - LogInfo("enter"); + LogInfo("================ Step: <> ENTER ==============="); std::string widgetPath = m_contextData.locations->getTemporaryRootDir() + "/"; @@ -199,7 +200,7 @@ void TaskCertify::stepSignature() } SignatureFileInfoSet::reverse_iterator iter = signatureFiles.rbegin(); - LogInfo("No of signatures: " << signatureFiles.size()); + LogInfo("Number of signatures: " << signatureFiles.size()); bool firstDistributorSignature = true; bool testCertificate = false; @@ -216,19 +217,28 @@ void TaskCertify::stepSignature() xml.initialize(data, GlobalConfig::GetSignatureXmlSchema()); xml.read(data); - SignatureValidator validator(!GlobalSettings::OCSPTestModeEnabled(), - !GlobalSettings::CrlTestModeEnabled(), - complianceMode); - SignatureValidator::Result result = + WrtSignatureValidator::AppType appType = WrtSignatureValidator::WAC20; + + if (m_installContext.widgetConfig.webAppType == APP_TYPE_TIZENWEBAPP) { + appType = WrtSignatureValidator::TIZEN; + } + + WrtSignatureValidator validator( + appType, + !GlobalSettings::OCSPTestModeEnabled(), + !GlobalSettings::CrlTestModeEnabled(), + complianceMode); + + WrtSignatureValidator::Result result = validator.check(data, widgetPath); - if (result == SignatureValidator::SIGNATURE_REVOKED) { + if (result == WrtSignatureValidator::SIGNATURE_REVOKED) { LogWarning("Certificate is REVOKED"); ThrowMsg(Exceptions::InvalidPackage, "Certificate is REVOKED"); } - if (result == SignatureValidator::SIGNATURE_INVALID) { + if (result == WrtSignatureValidator::SIGNATURE_INVALID) { LogWarning("Signature is INVALID"); // TODO change exception name ThrowMsg(Exceptions::InvalidPackage, @@ -236,15 +246,15 @@ void TaskCertify::stepSignature() } if (data.isAuthorSignature()) { - if (result == SignatureValidator::SIGNATURE_VERIFIED || + if (result == WrtSignatureValidator::SIGNATURE_VERIFIED || m_contextData.wacSecurity.isDistributorSigned()) { processAuthorSignature(data); - } else if (result == SignatureValidator::SIGNATURE_DISREGARD) { + } else if (result == WrtSignatureValidator::SIGNATURE_DISREGARD) { continue; } } else { - if (result == SignatureValidator::SIGNATURE_DISREGARD) { + if (result == WrtSignatureValidator::SIGNATURE_DISREGARD) { continue; } // now signature _must_ be verified @@ -300,7 +310,7 @@ void TaskCertify::stepSignature() LogInfo("No signature files has been found."); } - LogInfo("================ Step: <> DONE ================"); + LogInfo("================ Step: <> DONE ================"); m_contextData.job->UpdateProgress( InstallerContext::INSTALL_DIGSIG_CHECK, -- 2.7.4