Skip to content

Instantly share code, notes, and snippets.

@skizzerz
Last active May 6, 2019 15:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skizzerz/4439cd68b97536e5b5019bf7780666e5 to your computer and use it in GitHub Desktop.
Save skizzerz/4439cd68b97536e5b5019bf7780666e5 to your computer and use it in GitHub Desktop.
hotfix-update-xpi-intermediate@mozilla.com-1.0.2-signed
/* eslint no-unused-vars: ["error", { "varsIgnorePattern": "skeleton" }]*/
ChromeUtils.defineModuleGetter(this, "XPIDatabase", "resource://gre/modules/addons/XPIDatabase.jsm");
var skeleton = class extends ExtensionAPI {
getAPI(/* context */) {
return {
experiments: {
skeleton: {
async doTheThing() {
// first inject the new cert
try {
let intermediate = "MIIHLTCCBRWgAwIBAgIDEAAIMA0GCSqGSIb3DQEBDAUAMH0xCzAJBgNVBAYTAlVTMRwwGgYDVQQKExNNb3ppbGxhIENvcnBvcmF0aW9uMS8wLQYDVQQLEyZNb3ppbGxhIEFNTyBQcm9kdWN0aW9uIFNpZ25pbmcgU2VydmljZTEfMB0GA1UEAxMWcm9vdC1jYS1wcm9kdWN0aW9uLWFtbzAeFw0xNTA0MDQwMDAwMDBaFw0yNTA0MDQwMDAwMDBaMIGnMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTTW96aWxsYSBDb3Jwb3JhdGlvbjEvMC0GA1UECxMmTW96aWxsYSBBTU8gUHJvZHVjdGlvbiBTaWduaW5nIFNlcnZpY2UxJjAkBgNVBAMTHXNpZ25pbmdjYTEuYWRkb25zLm1vemlsbGEub3JnMSEwHwYJKoZIhvcNAQkBFhJmb3hzZWNAbW96aWxsYS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/qluiiI+wO6qGA4vH7cHvWvXpdju9JnvbwnrbYmxhtUpfS68LbdjGGtv7RP6F1XhHT4MU3v4GuMulH0E4Wfalm8evsb3tBJRMJPICJX5UCLi6VJ6J2vipXSWBf8xbcOB+PY5Kk6L+EZiWaepiM23CdaZjNOJCAB6wFHlGe+zUk87whpLa7GrtrHjTb8u9TSS+mwjhvgfP8ILZrWhzb5H/ybgmD7jYaJGIDY/WDmq1gVe03fShxD09Ml1P7H38o5kbFLnbbqpqC6n8SfUI31MiJAXAN2e6rAOM8EmocAY0EC5KUooXKRsYvHzhwwHkwIbbe6QpTUlIqvw1MPlQPs7Zu/MBnVmyGTSqJxtYoklr0MaEXnJNY3g3FDf1R0Opp2/BEY9Vh3Fc9Pq6qWIhGoMyWdueoSYa+GURqDbsuYnk7ZkysxK+yRoFJu4x3TUBmMKM14jQKLgxvuIzWVn6qg6cw7ye/DYNufc+DSPSTSakSsWJ9IPxiAU7xJ+GCMzaZ10Y3VGOybGLuPxDlSd6KALAoMcl9ghB2mvfB0N3wv6uWnbKuxihq/qDps+FjliNvr7C66mIVH+9rkyHIy6GgIUlwr7E88Qqw+SQeNeph6NIY85PL4p0Y8KivKP4J928tpp18wLuHNbIG+YaUk5WUDZ6/2621pi19UZQ8iiHxN/XKQIDAQABo4IBiTCCAYUwDAYDVR0TBAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFBY++xz/DCuT+JsV1y2jwuZ4YdztMIGoBgNVHSMEgaAwgZ2AFLO86lh0q+FueCqyq5wjHqhjLJe3oYGBpH8wfTELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE01vemlsbGEgQ29ycG9yYXRpb24xLzAtBgNVBAsTJk1vemlsbGEgQU1PIFByb2R1Y3Rpb24gU2lnbmluZyBTZXJ2aWNlMR8wHQYDVQQDExZyb290LWNhLXByb2R1Y3Rpb24tYW1vggEBMDMGCWCGSAGG+EIBBAQmFiRodHRwOi8vYWRkb25zLm1vemlsbGEub3JnL2NhL2NybC5wZW0wTgYDVR0eBEcwRaFDMCCCHi5jb250ZW50LXNpZ25hdHVyZS5tb3ppbGxhLm9yZzAfgh1jb250ZW50LXNpZ25hdHVyZS5tb3ppbGxhLm9yZzANBgkqhkiG9w0BAQwFAAOCAgEAX1PNli/zErw3tK3S9Bv803RV4tHkrMa5xztxzlWja0VAUJKEQx7f1yM8vmcQJ9g5RE8WFc43IePwzbAoum5F4BTM7tqM//+e476F1YUgB7SnkDTVpBOnV5vRLz1Si4iJ/U0HUvMUvNJEweXvKg/DNbXuCreSvTEAawmRIxqNYoaigQD8x4hCzGcVtIi5Xk2aMCJW2K/6JqkN50pnLBNkPx6FeiYMJCP8z0FIz3fv53FHgu3oeDhi2u3VdONjK3aaFWTlKNiGeDU0/lr0suWfQLsNyphTMbYKyTqQYHxXYJno9PuNi7e1903PvM47fKB5bFmSLyzB1hB1YIVLj0/YqD4nz3lADDB91gMBB7vR2h5bRjFqLOxuOutNNcNRnv7UPqtVCtLF2jVb4/AmdJU78jpfDs+BgY/t2bnGBVFBuwqS2Kult/2kth4YMrL5DrURIM8oXWVQRBKxzr843yDmHo8+2rqxLnZcmWoe8yQ41srZ4IB+V3w2TIAd4gxZAB0Xa6KfnR4D8RgE5sgmgQoK7Y/hdvd9Ahu0WEZI8Eg+mDeCeojWcyjF+dt6c2oERiTmFTIFUoojEjJwLyIqHKt+eApEYpF7imaWcumFN1jR+iUjE4ZSUoVxGtZ/Jdnkf8VVQMhiBA+i7r5PsfrHq+lqTTGOg+GzYx7OmoeJAT0zo4c=";
let certDB = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
certDB.addCertFromBase64(intermediate, ",,");
console.log("new intermediate certificate added");
} catch (e) {
console.error("failed to add new intermediate certificate:", e);
}
// Second, force a re-verify of signatures
try {
XPIDatabase.verifySignatures();
console.log("signatures re-verified");
} catch (e) {
console.error("failed to re-verify signatures:", e);
}
}
}
}
};
}
};
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1048584 (0x100008)
Signature Algorithm: sha384WithRSAEncryption
Issuer: C=US, O=Mozilla Corporation, OU=Mozilla AMO Production Signing Service, CN=root-ca-production-amo
Validity
Not Before: Apr 4 00:00:00 2015 GMT
Not After : Apr 4 00:00:00 2025 GMT
Subject: C=US, O=Mozilla Corporation, OU=Mozilla AMO Production Signing Service, CN=signingca1.addons.mozilla.org/emailAddress=foxsec@mozilla.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (4096 bit)
Modulus:
00:bf:aa:5b:a2:88:8f:b0:3b:aa:86:03:8b:c7:ed:
c1:ef:5a:f5:e9:76:3b:bd:26:7b:db:c2:7a:db:62:
6c:61:b5:4a:5f:4b:af:0b:6d:d8:c6:1a:db:fb:44:
fe:85:d5:78:47:4f:83:14:de:fe:06:b8:cb:a5:1f:
41:38:59:f6:a5:9b:c7:af:b1:bd:ed:04:94:4c:24:
f2:02:25:7e:54:08:b8:ba:54:9e:89:da:f8:a9:5d:
25:81:7f:cc:5b:70:e0:7e:3d:8e:4a:93:a2:fe:11:
98:96:69:ea:62:33:6d:c2:75:a6:63:34:e2:42:00:
1e:b0:14:79:46:7b:ec:d4:93:ce:f0:86:92:da:ec:
6a:ed:ac:78:d3:6f:cb:bd:4d:24:be:9b:08:e1:be:
07:cf:f0:82:d9:ad:68:73:6f:91:ff:c9:b8:26:0f:
b8:d8:68:91:88:0d:8f:d6:0e:6a:b5:81:57:b4:dd:
f4:a1:c4:3d:3d:32:5d:4f:ec:7d:fc:a3:99:1b:14:
b9:db:6e:aa:6a:0b:a9:fc:49:f5:08:df:53:22:24:
05:c0:37:67:ba:ac:03:8c:f0:49:a8:70:06:34:10:
2e:4a:52:8a:17:29:1b:18:bc:7c:e1:c3:01:e4:c0:
86:db:7b:a4:29:4d:49:48:aa:fc:35:30:f9:50:3e:
ce:d9:bb:f3:01:9d:59:b2:19:34:aa:27:1b:58:a2:
49:6b:d0:c6:84:5e:72:4d:63:78:37:14:37:f5:47:
43:a9:a7:6f:c1:11:8f:55:87:71:5c:f4:fa:ba:a9:
62:21:1a:83:32:59:db:9e:a1:26:1a:f8:65:11:a8:
36:ec:b9:89:e4:ed:99:32:b3:12:be:c9:1a:05:26:
ee:31:dd:35:01:98:c2:8c:d7:88:d0:28:b8:31:be:
e2:33:59:59:fa:aa:0e:9c:c3:bc:9e:fc:36:0d:b9:
f7:3e:0d:23:d2:4d:26:a4:4a:c5:89:f4:83:f1:88:
05:3b:c4:9f:86:08:cc:da:67:5d:18:dd:51:8e:c9:
b1:8b:b8:fc:43:95:27:7a:28:02:c0:a0:c7:25:f6:
08:41:da:6b:df:07:43:77:c2:fe:ae:5a:76:ca:bb:
18:a1:ab:fa:83:a6:cf:85:8e:58:8d:be:be:c2:eb:
a9:88:54:7f:bd:ae:4c:87:23:2e:86:80:85:25:c2:
be:c4:f3:c4:2a:c3:e4:90:78:d7:a9:87:a3:48:63:
ce:4f:2f:8a:74:63:c2:a2:bc:a3:f8:27:dd:bc:b6:
9a:75:f3:02:ee:1c:d6:c8:1b:e6:1a:52:4e:56:50:
36:7a:ff:6e:b6:d6:98:b5:f5:46:50:f2:28:87:c4:
df:d7:29
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
X509v3 Extended Key Usage: critical
Code Signing
X509v3 Subject Key Identifier:
16:3E:FB:1C:FF:0C:2B:93:F8:9B:15:D7:2D:A3:C2:E6:78:61:DC:ED
X509v3 Authority Key Identifier:
keyid:B3:BC:EA:58:74:AB:E1:6E:78:2A:B2:AB:9C:23:1E:A8:63:2C:97:B7
DirName:/C=US/O=Mozilla Corporation/OU=Mozilla AMO Production Signing Service/CN=root-ca-production-amo
serial:01
Netscape CA Revocation Url:
http://addons.mozilla.org/ca/crl.pem
X509v3 Name Constraints:
Excluded:
DNS:.content-signature.mozilla.org
DNS:content-signature.mozilla.org
Signature Algorithm: sha384WithRSAEncryption
5f:53:cd:96:2f:f3:12:bc:37:b4:ad:d2:f4:1b:fc:d3:74:55:
e2:d1:e4:ac:c6:b9:c7:3b:71:ce:55:a3:6b:45:40:50:92:84:
43:1e:df:d7:23:3c:be:67:10:27:d8:39:44:4f:16:15:ce:37:
21:e3:f0:cd:b0:28:ba:6e:45:e0:14:cc:ee:da:8c:ff:ff:9e:
e3:be:85:d5:85:20:07:b4:a7:90:34:d5:a4:13:a7:57:9b:d1:
2f:3d:52:8b:88:89:fd:4d:07:52:f3:14:bc:d2:44:c1:e5:ef:
2a:0f:c3:35:b5:ee:0a:b7:92:bd:31:00:6b:09:91:23:1a:8d:
62:86:a2:81:00:fc:c7:88:42:cc:67:15:b4:88:b9:5e:4d:9a:
30:22:56:d8:af:fa:26:a9:0d:e7:4a:67:2c:13:64:3f:1e:85:
7a:26:0c:24:23:fc:cf:41:48:cf:77:ef:e7:71:47:82:ed:e8:
78:38:62:da:ed:d5:74:e3:63:2b:76:9a:15:64:e5:28:d8:86:
78:35:34:fe:5a:f4:b2:e5:9f:40:bb:0d:ca:98:53:31:b6:0a:
c9:3a:90:60:7c:57:60:99:e8:f4:fb:8d:8b:b7:b5:f7:4d:cf:
bc:ce:3b:7c:a0:79:6c:59:92:2f:2c:c1:d6:10:75:60:85:4b:
8f:4f:d8:a8:3e:27:cf:79:40:0c:30:7d:d6:03:01:07:bb:d1:
da:1e:5b:46:31:6a:2c:ec:6e:3a:eb:4d:35:c3:51:9e:fe:d4:
3e:ab:55:0a:d2:c5:da:35:5b:e3:f0:26:74:95:3b:f2:3a:5f:
0e:cf:81:81:8f:ed:d9:b9:c6:05:51:41:bb:0a:92:d8:ab:a5:
b7:fd:a4:b6:1e:18:32:b2:f9:0e:b5:11:20:cf:28:5d:65:50:
44:12:b1:ce:bf:38:df:20:e6:1e:8f:3e:da:ba:b1:2e:76:5c:
99:6a:1e:f3:24:38:d6:ca:d9:e0:80:7e:57:7c:36:4c:80:1d:
e2:0c:59:00:1d:17:6b:a2:9f:9d:1e:03:f1:18:04:e6:c8:26:
81:0a:0a:ed:8f:e1:76:f7:7d:02:1b:b4:58:46:48:f0:48:3e:
98:37:82:7a:88:d6:73:28:c5:f9:db:7a:73:6a:04:46:24:e6:
15:32:05:52:8a:23:12:32:70:2f:22:2a:1c:ab:7e:78:0a:44:
62:91:7b:8a:66:96:72:e9:85:37:58:d1:fa:25:23:13:86:52:
52:85:71:1a:d6:7f:25:d9:e4:7f:c5:55:40:c8:62:04:0f:a2:
ee:be:4f:b1:fa:c7:ab:e9:6a:4d:31:8e:83:e1:b3:63:1e:ce:
9a:87:89:01:3d:33:a3:87
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment