Refactor SignatureValidator and reduce interface headers
[platform/core/security/cert-svc.git] / vcore / src / vcore / SignatureValidator.h
index 1f3900c..8154f8c 100644 (file)
 /*
  * @file        SignatureValidator.h
  * @author      Bartlomiej Grzelewski (b.grzelewski@samsung.com)
- * @version     1.0
+ * @version     1.1
  * @brief       Implementatin of tizen signature validation protocol.
  */
 #ifndef _VALIDATION_CORE_SIGNATUREVALIDATOR_H_
 #define _VALIDATION_CORE_SIGNATUREVALIDATOR_H_
 
-#ifndef LOG_TAG
-#undef LOG_TAG
-#define LOG_TAG "OSP"
-#endif
-
 #include <string>
-
+#include <list>
 #include <vcore/SignatureData.h>
+#include <vcore/SignatureFinder.h>
 
 namespace ValidationCore {
 
 class SignatureValidator {
 public:
-    class ImplSignatureValidator;
-
-    enum AppType
-    {
-        TIZEN,
-        WAC20
-    };
-
     enum Result
     {
         SIGNATURE_VALID,
         SIGNATURE_INVALID,
         SIGNATURE_VERIFIED,
-        SIGNATURE_DISREGARD,    // no ocsp response or ocsp return unknown status
-        SIGNATURE_REVOKED,
-               SIGNATURE_INVALID_CERT_CHAIN, //5, from here, new error enum            
-               SIGNATURE_INVALID_DISTRIBUTOR_CERT,
-               SIGNATURE_INVALID_SDK_DEFAULT_AUTHOR_CERT,
-               SIGNATURE_IN_DISTRIBUTOR_CASE_AUTHOR_CERT,
-               SIGNATURE_INVALID_CERT_TIME,    
-               SIGNATURE_NO_DEVICE_PROFILE,
-               SIGNATURE_INVALID_DEVICE_UNIQUE_ID,
-               SIGNATURE_INVALID_NO_HASH_FILE,
-               SIGNATURE_INVALID_HASH_SIGNATURE
+        SIGNATURE_DISREGARD,
+        SIGNATURE_REVOKED
     };
 
     SignatureValidator() = delete;
     SignatureValidator(const SignatureValidator &) = delete;
     const SignatureValidator &operator=(const SignatureValidator &) = delete;
 
-    explicit SignatureValidator(
-        AppType appType,
-        bool ocspEnable,
-        bool crlEnable,
-        bool complianceMode);
-
     virtual ~SignatureValidator();
 
-    Result check(
-        SignatureData &data,
-        const std::string &widgetContentPath);
-
-    Result checkList(
-        SignatureData &data,
+    static Result check(
+        const SignatureFileInfo &fileInfo,
         const std::string &widgetContentPath,
-        const std::list<std::string>& uriList);
+        bool checkOcsp,
+        bool checkReferences,
+        SignatureData &outData);
 
-private:
-     ImplSignatureValidator *m_impl;
+    static Result checkList(
+        const SignatureFileInfo &fileInfo,
+        const std::string &widgetContentPath,
+        const std::list<std::string> &uriList,
+        bool checkOcsp,
+        bool checkReferences,
+        SignatureData &outData);
 };
 
 } // namespace ValidationCore
 
-#endif // _VALIDATION_CORE_TIZENSIGNATUREVALIDATOR_H_
-
+#endif // _VALIDATION_CORE_SIGNATUREVALIDATOR_H_