1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
"use strict";
do_get_profile(); // must be called before getting nsIX509CertDB
const certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
function run_test() {
run_next_test();
}
function check_open_result(name, expectedRv) {
return function openSignedAppFileCallback(rv, aZipReader, aSignerCert) {
do_print("openSignedAppFileCallback called for " + name);
equal(rv, expectedRv, "Actual and expected return value should match");
equal(aZipReader != null, Components.isSuccessCode(expectedRv),
"ZIP reader should be null only if the return value denotes failure");
equal(aSignerCert != null, Components.isSuccessCode(expectedRv),
"Signer cert should be null only if the return value denotes failure");
run_next_test();
};
}
function original_app_path(test_name) {
return do_get_file("test_signed_apps/" + test_name + ".zip", false);
}
// Test that we no longer trust the test root cert that was originally used
// during development of B2G 1.0.
add_test(function () {
certdb.openSignedAppFileAsync(
Ci.nsIX509CertDB.AppMarketplaceProdPublicRoot,
original_app_path("test-privileged-app-test-1.0"),
check_open_result("test-privileged-app-test-1.0",
getXPCOMStatusFromNSS(SEC_ERROR_UNKNOWN_ISSUER)));
});
// Test that we trust the root cert used by by the Firefox Marketplace.
add_test(function () {
certdb.openSignedAppFileAsync(
Ci.nsIX509CertDB.AppMarketplaceProdPublicRoot,
original_app_path("privileged-app-test-1.0"),
check_open_result("privileged-app-test-1.0", Cr.NS_OK));
});
|