bug 1422904 - add an integration test for an add-on signed with PKCS#7/SHA-256 r?mossop draft
authorDavid Keeler <dkeeler@mozilla.com>
Mon, 04 Dec 2017 10:25:37 -0800
changeset 707012 77b58224390aa55088427b2eeb26607048868204
parent 706949 195bb467e6cb5c8c5f5fb2858c0a55b2d0b9552d
child 742835 b166293ca9658988972d613623e15f91bcf59b3a
push id91999
push userbmo:dkeeler@mozilla.com
push dateMon, 04 Dec 2017 18:28:23 +0000
reviewersmossop
bugs1422904
milestone59.0a1
bug 1422904 - add an integration test for an add-on signed with PKCS#7/SHA-256 r?mossop The add-on included in this test was signed with SHA-256 by the AMO signing infrastructure. (Note that its compatibility information targets xpcshell specifically, so it can't be installed in Firefox.) MozReview-Commit-ID: 5pjZYKnPeBh
toolkit/mozapps/extensions/test/xpcshell/data/signing_checks/signed_bootstrap_sha256_1.xpi
toolkit/mozapps/extensions/test/xpcshell/test_signed_install.js
new file mode 100644
index 0000000000000000000000000000000000000000..3ec6d5176a45cd20766385a77b0eec49ca1ccad3
GIT binary patch
literal 5373
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
--- a/toolkit/mozapps/extensions/test/xpcshell/test_signed_install.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_signed_install.js
@@ -5,16 +5,17 @@ Services.prefs.setBoolPref(PREF_EM_CHECK
 
 const DATA = "data/signing_checks/";
 const ADDONS = {
   bootstrap: {
     unsigned: "unsigned_bootstrap_2.xpi",
     badid: "signed_bootstrap_badid_2.xpi",
     preliminary: "preliminary_bootstrap_2.xpi",
     signed: "signed_bootstrap_2.xpi",
+    sha256Signed: "signed_bootstrap_sha256_1.xpi",
     privileged: "privileged_bootstrap_2.xpi",
   },
 };
 const WORKING = "signed_bootstrap_1.xpi";
 const ID = "test@tests.mozilla.org";
 
 var gServer = createHttpServer(4444);
 
@@ -215,16 +216,22 @@ add_task(async function() {
 });
 
 // Try to install a signed add-on
 add_task(async function() {
   let file = do_get_file(DATA + ADDONS.bootstrap.signed);
   await test_install_working(file, AddonManager.SIGNEDSTATE_SIGNED);
 });
 
+// Try to install an add-on signed with SHA-256
+add_task(async function() {
+  let file = do_get_file(DATA + ADDONS.bootstrap.sha256Signed);
+  await test_install_working(file, AddonManager.SIGNEDSTATE_SIGNED);
+});
+
 // Try to install an add-on with the "Mozilla Extensions" OU
 add_task(async function() {
   let file = do_get_file(DATA + ADDONS.bootstrap.privileged);
   await test_install_working(file, AddonManager.SIGNEDSTATE_PRIVILEGED);
 });
 
 // Try to update to a broken add-on
 add_task(async function() {