[Installer] Replace SignatureValidator.
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>
Wed, 7 Nov 2012 16:03:50 +0000 (17:03 +0100)
committerSoyoung Kim <sy037.kim@samsung.com>
Thu, 15 Nov 2012 07:54:22 +0000 (16:54 +0900)
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

index 532c206..2091407 100755 (executable)
 #include <dpl/wrt-dao-ro/global_config.h>
 #include "wac_widget_id.h"
 
+#include <vcore/Certificate.h>
 #include <vcore/SignatureReader.h>
 #include <vcore/SignatureFinder.h>
-#include <vcore/SignatureValidator.h>
+#include <vcore/WrtSignatureValidator.h>
 #include <vcore/DeveloperModeValidator.h>
 #include <dpl/utils/wrt_global_settings.h>
 #include <dpl/wrt-dao-ro/global_dao_read_only.h>
@@ -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: <<Signature>> 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: <<CSignature>> DONE ================");
+    LogInfo("================ Step: <<Signature>> DONE ================");
 
     m_contextData.job->UpdateProgress(
         InstallerContext::INSTALL_DIGSIG_CHECK,