Project

General

Profile

« Previous | Next » 

Revision ed08ef1a

Added by koszko almost 2 years ago

generate Chromium unique key automatically in `build.sh'

View differences:

common/signing.js
10 10
 * IMPORTS_START
11 11
 * IMPORT sha256
12 12
 * IMPORT browser
13
 * IMPORT is_chrome
13
 * IMPORT is_mozilla
14 14
 * IMPORTS_END
15 15
 */
16 16

  
......
30 30
 *
31 31
 * The secret shared between execution contexts has to be available
32 32
 * synchronously. Under Mozilla, this is the extension's per-session id. Under
33
 * Chromium, this is the key that resides in the manifest.
34
 *
35
 * An idea to (under Chromium) instead store the secret in a file fetched
36
 * synchronously using XMLHttpRequest is being considered.
33
 * Chromium, this is a dummy web-accessible-resource name that resides in the
34
 * manifest and is supposed to be constructed by each user using a unique value
35
 * (this is done automatically by `build.sh').
37 36
 */
38 37

  
39 38
function get_secret()
40 39
{
41
    if (is_chrome)
42
	return browser.runtime.getManifest().key.substring(0, 50);
43
    else
40
    if (is_mozilla)
44 41
	return browser.runtime.getURL("dummy");
42

  
43
    return chrome.runtime.getManifest().web_accessible_resources
44
	.map(r => /^chromium-key-dummy-file-(.*)/.exec(r)).filter(r => r)[0][1];
45 45
}
46 46

  
47 47
function extract_signed(signature, signed_data)

Also available in: Unified diff