Fixed save certification for distributor2.
[framework/web/wrt-installer.git] / src / jobs / widget_install / task_certify.cpp
index edf9f1d..68189ac 100644 (file)
@@ -265,7 +265,8 @@ void TaskCertify::stepSignature()
                          "Certificate is REVOKED");
             }
 
-            if (result == WrtSignatureValidator::SIGNATURE_INVALID) {
+            if (result == WrtSignatureValidator::SIGNATURE_INVALID &&
+                    iter->getFileNumber() <= 1) {
                 LogWarning("Signature is INVALID");
                 // TODO change exception name
                 ThrowMsg(Exceptions::SignatureInvalid,
@@ -273,18 +274,13 @@ void TaskCertify::stepSignature()
             }
 
             if (data.isAuthorSignature()) {
-                if (result == WrtSignatureValidator::SIGNATURE_VERIFIED ||
-                    m_contextData.wacSecurity.isDistributorSigned())
-                {
+                if (result == WrtSignatureValidator::SIGNATURE_VERIFIED ) {
                     processAuthorSignature(data);
-                } else if (result ==
-                           WrtSignatureValidator::SIGNATURE_DISREGARD)
-                {
-                    continue;
                 }
             } else {
-                // now signature _must_ be verified
-                processDistributorSignature(data);
+                if (result != WrtSignatureValidator::SIGNATURE_INVALID) {
+                    processDistributorSignature(data);
+                }
             }
         } Catch(ParserSchemaException::Base) {
             LogError("Error occured in ParserSchema.");