VerifyChain() is applied for preloaded app.
authorDuyoung Jang <duyoung.jang@samsung.com>
Tue, 26 Mar 2013 07:39:58 +0000 (16:39 +0900)
committerDuyoung Jang <duyoung.jang@samsung.com>
Tue, 26 Mar 2013 07:39:58 +0000 (16:39 +0900)
Change-Id: Ief965337248e8de1a63b11f32c36a7440706d4c6
Signed-off-by: Duyoung Jang <duyoung.jang@samsung.com>
inc/InstallerDefs.h
src/Installer/PreloadedInstaller.cpp
src/Step/SignatureStep.cpp

index ce65caa..e7478a5 100755 (executable)
@@ -23,7 +23,7 @@
 
 #include "InstallerUtil.h"
 
-#define OSP_INSTALLER_VERSION "version=[20130326.1]"
+#define OSP_INSTALLER_VERSION "version=[20130326.2]"
 
 #define DIR_BIN                                L"/bin"
 #define DIR_INFO                       L"/info"
index 9b11de8..ba18b4e 100755 (executable)
@@ -48,7 +48,6 @@ PreloadedInstaller::OnInit(void)
 {
        InstallationContext* pContext = GetContext();
        String path = pContext->__inputPath;
-
        String appId;
        String prefix(PATH_USR_APPS);
        prefix += L"/";
@@ -109,6 +108,22 @@ PreloadedInstaller::OnInit(void)
                InstallerUtil::CreateSymlink(srcPath, destPath);
        }
 
+       pContext->__installDir = pContext->__inputPath;
+       if ((File::IsFileExist(pContext->GetSignatureXmlPath()) == true) &&
+                       (File::IsFileExist(pContext->GetAuthorSignatureXmlPath()) == true))
+       {
+               srcPath = path + SIGNATURE1_XML_FILE;
+               destPath = destRootPath + SIGNATURE1_XML_FILE;
+               InstallerUtil::CreateSymlink(srcPath, destPath);
+
+               srcPath = path + AUTHOR_SIGNATURE_XML_FILE;
+               destPath = destRootPath + AUTHOR_SIGNATURE_XML_FILE;
+               InstallerUtil::CreateSymlink(srcPath, destPath);
+
+               AppLog("[VerifySignature] VerificationMode ON");
+               pContext->__isVerificationMode = true;
+       }
+
        pContext->__installDir = destRootPath;
 
        return DirectoryInstaller::OnInit();
index 3d83b16..460620b 100755 (executable)
@@ -137,7 +137,14 @@ SignatureStep::OnStateCertChain(void)
        TryCatch(ret == true, error = INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED, "AddCert(DEVELOPER_ROOT_CERTIFICATE) failed");
 
        ret = __pSignatureManager->VerifyChain();
-       TryCatch(ret == true, error = INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED, "VerifyChain() failed");
+       if (__pContext->__isPreloaded == true)
+       {
+               fprintf(stderr, "  ## VerifyChain() result = [%d]\n", ret);
+       }
+       else
+       {
+               TryCatch(ret == true, error = INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED, "VerifyChain() failed");
+       }
 
 CATCH:
        GoNextState();