From f52bb9dbef959c78f24d740085c3d7e5ba19ba20 Mon Sep 17 00:00:00 2001 From: Kyungwook Tak Date: Fri, 8 Jan 2016 15:01:08 +0900 Subject: [PATCH] Change disregarded cases to invalid cert chain Change-Id: Ia08a318a9ec005a0511c984b2ded464d2f58f42d Signed-off-by: Kyungwook Tak --- tests/vcore/resource/wgt/author-signature.xml | 139 +++++++++++---------- tests/vcore/resource/wgt/config.xml | 13 +- tests/vcore/resource/wgt/css/style.css | 23 ++++ tests/vcore/resource/wgt/icon.png | Bin 0 -> 25897 bytes tests/vcore/resource/wgt/index.html | 25 +++- tests/vcore/resource/wgt/js/main.js | 21 ++++ tests/vcore/resource/wgt/signature1.xml | 136 +++++++++++--------- tests/vcore/resource/wgt/signature22.xml | 66 ---------- .../wgt_negative_hash/author-signature.xml | 139 +++++++++++---------- tests/vcore/resource/wgt_negative_hash/config.xml | 13 +- .../vcore/resource/wgt_negative_hash/css/style.css | 23 ++++ tests/vcore/resource/wgt_negative_hash/icon.png | Bin 0 -> 25897 bytes tests/vcore/resource/wgt_negative_hash/index.html | 25 +++- tests/vcore/resource/wgt_negative_hash/js/main.js | 22 ++++ .../resource/wgt_negative_hash/signature1.xml | 136 +++++++++++--------- .../resource/wgt_negative_hash/signature22.xml | 66 ---------- .../wgt_negative_signature/author-signature.xml | 139 +++++++++++---------- .../resource/wgt_negative_signature/config.xml | 13 +- .../resource/wgt_negative_signature/css/style.css | 23 ++++ .../vcore/resource/wgt_negative_signature/icon.png | Bin 0 -> 25897 bytes .../resource/wgt_negative_signature/index.html | 25 +++- .../resource/wgt_negative_signature/js/main.js | 21 ++++ .../resource/wgt_negative_signature/signature1.xml | 134 +++++++++++--------- .../wgt_negative_signature/signature22.xml | 66 ---------- tests/vcore/test-signature-validator.cpp | 130 +++++-------------- vcore/vcore/Error.h | 9 +- vcore/vcore/SignatureValidator.cpp | 36 ++---- vcore/vcore/SignatureValidator.h | 8 -- 28 files changed, 714 insertions(+), 737 deletions(-) create mode 100644 tests/vcore/resource/wgt/css/style.css create mode 100644 tests/vcore/resource/wgt/icon.png create mode 100644 tests/vcore/resource/wgt/js/main.js delete mode 100644 tests/vcore/resource/wgt/signature22.xml create mode 100644 tests/vcore/resource/wgt_negative_hash/css/style.css create mode 100644 tests/vcore/resource/wgt_negative_hash/icon.png create mode 100644 tests/vcore/resource/wgt_negative_hash/js/main.js delete mode 100644 tests/vcore/resource/wgt_negative_hash/signature22.xml create mode 100644 tests/vcore/resource/wgt_negative_signature/css/style.css create mode 100644 tests/vcore/resource/wgt_negative_signature/icon.png create mode 100644 tests/vcore/resource/wgt_negative_signature/js/main.js delete mode 100644 tests/vcore/resource/wgt_negative_signature/signature22.xml diff --git a/tests/vcore/resource/wgt/author-signature.xml b/tests/vcore/resource/wgt/author-signature.xml index ff82da8..cb0b73c 100644 --- a/tests/vcore/resource/wgt/author-signature.xml +++ b/tests/vcore/resource/wgt/author-signature.xml @@ -1,66 +1,75 @@ - - - - - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - MH34nIMXxv0fMQQ8bTV1wZUNLOrXTmpnxpADlNzmQ/4= - - - fhh+VQq76Uodq4upHhvcC2tgbVY8bL9DiiSe9wn1O4YrIFKMnEEYqYmpQbL1puWU -Zbht0hXpvEFXg1010q5kOZQxknqcyFg3hyVUpFDPARkJs1XhRNbFWJJF7qNXVgt5 -NyFrdXFv4lVFjkv+chSykaWu6V22z43E8kJcg+zGVU8= - - - MIIETTCCA7agAwIBAgIJANaOuOCRgiz3MA0GCSqGSIb3DQEBBQUAMIG8MQswCQYD -VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy -aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEeMBwG -A1UECxMVVGVzdCBSb290IENlcnRpZmljYXRlMRYwFAYDVQQDEw1BbGVrc2V5IFNh -bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb20wHhcNMDUwNzEw -MDIyOTAxWhcNMTUwNzA4MDIyOTAxWjCBvDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -CkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1cml0eSBMaWJyYXJ5IChodHRw -Oi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHjAcBgNVBAsTFVRlc3QgUm9vdCBD -ZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJ -ARYSeG1sc2VjQGFsZWtzZXkuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB -gQDayaFajJxOdVU+8EjwO31S2XqNmYxxbHfiUJO3w2h57OPUkKAcKe5Gvt9hJbPT -b3C4blPScOke2RexKnXS7pAXXbxFlgUlZ0QK0K2pdl559OSmrtH3mPP9BJvvDMlx -kcNj9/EeD+yGd8GN/yT6PTDh8G/4lszOXL+tyKIkC4Ys/wIDAQABo4IBUzCCAU8w -DAYDVR0TBAUwAwEB/zAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQg -Q2VydGlmaWNhdGUwHQYDVR0OBBYEFNpG6Wvmr9M9quUhS1LtymYo4P6FMIHxBgNV -HSMEgekwgeaAFNpG6Wvmr9M9quUhS1LtymYo4P6FoYHCpIG/MIG8MQswCQYDVQQG -EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3VyaXR5 -IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEeMBwGA1UE -CxMVVGVzdCBSb290IENlcnRpZmljYXRlMRYwFAYDVQQDEw1BbGVrc2V5IFNhbmlu -MSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQDWjrjgkYIs9zAN -BgkqhkiG9w0BAQUFAAOBgQBUXbdOTQwArcNrbxavzARp2JGOnzo6WzTm+OFSXC0F -08YwT8jWbht97e8lNNVOBU4Y/38ReZqYC9OqFofG1/O9AdQ58WL/FWg8DgP5MJPT -T9kRU3FU01jUiX2+kbdnghZAOJm0ziRNxfNPwIIWPKYXyXEKQQzrnxyFey1hP7cg -6A== + + + + + + +slamUlCPsGfRZvSlot9sIUMiPSjVSPOeJ0I7X1yxvmE= + + + +0/mhZV4kwFnSzCSp45AhFjWaQnaie61uW8VeXioOLQg= + + + +vPjxjOppORd6hn9Bw4sh06gqtDoJzoFbV/8e9FyIdvk= + + + +OYW0ozIt+YihibhXb3mmAtIpmp5rJFNpS6n0bcbqPpI= + + + +0oc6DiyrAj1HQFcu+27/BHCQKn3zBn9dKls96iQZ564= + + + + + + +lpo8tUDs054eLlBQXiDPVDVKfw30ZZdtkRs1jd7H5K8= + + + +DEDbUoxWn26xtZD+J+Qp71TzALREeTaalmbS1170MXpPiGjukYhD63KDEcHhYxU2cgAVUAcL2mD/ +ITe50rC8jy7dz2xqnUP2rIlFxIGRbciCs9fHx2CmqIq4yqvvdj7usy9o3SWsBxNaWshd7PJYQyjD +XQXN5fgiNZtFQ/MuUuw= + + + + +MIICuzCCAaOgAwIBAgIGAUpat3J5MA0GCSqGSIb3DQEBBQUAMFYxGjAYBgNVBAoMEVRpemVuIEFz +c29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4gRGV2 +ZWxvcGVycyBDQTAeFw0xMjExMDEwMDAwMDBaFw0xOTAxMDEwMDAwMDBaMDcxCzAJBgNVBAYTAmxk +MQwwCgYDVQQIDANsZHMxDDAKBgNVBAcMA2xkczEMMAoGA1UEAwwDbGRzMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQCPihyYVpUCkUD6xcZVoyfF6N8BP7EW9fwNPAMTZA5hyCHWxquGgO5TC6bk +JtIOcor8SLKa81wJ+vVe/EdbrRP3Lk8lqYl9linQ+yLA74XOTy9K9bUacOKv9tVN/BWYcRoneMKB +hrawFCXFY+MAdCnw0dN61Vqg8HPu1Z6oFAlVPQIDAQABozIwMDAMBgNVHRMBAf8EAjAAMAsGA1Ud +DwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQUFAAOCAQEAfUERPsFiaF54 +VZuhIrAzgWI53fPMATnkj4EDsIkeece8mnw0sbmrw/0ps7AsIpFib6Cv6kDZ3O7kpjg64/tKdEHR +15Mh0UVyYBGuJeFF6SGpCWBqGAI7MuXPhjDwdL1VfWqOrzRQGC6yUVnGu72JNvvxf8VgfTaQlS6P +vPU2TBmLC5auHdYcCIBVHfH9wTjVjNuIN0inmhj+zgFd6nqMdpzDQqTKj+fTMDZU7cFSNOAuJZcg +M8iZH2btaezda3qdTcEhLiqFBbBlm4zSAY8atvGj4Kxh3iqXR1+dCxS/AdChvuAXNtO9j2yscTeS +7znbGskeqeUY/VNXlpVwOyZ05w== + + +MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMRowGAYDVQQKDBFUaXplbiBBc3NvY2lh +dGlvbjEaMBgGA1UECwwRVGl6ZW4gQXNzb2NpYXRpb24xHjAcBgNVBAMMFVRpemVuIERldmVsb3Bl +cnMgUm9vdDAeFw0xMjAxMDEwMDAwMDBaFw0yNzAxMDEwMDAwMDBaMFYxGjAYBgNVBAoMEVRpemVu +IEFzc29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4g +RGV2ZWxvcGVycyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANVGhRGmMIUyBA7o +PCz8Sxut6z6HNkF4oDIuzuKaMzRYPeWodwe9O0gmqAkToQHfwg2giRhE5GoPld0fq+OYMMwSasCu +g8dwODx1eDeSYVuOLWRxpAmbTXOsSFi6VoWeyaPEm18JBHvZBsU5YQtgZ6Kp7MqzvQg3pXOxtajj +vyHxiatJl+xXrHgcXC1wgyG3buty7u/Fi2mvKXJ0PRJcCjjK81dqe/Vr20sRUCrbk02zbm5ggFt/ +jIEhV8wbFRQpliobc7J4dSTKhFfrqGM8rdd54LYhD7gSI1CFSe16pUXfcVR7FhJztRaiGLnCrwBE +dyTZ248+D4L/qR/D0axb3jcCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOC +AQEAnOXXQ/1O/QTDHyrmQDtFziqPY3xWlJBqJtEqXiT7Y+Ljpe66e+Ee/OjQMlZe8gu21/8cKklH +95RxjopMWCVedXDUbWdvS2+CdyvVW/quT2E0tjqIzXDekUTYwwhlPWlGxvfj3VsxqSFq3p8Brl04 +1Gx5RKAGyKVsMfTLhbbwSWwApuBUxYfcNpKwLWGPXkysu+HctY03OKv4/xKBnVWiN8ex/Sgesi0M ++OBAOMdZMPK32uJBTeKFx1xZgTLIhk45V0hPOomPjZloiv0LSS11eyd451ufjW0iHRE7WlpR6EvI +W6TFyZgMpQq+kg4hWl2SBTf3s2VI8Ygz7gj8TMlClg== + - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/tests/vcore/resource/wgt/config.xml b/tests/vcore/resource/wgt/config.xml index 82b077b..5e57d7d 100644 --- a/tests/vcore/resource/wgt/config.xml +++ b/tests/vcore/resource/wgt/config.xml @@ -1,6 +1,9 @@ - - Widget Name OK - 1.2.3.4 - A short description of widget - Author Name + + + + + + + TestApp + diff --git a/tests/vcore/resource/wgt/css/style.css b/tests/vcore/resource/wgt/css/style.css new file mode 100644 index 0000000..4eb877d --- /dev/null +++ b/tests/vcore/resource/wgt/css/style.css @@ -0,0 +1,23 @@ +* { + font-family: Verdana, Lucida Sans, Arial, Helvetica, sans-serif; +} + +body { + margin: 0px auto; + background-color:#222; +} + +.contents { + display: flex; + display: -webkit-flex; + box-sizing: border-box; + -webkit-box-sizing: border-box; + height:320px; +} + + +.content_text { + font-weight:bold; + font-size:5em; + color:#fff; +} \ No newline at end of file diff --git a/tests/vcore/resource/wgt/icon.png b/tests/vcore/resource/wgt/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1f025680eaaa671abff00d57c508df54dafd5a1b GIT binary patch literal 25897 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 H7GeJbGy%?y literal 0 HcmV?d00001 diff --git a/tests/vcore/resource/wgt/index.html b/tests/vcore/resource/wgt/index.html index c47b20a..f6c4a72 100644 --- a/tests/vcore/resource/wgt/index.html +++ b/tests/vcore/resource/wgt/index.html @@ -1,4 +1,21 @@ - -Not tested - -

None

+ + + + + + + + Tizen Wearable Web IDE - Tizen Wearable - Tizen Wearable basic Application + + + + + + +
+
+ Basic +
+
+ + diff --git a/tests/vcore/resource/wgt/js/main.js b/tests/vcore/resource/wgt/js/main.js new file mode 100644 index 0000000..88fb9e4 --- /dev/null +++ b/tests/vcore/resource/wgt/js/main.js @@ -0,0 +1,21 @@ + +window.onload = function () { + // TODO:: Do your initialization job + + // add eventListener for tizenhwkey + document.addEventListener('tizenhwkey', function(e) { + if(e.keyName == "back") + try { + tizen.application.getCurrentApplication().exit(); + } catch (ignore) { + } + }); + + // Sample code + var textbox = document.querySelector('.contents'); + textbox.addEventListener("click", function(){ + box = document.querySelector('#textbox'); + box.innerHTML = box.innerHTML == "Basic" ? "Sample" : "Basic"; + }); + +}; diff --git a/tests/vcore/resource/wgt/signature1.xml b/tests/vcore/resource/wgt/signature1.xml index 71a100b..48becf3 100644 --- a/tests/vcore/resource/wgt/signature1.xml +++ b/tests/vcore/resource/wgt/signature1.xml @@ -1,62 +1,76 @@ - - - - - - - - ZLhd8X2rzCIDGHkIvpDbCXq+dwq+DK7ZZaDD/fII8RU= - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - ZxnfFPi1rAoxfpN98xSP3lv5tZg9ymJElAFdg3ejrXE= - - - Dwm15jQbvUxe7fa7p4RVRAUzYY6eGQmDJSWXnv2LBbouch163OMaXgjKXWOLU+ZA -MwwuUUXG44QvOIv5M3Kd/Pc6kwvyb9+xm8zqmFF/mhttmAHc7VjY5sfB+bYFt9/3 -8+upSqxiUGLXYzMD/9u4W9ociwAcLiOQytBF1/TCv/4= - - - MIIC4zCCAkygAwIBAgIJAMdKgvadG/Z+MA0GCSqGSIb3DQEBBQUAMHIxCzAJBgNV -BAYTAlBMMQwwCgYDVQQIEwNNYXoxEDAOBgNVBAoTB1NhbXN1bmcxDTALBgNVBAsT -BFNQUkMxEDAOBgNVBAMTB1NhbXN1bmcxIjAgBgkqhkiG9w0BCQEWE3NhbXN1bmdA -c2Ftc3VuZy5jb20wHhcNMTExMDA1MTIwMDUxWhcNMjExMDAyMTIwMDUxWjB4MQsw -CQYDVQQGEwJQTDEMMAoGA1UECBMDTUFaMQwwCgYDVQQHEwNMZWcxDDAKBgNVBAoT -A1NhbTENMAsGA1UECxMEU1BSQzEOMAwGA1UEAxMFRmlsaXAxIDAeBgkqhkiG9w0B -CQEWEWZpbGlwQHNhbXN1bmcuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB -gQDS/sS0wXSCb34ojN8bWFd4Pl9eTLHh18UNGsPpLpp4itdfuc/OgyqaSoDwBzVh -EWAVLCTxexUa4Ncva+41NbkW4RCsFzeGs0ktpu1+8Q+v0QEOGqVF2rQkgilzDF/o -O56Fxw9vG1OA+qdQd3yOAV2EqLNBPrEYB9K5GFyffrakSQIDAQABo3sweTAJBgNV -HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp -Y2F0ZTAdBgNVHQ4EFgQUeyy3iV75KtOkpPFd6mnR9dFGZMwwHwYDVR0jBBgwFoAU -ggh/2wAChuhTKqX6WK5nfxQ4yGAwDQYJKoZIhvcNAQEFBQADgYEADtv0CBrQ1QCM -H9jKFjpSpq7zFKMXQeVtb/Zie823//woicg8kxnP5sS4dJWNXNb1iMLdhgV80g1y -t3gTWPxTtFzprQyNiJHTmrbNWXLX1roRVGUE/I8Q4xexqpbNlJIW2Jjm/kqoKfnK -xORG6HNPXZV29NY2fDRPPOIYoFQzrXI= + + + + + + +PTzNKgBBJEV/YtJgOP9lkUMVy+IQ3b9gVn5eorv4e3s= + + + +slamUlCPsGfRZvSlot9sIUMiPSjVSPOeJ0I7X1yxvmE= + + + +0/mhZV4kwFnSzCSp45AhFjWaQnaie61uW8VeXioOLQg= + + + +vPjxjOppORd6hn9Bw4sh06gqtDoJzoFbV/8e9FyIdvk= + + + +OYW0ozIt+YihibhXb3mmAtIpmp5rJFNpS6n0bcbqPpI= + + + +0oc6DiyrAj1HQFcu+27/BHCQKn3zBn9dKls96iQZ564= + + + + + + +u/jU3U4Zm5ihTMSjKGlGYbWzDfRkGphPPHx3gJIYEJ4= + + + +O946StYJMD1w5BSGQYpG4ULHC4AkHsAL7UATxj8UBqm1aYr9w70Cl9kBnvcu9UJ4qMLs1x3rpBlu +oPh5Nx9pOIxe505x4v4Q+bKsh9sQcTbh9uwiyajD6ATvTmfh1w5YCCEbdRgCZ6UbTWw5PMMoNnoU +YbgHcqkzfwdo8U5WN9o= + + + + +MIICmzCCAgQCCQDXI7WLdVZwiTANBgkqhkiG9w0BAQUFADCBjzELMAkGA1UEBhMCS1IxDjAMBgNV +BAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6ZW4gVGVzdCBDQTEiMCAGA1UE +CwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwbVGl6ZW4gUHVibGljIERpc3Ry +aWJ1dG9yIENBMB4XDTEyMTAyOTEzMDMwNFoXDTIyMTAyNzEzMDMwNFowgZMxCzAJBgNVBAYTAktS +MQ4wDAYDVQQIDAVTdXdvbjEOMAwGA1UEBwwFU3V3b24xFjAUBgNVBAoMDVRpemVuIFRlc3QgQ0Ex +IjAgBgNVBAsMGVRpemVuIERpc3RyaWJ1dG9yIFRlc3QgQ0ExKDAmBgNVBAMMH1RpemVuIFB1Ymxp +YyBEaXN0cmlidXRvciBTaWduZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtMvlc5hENK +90ZdA+y66+Sy0enD1gpZDBh5T9RP0oRsptJv5jjNTseQbQi0SZOdOXb6J7iQdlBCtR343RpIEz8H +mrBy7mSY7mgwoU4EPpp4CTSUeAuKcmvrNOngTp5Hv7Ngf02TTHOLK3hZLpGayaDviyNZB5PdqQdB +hokKjzAzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAvGp1gxxAIlFfhJH1efjb9BJK/rtRkbYn9+Ez +GEbEULg1svsgnyWisFimI3uFvgI/swzr1eKVY3Sc8MQ3+Fdy3EkbDZ2+WAubhcEkorTWjzWz2fL1 +vKaYjeIsuEX6TVRUugHWudPzcEuQRLQf8ibZWjbQdBmpeQYBMg5x+xKLCJc= + + +MIICtDCCAh2gAwIBAgIJAMDbehElPNKvMA0GCSqGSIb3DQEBBQUAMIGVMQswCQYDVQQGEwJLUjEO +MAwGA1UECAwFU3V3b24xDjAMBgNVBAcMBVN1d29uMRYwFAYDVQQKDA1UaXplbiBUZXN0IENBMSMw +IQYDVQQLDBpUVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEpMCcGA1UEAwwgVGl6ZW4gUHVibGlj +IERpc3RyaWJ1dG9yIFJvb3QgQ0EwHhcNMTIxMDI5MTMwMjUwWhcNMjIxMDI3MTMwMjUwWjCBjzEL +MAkGA1UEBhMCS1IxDjAMBgNVBAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6 +ZW4gVGVzdCBDQTEiMCAGA1UECwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwb +VGl6ZW4gUHVibGljIERpc3RyaWJ1dG9yIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe +OTS/3nXvkDEmsFCJIvRlQ3RKDcxdWJJp625pFqHdmoJBdV+x6jl1raGK2Y1sp2Gdvpjc/z92yzAp +bE/UVLPh/tRNZPeGhzU4ejDDm7kzdr2f7Ia0U98K+OoY12ucwg7TYNItj9is7Cj4blGfuMDzd2ah +2AgnCGlwNwV/pv+uVQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBACqJ +KO33YdoGudwanZIxMdXuxnnD9R6u72ltKk1S4zPfMJJv482CRGCI4FK6djhlsI4i0Lt1SVIJEed+ +yc3qckGm19dW+4xdlkekon7pViEBWuyHw8OWv3RXtTum1+PGHjBJ2eYY4ZKIpz73U/1NC16sTB/0 +VhfnkHwPltmrpYVe + - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/tests/vcore/resource/wgt/signature22.xml b/tests/vcore/resource/wgt/signature22.xml deleted file mode 100644 index 715a7cc..0000000 --- a/tests/vcore/resource/wgt/signature22.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - ZLhd8X2rzCIDGHkIvpDbCXq+dwq+DK7ZZaDD/fII8RU= - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - ZxnfFPi1rAoxfpN98xSP3lv5tZg9ymJElAFdg3ejrXE= - - - fV1J/120GG5L7qsxEkyH6fBvQh2atlpiGMbVM1+pb8Q6pHib5beV6A== - - - MIIEDzCCA3igAwIBAgIJAMdKgvadG/Z/MA0GCSqGSIb3DQEBBQUAMHIxCzAJBgNV -BAYTAlBMMQwwCgYDVQQIEwNNYXoxEDAOBgNVBAoTB1NhbXN1bmcxDTALBgNVBAsT -BFNQUkMxEDAOBgNVBAMTB1NhbXN1bmcxIjAgBgkqhkiG9w0BCQEWE3NhbXN1bmdA -c2Ftc3VuZy5jb20wHhcNMTExMDA1MTIxMTMzWhcNMjExMDAyMTIxMTMzWjCBijEL -MAkGA1UEBhMCUEwxFDASBgNVBAgTC01hem93aWVja2llMRIwEAYDVQQHEwlsZWdp -b25vd28xEDAOBgNVBAoTB3NhbXN1bmcxDTALBgNVBAsTBHNwcmMxDjAMBgNVBAMT -BW1hZ2RhMSAwHgYJKoZIhvcNAQkBFhFtYWdkYUBzYW1zdW5nLmNvbTCCAbcwggEr -BgcqhkjOOAQBMIIBHgKBgQC1PCOasFhlfMc1yjdcp7zkzXGiW+MpVuFlsdYwkAa9 -sIvNrQLi2ulxcnNBeCHKDbk7U+J3/QwO2XanapQMUqvfjfjL1QQ5Vf7ENUWPNP7c -Evx82Nb5jWdHyRfV//TciBZN8GLNEbfhtWlhI6CbDW1AaY0nPZ879rSIk7/aNKZ3 -FQIVALcr8uQAmnV+3DLIA5nTo0Bg0bjLAoGAJG7meUtQbMulRMdjzeCoya2FXdm+ -4acvInE9/+MybXTB3bFANMyw6WTvk4K9RK8tm52N95cykTjpAbxqTMaXwkdWbOFd -VKAKnyxi/UKtY9Q6NmwJB2hbA1GUzhPko8rEda66CGl0VbyM1lKMJjA+wp9pG110 -L0ov19Q9fvqKp5UDgYUAAoGBAKxAQg7MqCgkC0MJftYjNaKM5n1iZv4j1li49zKf -Y5nTLP+vYAvg0owLNYvJ5ncKfY1DACPU4/+tC7TTua95wgj5rwvAXnzgSyOGuSr0 -fK9DyrH6E0LfXT+WuIQHahm2iSbxqPrChlnp5/EXDTBaO6Qfdpq0BP48ClZebxcA -+TYFo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy -YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUmSpShswvWtEABd+l3WxccRcCydUw -HwYDVR0jBBgwFoAUggh/2wAChuhTKqX6WK5nfxQ4yGAwDQYJKoZIhvcNAQEFBQAD -gYEAgfnAu/gMJRC/BFwkgvrHL0TV4ffPVAf7RSnZS6ib4IHGgrvXJvL+Qh7vHykv -ZIqD2L96nY2EaSNr0yXrT81YROndOQUJNx4Y/W8m6asu4hzANNZqWCbApPDIMK6V -cPA1wrKgZqbWp218WBqI2v9pXV0O+jpzxq1+GeQV2UsbRwc= - - - - - - - - - - - - - - - - diff --git a/tests/vcore/resource/wgt_negative_hash/author-signature.xml b/tests/vcore/resource/wgt_negative_hash/author-signature.xml index 67e9c43..cb0b73c 100644 --- a/tests/vcore/resource/wgt_negative_hash/author-signature.xml +++ b/tests/vcore/resource/wgt_negative_hash/author-signature.xml @@ -1,66 +1,75 @@ - - - - - - - - zUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - kIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - MH34nIMXxv0fMQQ8bTV1wZUNLOrXTmpnxpADlNzmQ/4= - - - fhh+VQq76Uodq4upHhvcC2tgbVY8bL9DiiSe9wn1O4YrIFKMnEEYqYmpQbL1puWU -Zbht0hXpvEFXg1010q5kOZQxknqcyFg3hyVUpFDPARkJs1XhRNbFWJJF7qNXVgt5 -NyFrdXFv4lVFjkv+chSykaWu6V22z43E8kJcg+zGVU8= - - - MIIETTCCA7agAwIBAgIJANaOuOCRgiz3MA0GCSqGSIb3DQEBBQUAMIG8MQswCQYD -VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy -aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEeMBwG -A1UECxMVVGVzdCBSb290IENlcnRpZmljYXRlMRYwFAYDVQQDEw1BbGVrc2V5IFNh -bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb20wHhcNMDUwNzEw -MDIyOTAxWhcNMTUwNzA4MDIyOTAxWjCBvDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -CkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1cml0eSBMaWJyYXJ5IChodHRw -Oi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHjAcBgNVBAsTFVRlc3QgUm9vdCBD -ZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJ -ARYSeG1sc2VjQGFsZWtzZXkuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB -gQDayaFajJxOdVU+8EjwO31S2XqNmYxxbHfiUJO3w2h57OPUkKAcKe5Gvt9hJbPT -b3C4blPScOke2RexKnXS7pAXXbxFlgUlZ0QK0K2pdl559OSmrtH3mPP9BJvvDMlx -kcNj9/EeD+yGd8GN/yT6PTDh8G/4lszOXL+tyKIkC4Ys/wIDAQABo4IBUzCCAU8w -DAYDVR0TBAUwAwEB/zAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQg -Q2VydGlmaWNhdGUwHQYDVR0OBBYEFNpG6Wvmr9M9quUhS1LtymYo4P6FMIHxBgNV -HSMEgekwgeaAFNpG6Wvmr9M9quUhS1LtymYo4P6FoYHCpIG/MIG8MQswCQYDVQQG -EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3VyaXR5 -IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEeMBwGA1UE -CxMVVGVzdCBSb290IENlcnRpZmljYXRlMRYwFAYDVQQDEw1BbGVrc2V5IFNhbmlu -MSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQDWjrjgkYIs9zAN -BgkqhkiG9w0BAQUFAAOBgQBUXbdOTQwArcNrbxavzARp2JGOnzo6WzTm+OFSXC0F -08YwT8jWbht97e8lNNVOBU4Y/38ReZqYC9OqFofG1/O9AdQ58WL/FWg8DgP5MJPT -T9kRU3FU01jUiX2+kbdnghZAOJm0ziRNxfNPwIIWPKYXyXEKQQzrnxyFey1hP7cg -6A== + + + + + + +slamUlCPsGfRZvSlot9sIUMiPSjVSPOeJ0I7X1yxvmE= + + + +0/mhZV4kwFnSzCSp45AhFjWaQnaie61uW8VeXioOLQg= + + + +vPjxjOppORd6hn9Bw4sh06gqtDoJzoFbV/8e9FyIdvk= + + + +OYW0ozIt+YihibhXb3mmAtIpmp5rJFNpS6n0bcbqPpI= + + + +0oc6DiyrAj1HQFcu+27/BHCQKn3zBn9dKls96iQZ564= + + + + + + +lpo8tUDs054eLlBQXiDPVDVKfw30ZZdtkRs1jd7H5K8= + + + +DEDbUoxWn26xtZD+J+Qp71TzALREeTaalmbS1170MXpPiGjukYhD63KDEcHhYxU2cgAVUAcL2mD/ +ITe50rC8jy7dz2xqnUP2rIlFxIGRbciCs9fHx2CmqIq4yqvvdj7usy9o3SWsBxNaWshd7PJYQyjD +XQXN5fgiNZtFQ/MuUuw= + + + + +MIICuzCCAaOgAwIBAgIGAUpat3J5MA0GCSqGSIb3DQEBBQUAMFYxGjAYBgNVBAoMEVRpemVuIEFz +c29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4gRGV2 +ZWxvcGVycyBDQTAeFw0xMjExMDEwMDAwMDBaFw0xOTAxMDEwMDAwMDBaMDcxCzAJBgNVBAYTAmxk +MQwwCgYDVQQIDANsZHMxDDAKBgNVBAcMA2xkczEMMAoGA1UEAwwDbGRzMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQCPihyYVpUCkUD6xcZVoyfF6N8BP7EW9fwNPAMTZA5hyCHWxquGgO5TC6bk +JtIOcor8SLKa81wJ+vVe/EdbrRP3Lk8lqYl9linQ+yLA74XOTy9K9bUacOKv9tVN/BWYcRoneMKB +hrawFCXFY+MAdCnw0dN61Vqg8HPu1Z6oFAlVPQIDAQABozIwMDAMBgNVHRMBAf8EAjAAMAsGA1Ud +DwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQUFAAOCAQEAfUERPsFiaF54 +VZuhIrAzgWI53fPMATnkj4EDsIkeece8mnw0sbmrw/0ps7AsIpFib6Cv6kDZ3O7kpjg64/tKdEHR +15Mh0UVyYBGuJeFF6SGpCWBqGAI7MuXPhjDwdL1VfWqOrzRQGC6yUVnGu72JNvvxf8VgfTaQlS6P +vPU2TBmLC5auHdYcCIBVHfH9wTjVjNuIN0inmhj+zgFd6nqMdpzDQqTKj+fTMDZU7cFSNOAuJZcg +M8iZH2btaezda3qdTcEhLiqFBbBlm4zSAY8atvGj4Kxh3iqXR1+dCxS/AdChvuAXNtO9j2yscTeS +7znbGskeqeUY/VNXlpVwOyZ05w== + + +MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMRowGAYDVQQKDBFUaXplbiBBc3NvY2lh +dGlvbjEaMBgGA1UECwwRVGl6ZW4gQXNzb2NpYXRpb24xHjAcBgNVBAMMFVRpemVuIERldmVsb3Bl +cnMgUm9vdDAeFw0xMjAxMDEwMDAwMDBaFw0yNzAxMDEwMDAwMDBaMFYxGjAYBgNVBAoMEVRpemVu +IEFzc29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4g +RGV2ZWxvcGVycyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANVGhRGmMIUyBA7o +PCz8Sxut6z6HNkF4oDIuzuKaMzRYPeWodwe9O0gmqAkToQHfwg2giRhE5GoPld0fq+OYMMwSasCu +g8dwODx1eDeSYVuOLWRxpAmbTXOsSFi6VoWeyaPEm18JBHvZBsU5YQtgZ6Kp7MqzvQg3pXOxtajj +vyHxiatJl+xXrHgcXC1wgyG3buty7u/Fi2mvKXJ0PRJcCjjK81dqe/Vr20sRUCrbk02zbm5ggFt/ +jIEhV8wbFRQpliobc7J4dSTKhFfrqGM8rdd54LYhD7gSI1CFSe16pUXfcVR7FhJztRaiGLnCrwBE +dyTZ248+D4L/qR/D0axb3jcCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOC +AQEAnOXXQ/1O/QTDHyrmQDtFziqPY3xWlJBqJtEqXiT7Y+Ljpe66e+Ee/OjQMlZe8gu21/8cKklH +95RxjopMWCVedXDUbWdvS2+CdyvVW/quT2E0tjqIzXDekUTYwwhlPWlGxvfj3VsxqSFq3p8Brl04 +1Gx5RKAGyKVsMfTLhbbwSWwApuBUxYfcNpKwLWGPXkysu+HctY03OKv4/xKBnVWiN8ex/Sgesi0M ++OBAOMdZMPK32uJBTeKFx1xZgTLIhk45V0hPOomPjZloiv0LSS11eyd451ufjW0iHRE7WlpR6EvI +W6TFyZgMpQq+kg4hWl2SBTf3s2VI8Ygz7gj8TMlClg== + - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/tests/vcore/resource/wgt_negative_hash/config.xml b/tests/vcore/resource/wgt_negative_hash/config.xml index 82b077b..5e57d7d 100644 --- a/tests/vcore/resource/wgt_negative_hash/config.xml +++ b/tests/vcore/resource/wgt_negative_hash/config.xml @@ -1,6 +1,9 @@ - - Widget Name OK - 1.2.3.4 - A short description of widget - Author Name + + + + + + + TestApp + diff --git a/tests/vcore/resource/wgt_negative_hash/css/style.css b/tests/vcore/resource/wgt_negative_hash/css/style.css new file mode 100644 index 0000000..4eb877d --- /dev/null +++ b/tests/vcore/resource/wgt_negative_hash/css/style.css @@ -0,0 +1,23 @@ +* { + font-family: Verdana, Lucida Sans, Arial, Helvetica, sans-serif; +} + +body { + margin: 0px auto; + background-color:#222; +} + +.contents { + display: flex; + display: -webkit-flex; + box-sizing: border-box; + -webkit-box-sizing: border-box; + height:320px; +} + + +.content_text { + font-weight:bold; + font-size:5em; + color:#fff; +} \ No newline at end of file diff --git a/tests/vcore/resource/wgt_negative_hash/icon.png b/tests/vcore/resource/wgt_negative_hash/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1f025680eaaa671abff00d57c508df54dafd5a1b GIT binary patch literal 25897 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 H7GeJbGy%?y literal 0 HcmV?d00001 diff --git a/tests/vcore/resource/wgt_negative_hash/index.html b/tests/vcore/resource/wgt_negative_hash/index.html index c47b20a..f6c4a72 100644 --- a/tests/vcore/resource/wgt_negative_hash/index.html +++ b/tests/vcore/resource/wgt_negative_hash/index.html @@ -1,4 +1,21 @@ - -Not tested - -

None

+ + + + + + + + Tizen Wearable Web IDE - Tizen Wearable - Tizen Wearable basic Application + + + + + + +
+
+ Basic +
+
+ + diff --git a/tests/vcore/resource/wgt_negative_hash/js/main.js b/tests/vcore/resource/wgt_negative_hash/js/main.js new file mode 100644 index 0000000..ad3d5a6 --- /dev/null +++ b/tests/vcore/resource/wgt_negative_hash/js/main.js @@ -0,0 +1,22 @@ + +window.onload = function () { + // TODO:: Do your initialization job + // INSERTED LINE AFTER APP SIGNED! + + // add eventListener for tizenhwkey + document.addEventListener('tizenhwkey', function(e) { + if(e.keyName == "back") + try { + tizen.application.getCurrentApplication().exit(); + } catch (ignore) { + } + }); + + // Sample code + var textbox = document.querySelector('.contents'); + textbox.addEventListener("click", function(){ + box = document.querySelector('#textbox'); + box.innerHTML = box.innerHTML == "Basic" ? "Sample" : "Basic"; + }); + +}; diff --git a/tests/vcore/resource/wgt_negative_hash/signature1.xml b/tests/vcore/resource/wgt_negative_hash/signature1.xml index 71a100b..48becf3 100644 --- a/tests/vcore/resource/wgt_negative_hash/signature1.xml +++ b/tests/vcore/resource/wgt_negative_hash/signature1.xml @@ -1,62 +1,76 @@ - - - - - - - - ZLhd8X2rzCIDGHkIvpDbCXq+dwq+DK7ZZaDD/fII8RU= - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - ZxnfFPi1rAoxfpN98xSP3lv5tZg9ymJElAFdg3ejrXE= - - - Dwm15jQbvUxe7fa7p4RVRAUzYY6eGQmDJSWXnv2LBbouch163OMaXgjKXWOLU+ZA -MwwuUUXG44QvOIv5M3Kd/Pc6kwvyb9+xm8zqmFF/mhttmAHc7VjY5sfB+bYFt9/3 -8+upSqxiUGLXYzMD/9u4W9ociwAcLiOQytBF1/TCv/4= - - - MIIC4zCCAkygAwIBAgIJAMdKgvadG/Z+MA0GCSqGSIb3DQEBBQUAMHIxCzAJBgNV -BAYTAlBMMQwwCgYDVQQIEwNNYXoxEDAOBgNVBAoTB1NhbXN1bmcxDTALBgNVBAsT -BFNQUkMxEDAOBgNVBAMTB1NhbXN1bmcxIjAgBgkqhkiG9w0BCQEWE3NhbXN1bmdA -c2Ftc3VuZy5jb20wHhcNMTExMDA1MTIwMDUxWhcNMjExMDAyMTIwMDUxWjB4MQsw -CQYDVQQGEwJQTDEMMAoGA1UECBMDTUFaMQwwCgYDVQQHEwNMZWcxDDAKBgNVBAoT -A1NhbTENMAsGA1UECxMEU1BSQzEOMAwGA1UEAxMFRmlsaXAxIDAeBgkqhkiG9w0B -CQEWEWZpbGlwQHNhbXN1bmcuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB -gQDS/sS0wXSCb34ojN8bWFd4Pl9eTLHh18UNGsPpLpp4itdfuc/OgyqaSoDwBzVh -EWAVLCTxexUa4Ncva+41NbkW4RCsFzeGs0ktpu1+8Q+v0QEOGqVF2rQkgilzDF/o -O56Fxw9vG1OA+qdQd3yOAV2EqLNBPrEYB9K5GFyffrakSQIDAQABo3sweTAJBgNV -HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp -Y2F0ZTAdBgNVHQ4EFgQUeyy3iV75KtOkpPFd6mnR9dFGZMwwHwYDVR0jBBgwFoAU -ggh/2wAChuhTKqX6WK5nfxQ4yGAwDQYJKoZIhvcNAQEFBQADgYEADtv0CBrQ1QCM -H9jKFjpSpq7zFKMXQeVtb/Zie823//woicg8kxnP5sS4dJWNXNb1iMLdhgV80g1y -t3gTWPxTtFzprQyNiJHTmrbNWXLX1roRVGUE/I8Q4xexqpbNlJIW2Jjm/kqoKfnK -xORG6HNPXZV29NY2fDRPPOIYoFQzrXI= + + + + + + +PTzNKgBBJEV/YtJgOP9lkUMVy+IQ3b9gVn5eorv4e3s= + + + +slamUlCPsGfRZvSlot9sIUMiPSjVSPOeJ0I7X1yxvmE= + + + +0/mhZV4kwFnSzCSp45AhFjWaQnaie61uW8VeXioOLQg= + + + +vPjxjOppORd6hn9Bw4sh06gqtDoJzoFbV/8e9FyIdvk= + + + +OYW0ozIt+YihibhXb3mmAtIpmp5rJFNpS6n0bcbqPpI= + + + +0oc6DiyrAj1HQFcu+27/BHCQKn3zBn9dKls96iQZ564= + + + + + + +u/jU3U4Zm5ihTMSjKGlGYbWzDfRkGphPPHx3gJIYEJ4= + + + +O946StYJMD1w5BSGQYpG4ULHC4AkHsAL7UATxj8UBqm1aYr9w70Cl9kBnvcu9UJ4qMLs1x3rpBlu +oPh5Nx9pOIxe505x4v4Q+bKsh9sQcTbh9uwiyajD6ATvTmfh1w5YCCEbdRgCZ6UbTWw5PMMoNnoU +YbgHcqkzfwdo8U5WN9o= + + + + +MIICmzCCAgQCCQDXI7WLdVZwiTANBgkqhkiG9w0BAQUFADCBjzELMAkGA1UEBhMCS1IxDjAMBgNV +BAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6ZW4gVGVzdCBDQTEiMCAGA1UE +CwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwbVGl6ZW4gUHVibGljIERpc3Ry +aWJ1dG9yIENBMB4XDTEyMTAyOTEzMDMwNFoXDTIyMTAyNzEzMDMwNFowgZMxCzAJBgNVBAYTAktS +MQ4wDAYDVQQIDAVTdXdvbjEOMAwGA1UEBwwFU3V3b24xFjAUBgNVBAoMDVRpemVuIFRlc3QgQ0Ex +IjAgBgNVBAsMGVRpemVuIERpc3RyaWJ1dG9yIFRlc3QgQ0ExKDAmBgNVBAMMH1RpemVuIFB1Ymxp +YyBEaXN0cmlidXRvciBTaWduZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtMvlc5hENK +90ZdA+y66+Sy0enD1gpZDBh5T9RP0oRsptJv5jjNTseQbQi0SZOdOXb6J7iQdlBCtR343RpIEz8H +mrBy7mSY7mgwoU4EPpp4CTSUeAuKcmvrNOngTp5Hv7Ngf02TTHOLK3hZLpGayaDviyNZB5PdqQdB +hokKjzAzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAvGp1gxxAIlFfhJH1efjb9BJK/rtRkbYn9+Ez +GEbEULg1svsgnyWisFimI3uFvgI/swzr1eKVY3Sc8MQ3+Fdy3EkbDZ2+WAubhcEkorTWjzWz2fL1 +vKaYjeIsuEX6TVRUugHWudPzcEuQRLQf8ibZWjbQdBmpeQYBMg5x+xKLCJc= + + +MIICtDCCAh2gAwIBAgIJAMDbehElPNKvMA0GCSqGSIb3DQEBBQUAMIGVMQswCQYDVQQGEwJLUjEO +MAwGA1UECAwFU3V3b24xDjAMBgNVBAcMBVN1d29uMRYwFAYDVQQKDA1UaXplbiBUZXN0IENBMSMw +IQYDVQQLDBpUVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEpMCcGA1UEAwwgVGl6ZW4gUHVibGlj +IERpc3RyaWJ1dG9yIFJvb3QgQ0EwHhcNMTIxMDI5MTMwMjUwWhcNMjIxMDI3MTMwMjUwWjCBjzEL +MAkGA1UEBhMCS1IxDjAMBgNVBAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6 +ZW4gVGVzdCBDQTEiMCAGA1UECwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwb +VGl6ZW4gUHVibGljIERpc3RyaWJ1dG9yIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe +OTS/3nXvkDEmsFCJIvRlQ3RKDcxdWJJp625pFqHdmoJBdV+x6jl1raGK2Y1sp2Gdvpjc/z92yzAp +bE/UVLPh/tRNZPeGhzU4ejDDm7kzdr2f7Ia0U98K+OoY12ucwg7TYNItj9is7Cj4blGfuMDzd2ah +2AgnCGlwNwV/pv+uVQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBACqJ +KO33YdoGudwanZIxMdXuxnnD9R6u72ltKk1S4zPfMJJv482CRGCI4FK6djhlsI4i0Lt1SVIJEed+ +yc3qckGm19dW+4xdlkekon7pViEBWuyHw8OWv3RXtTum1+PGHjBJ2eYY4ZKIpz73U/1NC16sTB/0 +VhfnkHwPltmrpYVe + - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/tests/vcore/resource/wgt_negative_hash/signature22.xml b/tests/vcore/resource/wgt_negative_hash/signature22.xml deleted file mode 100644 index 715a7cc..0000000 --- a/tests/vcore/resource/wgt_negative_hash/signature22.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - ZLhd8X2rzCIDGHkIvpDbCXq+dwq+DK7ZZaDD/fII8RU= - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - ZxnfFPi1rAoxfpN98xSP3lv5tZg9ymJElAFdg3ejrXE= - - - fV1J/120GG5L7qsxEkyH6fBvQh2atlpiGMbVM1+pb8Q6pHib5beV6A== - - - MIIEDzCCA3igAwIBAgIJAMdKgvadG/Z/MA0GCSqGSIb3DQEBBQUAMHIxCzAJBgNV -BAYTAlBMMQwwCgYDVQQIEwNNYXoxEDAOBgNVBAoTB1NhbXN1bmcxDTALBgNVBAsT -BFNQUkMxEDAOBgNVBAMTB1NhbXN1bmcxIjAgBgkqhkiG9w0BCQEWE3NhbXN1bmdA -c2Ftc3VuZy5jb20wHhcNMTExMDA1MTIxMTMzWhcNMjExMDAyMTIxMTMzWjCBijEL -MAkGA1UEBhMCUEwxFDASBgNVBAgTC01hem93aWVja2llMRIwEAYDVQQHEwlsZWdp -b25vd28xEDAOBgNVBAoTB3NhbXN1bmcxDTALBgNVBAsTBHNwcmMxDjAMBgNVBAMT -BW1hZ2RhMSAwHgYJKoZIhvcNAQkBFhFtYWdkYUBzYW1zdW5nLmNvbTCCAbcwggEr -BgcqhkjOOAQBMIIBHgKBgQC1PCOasFhlfMc1yjdcp7zkzXGiW+MpVuFlsdYwkAa9 -sIvNrQLi2ulxcnNBeCHKDbk7U+J3/QwO2XanapQMUqvfjfjL1QQ5Vf7ENUWPNP7c -Evx82Nb5jWdHyRfV//TciBZN8GLNEbfhtWlhI6CbDW1AaY0nPZ879rSIk7/aNKZ3 -FQIVALcr8uQAmnV+3DLIA5nTo0Bg0bjLAoGAJG7meUtQbMulRMdjzeCoya2FXdm+ -4acvInE9/+MybXTB3bFANMyw6WTvk4K9RK8tm52N95cykTjpAbxqTMaXwkdWbOFd -VKAKnyxi/UKtY9Q6NmwJB2hbA1GUzhPko8rEda66CGl0VbyM1lKMJjA+wp9pG110 -L0ov19Q9fvqKp5UDgYUAAoGBAKxAQg7MqCgkC0MJftYjNaKM5n1iZv4j1li49zKf -Y5nTLP+vYAvg0owLNYvJ5ncKfY1DACPU4/+tC7TTua95wgj5rwvAXnzgSyOGuSr0 -fK9DyrH6E0LfXT+WuIQHahm2iSbxqPrChlnp5/EXDTBaO6Qfdpq0BP48ClZebxcA -+TYFo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy -YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUmSpShswvWtEABd+l3WxccRcCydUw -HwYDVR0jBBgwFoAUggh/2wAChuhTKqX6WK5nfxQ4yGAwDQYJKoZIhvcNAQEFBQAD -gYEAgfnAu/gMJRC/BFwkgvrHL0TV4ffPVAf7RSnZS6ib4IHGgrvXJvL+Qh7vHykv -ZIqD2L96nY2EaSNr0yXrT81YROndOQUJNx4Y/W8m6asu4hzANNZqWCbApPDIMK6V -cPA1wrKgZqbWp218WBqI2v9pXV0O+jpzxq1+GeQV2UsbRwc= - - - - - - - - - - - - - - - - diff --git a/tests/vcore/resource/wgt_negative_signature/author-signature.xml b/tests/vcore/resource/wgt_negative_signature/author-signature.xml index e0c2989..cb0b73c 100644 --- a/tests/vcore/resource/wgt_negative_signature/author-signature.xml +++ b/tests/vcore/resource/wgt_negative_signature/author-signature.xml @@ -1,66 +1,75 @@ - - - - - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - MH34nIMXxv0fMQQ8bTV1wZUNLOrXTmpnxpADlNzmQ/4= - - - khh+VQq76Uodq4upHhvcC2tgbVY8bL9DiiSe9wn1O4YrIFKMnEEYqYmpQbL1puWU -Zbht0hXpvEFXg1010q5kOZQxknqcyFg3hyVUpFDPARkJs1XhRNbFWJJF7qNXVgt5 -NyFrdXFv4lVFjkv+chSykaWu6V22z43E8kJcg+zGVU8= - - - MIIETTCCA7agAwIBAgIJANaOuOCRgiz3MA0GCSqGSIb3DQEBBQUAMIG8MQswCQYD -VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy -aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEeMBwG -A1UECxMVVGVzdCBSb290IENlcnRpZmljYXRlMRYwFAYDVQQDEw1BbGVrc2V5IFNh -bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb20wHhcNMDUwNzEw -MDIyOTAxWhcNMTUwNzA4MDIyOTAxWjCBvDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -CkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1cml0eSBMaWJyYXJ5IChodHRw -Oi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHjAcBgNVBAsTFVRlc3QgUm9vdCBD -ZXJ0aWZpY2F0ZTEWMBQGA1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJ -ARYSeG1sc2VjQGFsZWtzZXkuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB -gQDayaFajJxOdVU+8EjwO31S2XqNmYxxbHfiUJO3w2h57OPUkKAcKe5Gvt9hJbPT -b3C4blPScOke2RexKnXS7pAXXbxFlgUlZ0QK0K2pdl559OSmrtH3mPP9BJvvDMlx -kcNj9/EeD+yGd8GN/yT6PTDh8G/4lszOXL+tyKIkC4Ys/wIDAQABo4IBUzCCAU8w -DAYDVR0TBAUwAwEB/zAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQg -Q2VydGlmaWNhdGUwHQYDVR0OBBYEFNpG6Wvmr9M9quUhS1LtymYo4P6FMIHxBgNV -HSMEgekwgeaAFNpG6Wvmr9M9quUhS1LtymYo4P6FoYHCpIG/MIG8MQswCQYDVQQG -EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3VyaXR5 -IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEeMBwGA1UE -CxMVVGVzdCBSb290IENlcnRpZmljYXRlMRYwFAYDVQQDEw1BbGVrc2V5IFNhbmlu -MSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQDWjrjgkYIs9zAN -BgkqhkiG9w0BAQUFAAOBgQBUXbdOTQwArcNrbxavzARp2JGOnzo6WzTm+OFSXC0F -08YwT8jWbht97e8lNNVOBU4Y/38ReZqYC9OqFofG1/O9AdQ58WL/FWg8DgP5MJPT -T9kRU3FU01jUiX2+kbdnghZAOJm0ziRNxfNPwIIWPKYXyXEKQQzrnxyFey1hP7cg -6A== + + + + + + +slamUlCPsGfRZvSlot9sIUMiPSjVSPOeJ0I7X1yxvmE= + + + +0/mhZV4kwFnSzCSp45AhFjWaQnaie61uW8VeXioOLQg= + + + +vPjxjOppORd6hn9Bw4sh06gqtDoJzoFbV/8e9FyIdvk= + + + +OYW0ozIt+YihibhXb3mmAtIpmp5rJFNpS6n0bcbqPpI= + + + +0oc6DiyrAj1HQFcu+27/BHCQKn3zBn9dKls96iQZ564= + + + + + + +lpo8tUDs054eLlBQXiDPVDVKfw30ZZdtkRs1jd7H5K8= + + + +DEDbUoxWn26xtZD+J+Qp71TzALREeTaalmbS1170MXpPiGjukYhD63KDEcHhYxU2cgAVUAcL2mD/ +ITe50rC8jy7dz2xqnUP2rIlFxIGRbciCs9fHx2CmqIq4yqvvdj7usy9o3SWsBxNaWshd7PJYQyjD +XQXN5fgiNZtFQ/MuUuw= + + + + +MIICuzCCAaOgAwIBAgIGAUpat3J5MA0GCSqGSIb3DQEBBQUAMFYxGjAYBgNVBAoMEVRpemVuIEFz +c29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4gRGV2 +ZWxvcGVycyBDQTAeFw0xMjExMDEwMDAwMDBaFw0xOTAxMDEwMDAwMDBaMDcxCzAJBgNVBAYTAmxk +MQwwCgYDVQQIDANsZHMxDDAKBgNVBAcMA2xkczEMMAoGA1UEAwwDbGRzMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQCPihyYVpUCkUD6xcZVoyfF6N8BP7EW9fwNPAMTZA5hyCHWxquGgO5TC6bk +JtIOcor8SLKa81wJ+vVe/EdbrRP3Lk8lqYl9linQ+yLA74XOTy9K9bUacOKv9tVN/BWYcRoneMKB +hrawFCXFY+MAdCnw0dN61Vqg8HPu1Z6oFAlVPQIDAQABozIwMDAMBgNVHRMBAf8EAjAAMAsGA1Ud +DwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQUFAAOCAQEAfUERPsFiaF54 +VZuhIrAzgWI53fPMATnkj4EDsIkeece8mnw0sbmrw/0ps7AsIpFib6Cv6kDZ3O7kpjg64/tKdEHR +15Mh0UVyYBGuJeFF6SGpCWBqGAI7MuXPhjDwdL1VfWqOrzRQGC6yUVnGu72JNvvxf8VgfTaQlS6P +vPU2TBmLC5auHdYcCIBVHfH9wTjVjNuIN0inmhj+zgFd6nqMdpzDQqTKj+fTMDZU7cFSNOAuJZcg +M8iZH2btaezda3qdTcEhLiqFBbBlm4zSAY8atvGj4Kxh3iqXR1+dCxS/AdChvuAXNtO9j2yscTeS +7znbGskeqeUY/VNXlpVwOyZ05w== + + +MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMRowGAYDVQQKDBFUaXplbiBBc3NvY2lh +dGlvbjEaMBgGA1UECwwRVGl6ZW4gQXNzb2NpYXRpb24xHjAcBgNVBAMMFVRpemVuIERldmVsb3Bl +cnMgUm9vdDAeFw0xMjAxMDEwMDAwMDBaFw0yNzAxMDEwMDAwMDBaMFYxGjAYBgNVBAoMEVRpemVu +IEFzc29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4g +RGV2ZWxvcGVycyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANVGhRGmMIUyBA7o +PCz8Sxut6z6HNkF4oDIuzuKaMzRYPeWodwe9O0gmqAkToQHfwg2giRhE5GoPld0fq+OYMMwSasCu +g8dwODx1eDeSYVuOLWRxpAmbTXOsSFi6VoWeyaPEm18JBHvZBsU5YQtgZ6Kp7MqzvQg3pXOxtajj +vyHxiatJl+xXrHgcXC1wgyG3buty7u/Fi2mvKXJ0PRJcCjjK81dqe/Vr20sRUCrbk02zbm5ggFt/ +jIEhV8wbFRQpliobc7J4dSTKhFfrqGM8rdd54LYhD7gSI1CFSe16pUXfcVR7FhJztRaiGLnCrwBE +dyTZ248+D4L/qR/D0axb3jcCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOC +AQEAnOXXQ/1O/QTDHyrmQDtFziqPY3xWlJBqJtEqXiT7Y+Ljpe66e+Ee/OjQMlZe8gu21/8cKklH +95RxjopMWCVedXDUbWdvS2+CdyvVW/quT2E0tjqIzXDekUTYwwhlPWlGxvfj3VsxqSFq3p8Brl04 +1Gx5RKAGyKVsMfTLhbbwSWwApuBUxYfcNpKwLWGPXkysu+HctY03OKv4/xKBnVWiN8ex/Sgesi0M ++OBAOMdZMPK32uJBTeKFx1xZgTLIhk45V0hPOomPjZloiv0LSS11eyd451ufjW0iHRE7WlpR6EvI +W6TFyZgMpQq+kg4hWl2SBTf3s2VI8Ygz7gj8TMlClg== + - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/tests/vcore/resource/wgt_negative_signature/config.xml b/tests/vcore/resource/wgt_negative_signature/config.xml index 82b077b..5e57d7d 100644 --- a/tests/vcore/resource/wgt_negative_signature/config.xml +++ b/tests/vcore/resource/wgt_negative_signature/config.xml @@ -1,6 +1,9 @@ - - Widget Name OK - 1.2.3.4 - A short description of widget - Author Name + + + + + + + TestApp + diff --git a/tests/vcore/resource/wgt_negative_signature/css/style.css b/tests/vcore/resource/wgt_negative_signature/css/style.css new file mode 100644 index 0000000..4eb877d --- /dev/null +++ b/tests/vcore/resource/wgt_negative_signature/css/style.css @@ -0,0 +1,23 @@ +* { + font-family: Verdana, Lucida Sans, Arial, Helvetica, sans-serif; +} + +body { + margin: 0px auto; + background-color:#222; +} + +.contents { + display: flex; + display: -webkit-flex; + box-sizing: border-box; + -webkit-box-sizing: border-box; + height:320px; +} + + +.content_text { + font-weight:bold; + font-size:5em; + color:#fff; +} \ No newline at end of file diff --git a/tests/vcore/resource/wgt_negative_signature/icon.png b/tests/vcore/resource/wgt_negative_signature/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1f025680eaaa671abff00d57c508df54dafd5a1b GIT binary patch literal 25897 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 H7GeJbGy%?y literal 0 HcmV?d00001 diff --git a/tests/vcore/resource/wgt_negative_signature/index.html b/tests/vcore/resource/wgt_negative_signature/index.html index c47b20a..f6c4a72 100644 --- a/tests/vcore/resource/wgt_negative_signature/index.html +++ b/tests/vcore/resource/wgt_negative_signature/index.html @@ -1,4 +1,21 @@ - -Not tested - -

None

+ + + + + + + + Tizen Wearable Web IDE - Tizen Wearable - Tizen Wearable basic Application + + + + + + +
+
+ Basic +
+
+ + diff --git a/tests/vcore/resource/wgt_negative_signature/js/main.js b/tests/vcore/resource/wgt_negative_signature/js/main.js new file mode 100644 index 0000000..88fb9e4 --- /dev/null +++ b/tests/vcore/resource/wgt_negative_signature/js/main.js @@ -0,0 +1,21 @@ + +window.onload = function () { + // TODO:: Do your initialization job + + // add eventListener for tizenhwkey + document.addEventListener('tizenhwkey', function(e) { + if(e.keyName == "back") + try { + tizen.application.getCurrentApplication().exit(); + } catch (ignore) { + } + }); + + // Sample code + var textbox = document.querySelector('.contents'); + textbox.addEventListener("click", function(){ + box = document.querySelector('#textbox'); + box.innerHTML = box.innerHTML == "Basic" ? "Sample" : "Basic"; + }); + +}; diff --git a/tests/vcore/resource/wgt_negative_signature/signature1.xml b/tests/vcore/resource/wgt_negative_signature/signature1.xml index 71a100b..d3b1639 100644 --- a/tests/vcore/resource/wgt_negative_signature/signature1.xml +++ b/tests/vcore/resource/wgt_negative_signature/signature1.xml @@ -1,62 +1,76 @@ - - - - - - - - ZLhd8X2rzCIDGHkIvpDbCXq+dwq+DK7ZZaDD/fII8RU= - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - ZxnfFPi1rAoxfpN98xSP3lv5tZg9ymJElAFdg3ejrXE= - - - Dwm15jQbvUxe7fa7p4RVRAUzYY6eGQmDJSWXnv2LBbouch163OMaXgjKXWOLU+ZA -MwwuUUXG44QvOIv5M3Kd/Pc6kwvyb9+xm8zqmFF/mhttmAHc7VjY5sfB+bYFt9/3 -8+upSqxiUGLXYzMD/9u4W9ociwAcLiOQytBF1/TCv/4= - - - MIIC4zCCAkygAwIBAgIJAMdKgvadG/Z+MA0GCSqGSIb3DQEBBQUAMHIxCzAJBgNV -BAYTAlBMMQwwCgYDVQQIEwNNYXoxEDAOBgNVBAoTB1NhbXN1bmcxDTALBgNVBAsT -BFNQUkMxEDAOBgNVBAMTB1NhbXN1bmcxIjAgBgkqhkiG9w0BCQEWE3NhbXN1bmdA -c2Ftc3VuZy5jb20wHhcNMTExMDA1MTIwMDUxWhcNMjExMDAyMTIwMDUxWjB4MQsw -CQYDVQQGEwJQTDEMMAoGA1UECBMDTUFaMQwwCgYDVQQHEwNMZWcxDDAKBgNVBAoT -A1NhbTENMAsGA1UECxMEU1BSQzEOMAwGA1UEAxMFRmlsaXAxIDAeBgkqhkiG9w0B -CQEWEWZpbGlwQHNhbXN1bmcuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB -gQDS/sS0wXSCb34ojN8bWFd4Pl9eTLHh18UNGsPpLpp4itdfuc/OgyqaSoDwBzVh -EWAVLCTxexUa4Ncva+41NbkW4RCsFzeGs0ktpu1+8Q+v0QEOGqVF2rQkgilzDF/o -O56Fxw9vG1OA+qdQd3yOAV2EqLNBPrEYB9K5GFyffrakSQIDAQABo3sweTAJBgNV -HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZp -Y2F0ZTAdBgNVHQ4EFgQUeyy3iV75KtOkpPFd6mnR9dFGZMwwHwYDVR0jBBgwFoAU -ggh/2wAChuhTKqX6WK5nfxQ4yGAwDQYJKoZIhvcNAQEFBQADgYEADtv0CBrQ1QCM -H9jKFjpSpq7zFKMXQeVtb/Zie823//woicg8kxnP5sS4dJWNXNb1iMLdhgV80g1y -t3gTWPxTtFzprQyNiJHTmrbNWXLX1roRVGUE/I8Q4xexqpbNlJIW2Jjm/kqoKfnK -xORG6HNPXZV29NY2fDRPPOIYoFQzrXI= + + + + + + +PTzNKgBBJEV/YtJgOP9lkUMVy+IQ3b9gVn5eorv4e3s= + + + +slamUlCPsGfRZvSlot9sIUMiPSjVSPOeJ0I7X1yxvmE= + + + +0/mhZV4kwFnSzCSp45AhFjWaQnaie61uW8VeXioOLQg= + + + +vPjxjOppORd6hn9Bw4sh06gqtDoJzoFbV/8e9FyIdvk= + + + +OYW0ozIt+YihibhXb3mmAtIpmp5rJFNpS6n0bcbqPpI= + + + +0oc6DiyrAj1HQFcu+27/BHCQKn3zBn9dKls96iQZ564= + + + + + + +u/jU3U4Zm5ihTMSjKGlGYbWzDfRkGphPPHx3gJIYEJ4= + + + +DEDbUoxWn26xtZD+J+Qp71TzALREeTaalmbS1170MXpPiGjukYhD63KDEcHhYxU2cgAVUAcL2mD/ +ITe50rC8jy7dz2xqnUP2rIlFxIGRbciCs9fHx2CmqIq4yqvvdj7usy9o3SWsBxNaWshd7PJYQyjD +XQXN5fgiNZtFQ/MuUuw= + + + + +MIICmzCCAgQCCQDXI7WLdVZwiTANBgkqhkiG9w0BAQUFADCBjzELMAkGA1UEBhMCS1IxDjAMBgNV +BAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6ZW4gVGVzdCBDQTEiMCAGA1UE +CwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwbVGl6ZW4gUHVibGljIERpc3Ry +aWJ1dG9yIENBMB4XDTEyMTAyOTEzMDMwNFoXDTIyMTAyNzEzMDMwNFowgZMxCzAJBgNVBAYTAktS +MQ4wDAYDVQQIDAVTdXdvbjEOMAwGA1UEBwwFU3V3b24xFjAUBgNVBAoMDVRpemVuIFRlc3QgQ0Ex +IjAgBgNVBAsMGVRpemVuIERpc3RyaWJ1dG9yIFRlc3QgQ0ExKDAmBgNVBAMMH1RpemVuIFB1Ymxp +YyBEaXN0cmlidXRvciBTaWduZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtMvlc5hENK +90ZdA+y66+Sy0enD1gpZDBh5T9RP0oRsptJv5jjNTseQbQi0SZOdOXb6J7iQdlBCtR343RpIEz8H +mrBy7mSY7mgwoU4EPpp4CTSUeAuKcmvrNOngTp5Hv7Ngf02TTHOLK3hZLpGayaDviyNZB5PdqQdB +hokKjzAzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAvGp1gxxAIlFfhJH1efjb9BJK/rtRkbYn9+Ez +GEbEULg1svsgnyWisFimI3uFvgI/swzr1eKVY3Sc8MQ3+Fdy3EkbDZ2+WAubhcEkorTWjzWz2fL1 +vKaYjeIsuEX6TVRUugHWudPzcEuQRLQf8ibZWjbQdBmpeQYBMg5x+xKLCJc= + + +MIICtDCCAh2gAwIBAgIJAMDbehElPNKvMA0GCSqGSIb3DQEBBQUAMIGVMQswCQYDVQQGEwJLUjEO +MAwGA1UECAwFU3V3b24xDjAMBgNVBAcMBVN1d29uMRYwFAYDVQQKDA1UaXplbiBUZXN0IENBMSMw +IQYDVQQLDBpUVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEpMCcGA1UEAwwgVGl6ZW4gUHVibGlj +IERpc3RyaWJ1dG9yIFJvb3QgQ0EwHhcNMTIxMDI5MTMwMjUwWhcNMjIxMDI3MTMwMjUwWjCBjzEL +MAkGA1UEBhMCS1IxDjAMBgNVBAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6 +ZW4gVGVzdCBDQTEiMCAGA1UECwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwb +VGl6ZW4gUHVibGljIERpc3RyaWJ1dG9yIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe +OTS/3nXvkDEmsFCJIvRlQ3RKDcxdWJJp625pFqHdmoJBdV+x6jl1raGK2Y1sp2Gdvpjc/z92yzAp +bE/UVLPh/tRNZPeGhzU4ejDDm7kzdr2f7Ia0U98K+OoY12ucwg7TYNItj9is7Cj4blGfuMDzd2ah +2AgnCGlwNwV/pv+uVQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBACqJ +KO33YdoGudwanZIxMdXuxnnD9R6u72ltKk1S4zPfMJJv482CRGCI4FK6djhlsI4i0Lt1SVIJEed+ +yc3qckGm19dW+4xdlkekon7pViEBWuyHw8OWv3RXtTum1+PGHjBJ2eYY4ZKIpz73U/1NC16sTB/0 +VhfnkHwPltmrpYVe + - - - - - - - - - - - - - - + + diff --git a/tests/vcore/resource/wgt_negative_signature/signature22.xml b/tests/vcore/resource/wgt_negative_signature/signature22.xml deleted file mode 100644 index 715a7cc..0000000 --- a/tests/vcore/resource/wgt_negative_signature/signature22.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - ZLhd8X2rzCIDGHkIvpDbCXq+dwq+DK7ZZaDD/fII8RU= - - - - xUKQbov3HL7JD2/zVUKpPEVGc5C6VWDXwxoDHzDs9y0= - - - - cIE41PzyhMnF++EmhJ3Ptnd4ZqXyBlRJgiIqxlutbV8= - - - - - - - ZxnfFPi1rAoxfpN98xSP3lv5tZg9ymJElAFdg3ejrXE= - - - fV1J/120GG5L7qsxEkyH6fBvQh2atlpiGMbVM1+pb8Q6pHib5beV6A== - - - MIIEDzCCA3igAwIBAgIJAMdKgvadG/Z/MA0GCSqGSIb3DQEBBQUAMHIxCzAJBgNV -BAYTAlBMMQwwCgYDVQQIEwNNYXoxEDAOBgNVBAoTB1NhbXN1bmcxDTALBgNVBAsT -BFNQUkMxEDAOBgNVBAMTB1NhbXN1bmcxIjAgBgkqhkiG9w0BCQEWE3NhbXN1bmdA -c2Ftc3VuZy5jb20wHhcNMTExMDA1MTIxMTMzWhcNMjExMDAyMTIxMTMzWjCBijEL -MAkGA1UEBhMCUEwxFDASBgNVBAgTC01hem93aWVja2llMRIwEAYDVQQHEwlsZWdp -b25vd28xEDAOBgNVBAoTB3NhbXN1bmcxDTALBgNVBAsTBHNwcmMxDjAMBgNVBAMT -BW1hZ2RhMSAwHgYJKoZIhvcNAQkBFhFtYWdkYUBzYW1zdW5nLmNvbTCCAbcwggEr -BgcqhkjOOAQBMIIBHgKBgQC1PCOasFhlfMc1yjdcp7zkzXGiW+MpVuFlsdYwkAa9 -sIvNrQLi2ulxcnNBeCHKDbk7U+J3/QwO2XanapQMUqvfjfjL1QQ5Vf7ENUWPNP7c -Evx82Nb5jWdHyRfV//TciBZN8GLNEbfhtWlhI6CbDW1AaY0nPZ879rSIk7/aNKZ3 -FQIVALcr8uQAmnV+3DLIA5nTo0Bg0bjLAoGAJG7meUtQbMulRMdjzeCoya2FXdm+ -4acvInE9/+MybXTB3bFANMyw6WTvk4K9RK8tm52N95cykTjpAbxqTMaXwkdWbOFd -VKAKnyxi/UKtY9Q6NmwJB2hbA1GUzhPko8rEda66CGl0VbyM1lKMJjA+wp9pG110 -L0ov19Q9fvqKp5UDgYUAAoGBAKxAQg7MqCgkC0MJftYjNaKM5n1iZv4j1li49zKf -Y5nTLP+vYAvg0owLNYvJ5ncKfY1DACPU4/+tC7TTua95wgj5rwvAXnzgSyOGuSr0 -fK9DyrH6E0LfXT+WuIQHahm2iSbxqPrChlnp5/EXDTBaO6Qfdpq0BP48ClZebxcA -+TYFo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy -YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUmSpShswvWtEABd+l3WxccRcCydUw -HwYDVR0jBBgwFoAUggh/2wAChuhTKqX6WK5nfxQ4yGAwDQYJKoZIhvcNAQEFBQAD -gYEAgfnAu/gMJRC/BFwkgvrHL0TV4ffPVAf7RSnZS6ib4IHGgrvXJvL+Qh7vHykv -ZIqD2L96nY2EaSNr0yXrT81YROndOQUJNx4Y/W8m6asu4hzANNZqWCbApPDIMK6V -cPA1wrKgZqbWp218WBqI2v9pXV0O+jpzxq1+GeQV2UsbRwc= - - - - - - - - - - - - - - - - diff --git a/tests/vcore/test-signature-validator.cpp b/tests/vcore/test-signature-validator.cpp index 9ab9228..3e3d59b 100644 --- a/tests/vcore/test-signature-validator.cpp +++ b/tests/vcore/test-signature-validator.cpp @@ -34,39 +34,13 @@ RUNNER_TEST(T00101_finder) RUNNER_ASSERT_MSG( SignatureFinder::NO_ERROR == signatureFinder.find(signatureSet), "SignatureFinder failed"); - RUNNER_ASSERT_MSG(signatureSet.size() == 3, "Some signature has not been found"); - - int count = 0; - - auto iter = signatureSet.begin(); - SignatureFileInfo fileInfo = *iter++; - std::string fileName = fileInfo.getFileName(); - int fileNum = fileInfo.getFileNumber(); - if ((fileName.find("author-signature.xml") != std::string::npos && fileNum == -1) - || (fileName.find("signature1.xml") != std::string::npos && fileNum == 1) - || (fileName.find("signature22.xml") != std::string::npos && fileNum == 22)) - count++; - RUNNER_ASSERT_MSG(iter != signatureSet.end(), "There should be more items"); - - fileInfo = *iter++; - fileName = fileInfo.getFileName(); - fileNum = fileInfo.getFileNumber(); - if ((fileName.find("author-signature.xml") != std::string::npos && fileNum == -1) - || (fileName.find("signature1.xml") != std::string::npos && fileNum == 1) - || (fileName.find("signature22.xml") != std::string::npos && fileNum == 22)) - count++; - RUNNER_ASSERT_MSG(iter != signatureSet.end(), "There should be more items"); - - fileInfo = *iter++; - fileName = fileInfo.getFileName(); - fileNum = fileInfo.getFileNumber(); - if ((fileName.find("author-signature.xml") != std::string::npos && fileNum == -1) - || (fileName.find("signature1.xml") != std::string::npos && fileNum == 1) - || (fileName.find("signature22.xml") != std::string::npos && fileNum == 22)) - count++; - RUNNER_ASSERT_MSG(iter == signatureSet.end(), "It should be last item"); - - RUNNER_ASSERT_MSG(count == 3, "Wrong signature file count."); + RUNNER_ASSERT_MSG(signatureSet.size() == 2, "Some signature has not been found"); + + for (auto &fileInfo : signatureSet) + RUNNER_ASSERT_MSG( + ((fileInfo.getFileName().find("author-signature.xml") != std::string::npos && fileInfo.getFileNumber() == -1) + || (fileInfo.getFileName().find("signature1.xml") != std::string::npos && fileInfo.getFileNumber() == 1)), + "invalid signature xml found: " << fileInfo.getFileName() << " with number: " << fileInfo.getFileNumber()); } RUNNER_TEST(T00102_positive_public_check_ref) @@ -86,19 +60,13 @@ RUNNER_TEST(T00102_positive_public_check_ref) true, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "author sig validation should be disregarded: " - << validator.errorToString(result)); - else - if (data.getSignatureNumber() == 1) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "dist1 sig validation should be disregarded: " - << validator.errorToString(result)); - else - RUNNER_ASSERT_MSG(result == E_SIG_NONE, - "dist22 sig validation should be success: " - << validator.errorToString(result)); + RUNNER_ASSERT_MSG(result == E_SIG_NONE, + "sig validation should be success: " + << validator.errorToString(result)); + + if (!data.isAuthorSignature() && data.getSignatureNumber() == 1) + RUNNER_ASSERT_MSG(data.getVisibilityLevel() == CertStoreId::VIS_PUBLIC, + "visibility check failed."); } } @@ -123,10 +91,9 @@ RUNNER_TEST(T00103_positive_partner_check_ref) "sig validation should be success: " << validator.errorToString(result)); - if (!data.isAuthorSignature()) { + if (!data.isAuthorSignature()) RUNNER_ASSERT_MSG(data.getVisibilityLevel() == CertStoreId::VIS_PARTNER, "visibility check failed."); - } } } @@ -148,19 +115,13 @@ RUNNER_TEST(T00104_positive_public_uncheck_ref) false, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "author sig validation should be disregraded: " - << validator.errorToString(result)); - else - if (data.getSignatureNumber() == 1) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "disg1 sig validation should be disregarded: " - << validator.errorToString(result)); - else - RUNNER_ASSERT_MSG(result == E_SIG_NONE, - "dist22 sig validation should be success: " - << validator.errorToString(result)); + RUNNER_ASSERT_MSG(result == E_SIG_NONE, + "sig validation should be success: " + << validator.errorToString(result)); + + if (!data.isAuthorSignature() && data.getSignatureNumber() == 1) + RUNNER_ASSERT_MSG(data.getVisibilityLevel() == CertStoreId::VIS_PUBLIC, + "visibility check failed."); } } @@ -208,14 +169,9 @@ RUNNER_TEST(T00106_positive_tpk) true, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_NONE, - "author sig validation should be success: " - << validator.errorToString(result)); - else - RUNNER_ASSERT_MSG(result == E_SIG_NONE, - "dist sig validation should be success: " - << validator.errorToString(result)); + RUNNER_ASSERT_MSG(result == E_SIG_NONE, + "sig validation should be success: " + << validator.errorToString(result)); } } @@ -246,14 +202,9 @@ RUNNER_TEST(T00107_positive_tpk_with_userdata) uriList, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_NONE, - "author sig validation should be success: " - << validator.errorToString(result)); - else - RUNNER_ASSERT_MSG(result == E_SIG_NONE, - "dist sig validation should be success: " - << validator.errorToString(result)); + RUNNER_ASSERT_MSG(result == E_SIG_NONE, + "sig validation should be success: " + << validator.errorToString(result)); } } @@ -273,11 +224,8 @@ RUNNER_TEST(T00151_negative_hash_check_ref) true, true, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "author sig shouldn't be failed because it only checks cert chain: " - << validator.errorToString(result)); - else + + if (!data.isAuthorSignature()) RUNNER_ASSERT_MSG(result == E_SIG_INVALID_SIG, "dist sig shouldn't be success: " << validator.errorToString(result)); @@ -301,11 +249,7 @@ RUNNER_TEST(T00152_negative_hash_uncheck_ref) false, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "author sig shouldn't be failed because it only checks cert chain: " - << validator.errorToString(result)); - else + if (!data.isAuthorSignature()) RUNNER_ASSERT_MSG(result == E_SIG_INVALID_SIG, "dist sig shouldn't be success: " << validator.errorToString(result)); @@ -329,11 +273,7 @@ RUNNER_TEST(T00153_negative_signature_check_ref) true, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "author sig validation should be disregarded: " - << validator.errorToString(result)); - else + if (!data.isAuthorSignature()) RUNNER_ASSERT_MSG(result == E_SIG_INVALID_SIG, "dist sig validation should be failed: " << validator.errorToString(result)); @@ -357,11 +297,7 @@ RUNNER_TEST(T00154_negative_signature_uncheck_ref) false, data); - if (data.isAuthorSignature()) - RUNNER_ASSERT_MSG(result == E_SIG_DISREGARDED, - "author sig validation should be disregarded: " - << validator.errorToString(result)); - else + if (!data.isAuthorSignature()) RUNNER_ASSERT_MSG(result == E_SIG_INVALID_SIG, "dist sig should be failed: " << validator.errorToString(result)); diff --git a/vcore/vcore/Error.h b/vcore/vcore/Error.h index 358f5c5..4713784 100644 --- a/vcore/vcore/Error.h +++ b/vcore/vcore/Error.h @@ -33,11 +33,10 @@ const VCerr E_SIG_INVALID_SIG = -4; const VCerr E_SIG_INVALID_REF = -5; const VCerr E_SIG_CERT_EXPIRED = -6; const VCerr E_SIG_CERT_NOT_YET = -7; -const VCerr E_SIG_DISREGARDED = -8; -const VCerr E_SIG_REVOKED = -9; -const VCerr E_SIG_PLUGIN = -10; -const VCerr E_SIG_OUT_OF_MEM = -11; -const VCerr E_SIG_UNKNOWN = -12; +const VCerr E_SIG_REVOKED = -8; +const VCerr E_SIG_PLUGIN = -9; +const VCerr E_SIG_OUT_OF_MEM = -10; +const VCerr E_SIG_UNKNOWN = -11; const VCerr E_SCOPE_FIRST = E_SIG_INVALID_FORMAT; const VCerr E_SCOPE_LAST = E_SIG_UNKNOWN; diff --git a/vcore/vcore/SignatureValidator.cpp b/vcore/vcore/SignatureValidator.cpp index 16b862c..4b7e8da 100644 --- a/vcore/vcore/SignatureValidator.cpp +++ b/vcore/vcore/SignatureValidator.cpp @@ -124,13 +124,11 @@ private: SignatureFileInfo m_fileInfo; XmlSec::XmlSecContext m_context; SignatureData m_data; - bool m_disregarded; }; SignatureValidator::Impl::Impl(const SignatureFileInfo &info) : m_fileInfo(info) - , m_disregarded(false) { } @@ -268,24 +266,15 @@ VCerr SignatureValidator::Impl::preStep(void) Set storeIdSet = createCertificateIdentifier().find(m_data.getCertList().back()); LogDebug("root certificate from " << storeIdSet.typeToString() << " domain"); - if (m_data.isAuthorSignature()) { - if (!storeIdSet.contains(TIZEN_DEVELOPER)) { - LogWarning("author-signature.xml has got unrecognized Root CA certificate. " - "Signature will be disregarded."); - m_disregarded = true; - } - } else { - if (storeIdSet.contains(TIZEN_DEVELOPER)) { - LogError("distributor should not have developer set: " - << m_data.getSignatureFileName()); - return E_SIG_INVALID_CHAIN; - } - - if (m_data.getSignatureNumber() == 1 && !storeIdSet.isContainsVis()) { - LogWarning("signature1.xml has got unrecognized Root CA certificate. " - "Signature will be disregarded."); - m_disregarded = true; - } + if (m_data.isAuthorSignature() && !storeIdSet.contains(TIZEN_DEVELOPER)) { + LogError("author-signature.xml root certificate isn't in tizen developer domain."); + return E_SIG_INVALID_CHAIN; + } else if (!m_data.isAuthorSignature() && storeIdSet.contains(TIZEN_DEVELOPER)) { + LogError("distributor signautre root certificate shouldn't be in tizen developer domain."); + return E_SIG_INVALID_CHAIN; + } else if (!m_data.isAuthorSignature() && !storeIdSet.isContainsVis()) { + LogError("distributor signature 1 must have visibility information."); + return E_SIG_INVALID_CHAIN; } m_data.setStorageType(storeIdSet); @@ -377,7 +366,6 @@ VCerr SignatureValidator::Impl::baseCheck( LogInfo("OCSP will be handled by cert-checker later. : " << e.DumpToString()); /* * Don't care ocsp exception here. - * just return signature disregard or verified * because exception case will be handled by cert-checker after app installed */ } catch (const std::exception &e) { @@ -388,7 +376,7 @@ VCerr SignatureValidator::Impl::baseCheck( return E_SIG_UNKNOWN; } - return m_disregarded ? E_SIG_DISREGARDED : E_SIG_NONE; + return E_SIG_NONE; } VCerr SignatureValidator::Impl::baseCheckList( @@ -440,7 +428,6 @@ VCerr SignatureValidator::Impl::baseCheckList( LogInfo("OCSP will be handled by cert-checker later. : " << e.DumpToString()); /* * Don't care ocsp exception here. - * just return signature disregard or verified * because exception case will be handled by cert-checker after app installed */ } catch (...) { @@ -448,7 +435,7 @@ VCerr SignatureValidator::Impl::baseCheckList( return E_SIG_UNKNOWN; } - return m_disregarded ? E_SIG_DISREGARDED : E_SIG_NONE; + return E_SIG_NONE; } VCerr SignatureValidator::Impl::check( @@ -506,7 +493,6 @@ std::string SignatureValidator::Impl::errorToString(VCerr code) case E_SIG_INVALID_REF: return "Invalid file reference. An unsinged file was found."; case E_SIG_CERT_EXPIRED: return "Certificate in signature was expired."; case E_SIG_CERT_NOT_YET: return "Certificate in signature is not valid yet."; - case E_SIG_DISREGARDED: return "Signature validation can be disregarded in some cases."; case E_SIG_REVOKED: return "One of certificate was revoked in certificate chain."; case E_SIG_PLUGIN: return "Failed to load plugin for additional validation check."; case E_SIG_OUT_OF_MEM: return "Out of memory."; diff --git a/vcore/vcore/SignatureValidator.h b/vcore/vcore/SignatureValidator.h index 3ab17b7..86c94ff 100644 --- a/vcore/vcore/SignatureValidator.h +++ b/vcore/vcore/SignatureValidator.h @@ -53,14 +53,6 @@ using UriList = std::list; * - check file based on content path from parameter * - check is all existing file is on the Reference tag list on signature xml * - If file path(URI) cannot found on reference set, validate fail returned. - * - * - * Signature validation disregarded case - * - * 1. author signature: store id contains TIZEN_DEVELOPER - * - * 2. distributor signature: signature number is 1 - * and doesn't contain visibility in store id set */ /* -- 2.7.4