diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_cache_certdb.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_cache_certdb.js | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_cache_certdb.js b/toolkit/mozapps/webextensions/test/xpcshell/test_cache_certdb.js deleted file mode 100644 index edb442aad..000000000 --- a/toolkit/mozapps/webextensions/test/xpcshell/test_cache_certdb.js +++ /dev/null @@ -1,82 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// We require signature checks for this test -Services.prefs.setBoolPref(PREF_XPI_SIGNATURES_REQUIRED, true); -gUseRealCertChecks = true; - -const CERT = `MIIDITCCAgmgAwIBAgIJALAv8fydd6nBMA0GCSqGSIb3DQEBBQUAMCcxJTAjBgNV -BAMMHGJvb3RzdHJhcDFAdGVzdHMubW96aWxsYS5vcmcwHhcNMTYwMjAyMjMxNjUy -WhcNMjYwMTMwMjMxNjUyWjAnMSUwIwYDVQQDDBxib290c3RyYXAxQHRlc3RzLm1v -emlsbGEub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5caNuLTu -H8dEqNntLlhKi4y09hrgcF3cb6n5Xx9DIHA8CKiZxt9qGXKeeiDwEiiQ8ibJYzdc -jLkbzJUyPVUaH9ygrWynSpSTOvv/Ys3+ERrCo9W7Zuzwdmzt6TTEjFMS4lVx06us -3uUqkdp3JMgCqCEbOFZiztICiSKrp8QFJkAfApZzBqmJOPOWH0yZ2CRRzvbQZ6af -hqQDUalJQjWfsenyUWphhbREqExetxHJFR3OrmJt/shXVyz6dD7TBuE3PPUh1RpE -3ejVufcTzjV3XmK79PxsKLM9V2+ww9e9V3OET57kyvn+bpSWdUYm3X4DA8dxNW6+ -kTFWRnQNZ+zQVQIDAQABo1AwTjAdBgNVHQ4EFgQUac36ccv+99N5HxYa8dCDYRaF -HNQwHwYDVR0jBBgwFoAUac36ccv+99N5HxYa8dCDYRaFHNQwDAYDVR0TBAUwAwEB -/zANBgkqhkiG9w0BAQUFAAOCAQEAFfu3MN8EtY5wcxOFdGShOmGQPm2MJJVE6MG+ -p4RqHrukHZSgKOyWjkRk7t6NXzNcnHco9HFv7FQRAXSJ5zObmyu+TMZlu4jHHCav -GMcV3C/4SUGtlipZbgNe00UAIm6tM3Wh8dr38W7VYg4KGAwXou5XhQ9gCAnSn90o -H/42NqHTjJsR4v18izX2aO25ARQdMby7Lsr5j9RqweHywiSlPusFcKRseqOnIP0d -JT3+qh78LeMbNBO2mYD3SP/zu0TAmkAVNcj2KPw0+a0kVZ15rvslPC/K3xn9msMk -fQthv3rDAcsWvi9YO7T+vylgZBgJfn1ZqpQqy58xN96uh6nPOw==`; - -function overrideCertDB() { - // Unregister the real database. - let registrar = Components.manager.QueryInterface(AM_Ci.nsIComponentRegistrar); - let factory = registrar.getClassObject(CERTDB_CID, AM_Ci.nsIFactory); - registrar.unregisterFactory(CERTDB_CID, factory); - - // Get the real DB - let realCertDB = factory.createInstance(null, AM_Ci.nsIX509CertDB); - - let fakeCert = realCertDB.constructX509FromBase64(CERT.replace(/\n/g, "")); - - let fakeCertDB = { - openSignedAppFileAsync(root, file, callback) { - callback.openSignedAppFileFinished(Components.results.NS_OK, null, fakeCert); - }, - - verifySignedDirectoryAsync(root, dir, callback) { - callback.verifySignedDirectoryFinished(Components.results.NS_OK, fakeCert); - }, - - QueryInterface: XPCOMUtils.generateQI([AM_Ci.nsIX509CertDB]) - }; - - for (let property of Object.keys(realCertDB)) { - if (property in fakeCertDB) { - continue; - } - - if (typeof realCertDB[property] == "function") { - fakeCertDB[property] = realCertDB[property].bind(realCertDB); - } - } - - let certDBFactory = { - createInstance: function(outer, iid) { - if (outer != null) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return fakeCertDB.QueryInterface(iid); - } - }; - registrar.registerFactory(CERTDB_CID, "CertDB", - CERTDB_CONTRACTID, certDBFactory); -} - -add_task(function*() { - createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); - startupManager(); - - // Once the application is started we shouldn't be able to replace the - // certificate database - overrideCertDB(); - - let install = yield new Promise(resolve => AddonManager.getInstallForFile(do_get_addon("test_bootstrap1_1"), resolve)); - do_check_eq(install.state, AddonManager.STATE_DOWNLOAD_FAILED); -}); |