|
3 | 3 | const { Cc, Ci } = require('chrome'); |
4 | 4 |
|
5 | 5 | const PUBKEY = '' + |
6 | | - 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwNFv2HXZ5YdXa18irhRR' + |
7 | | - 'rzGGQERbzEKGhE/5NHY5go75dpt0eIe3AMhRNkeDaF3fiV6yABAjre6EZlxRvzzx' + |
8 | | - 'W9iSdSqkbHk7nvqQMnWLQCKW0e5VlVCGdIZ71kJREEFjaeuyWIQef7gEsoFRd0Xd' + |
9 | | - '6L1LLCAamJ2cf+Qx4ARGyUwsfQGWpmt/qTV1Ts7t3VDD7kOMBkI6rRzEvNblgpJ3' + |
10 | | - '9BDbQap6Dua1kFxdrY77Pkarh+ziaOQ3TWbO3qFOy9RpKZ4TusJp1qlOymmiclpC' + |
11 | | - 'tMeTAbZr4aYzUJ/fqe4RPWReWji4fwdsHR6zXWCTbTunCUMluMe7zyCa84TzZv/o' + |
12 | | - 'ywIDAQAB'; |
| 6 | + 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuBGrCtHS1L1wE0loA/ay'+ |
| 7 | + 'WpQHt7212x9yCNFo0YPHiWJhhIclxC4T7cy8MGyugjSn1h8dvPczF1iFrSDTFid8'+ |
| 8 | + 'nc5rBZMvmm1GfNJBjsxWssUtlSQowi/QWuBZIYIx/UF7euF0h25lBTGwzluTndPS'+ |
| 9 | + '5VNoyg3O1Lipp5PmkU/hc4Xgdner8fCz/lsQhiYRiWmuR9NLBuzj38DHm67gamUz'+ |
| 10 | + 'gP8vatVToojR4hMB9iSOys3GjK5hrvyMeQTm0l9mQUc7KnJSBqRvzBS5kk1It4NZ'+ |
| 11 | + 'gKv6jYnh2d9BsX3Qit66DDGgKXhcFsTIntNGdUdh8R5EqL1v5K7A3tnfz73Yw9XO'+ |
| 12 | + 'kwIDAQAB'; |
13 | 13 |
|
14 | 14 | const UPDATE_JSON = '' + |
15 | | - '{"branch": "stable"\n' + |
16 | | - ',"changes": "Testing signature verification"\n' + |
17 | | - ',"date": "30-06-2014"\n' + |
18 | | - ',"hash": "df1453c7116d3ebef93ab5ea79d693fdf0ea4eacc01cfa687418fa23319c36b"\n' + |
19 | | - ',"hashfn": "sha256"\n' + |
20 | | - ',"source": "https://eff.org/files/https-everywhere/database.sqlite"\n' + |
21 | | - ',"version": "3.5.3.1"}'; |
| 15 | + '{"branch": "stable"\n'+ |
| 16 | + ',"changes": "Testing the signature verification process"\n'+ |
| 17 | + ',"date": "02-07-2014"\n'+ |
| 18 | + ',"hash": "df1453c7116d3ebef93ab5ea79d693fdf0ea4eacc01cfa687418fa23319c36b"\n'+ |
| 19 | + ',"hashfn": "sha256"\n'+ |
| 20 | + ',"source": "https://eff.org/files/https-everywhere/ruleset.sqlite"\n'+ |
| 21 | + ',"version": "3.5.2.2"}'; |
22 | 22 |
|
23 | 23 | const UPDATE_JSON_SIG = '' + |
24 | | - 'qe6iRKKmxpd9pgFL46QBQXgLi9u/cE0EQ1eBXcBDZaOkbvHqdjvy0Z7YyxnQbKFb' + |
25 | | - 'XLi1MBLraMUsBSMnEqduoi1bbaCrFa+Z0lIW9mXl04/LWTjbQFpfC5svtmGghF9b' + |
26 | | - 'xP+hExtC3281GniKjk7XGC4G26bAF3feIIzg+4G26XOEJYvVgjfRBfD7q4MAHh5/' + |
27 | | - '58kd2Xz9GERK39xxu4LGW30Q/StOtuNX2MSLPebyY4Grsv96kB/dZKTvMKahhJbr' + |
28 | | - 'Iubt2OcyBVq4SLHlm85bx7B86id3KfUVtrnqjHFOD6Hk+zqpB6sft4q4sTjgoCiP' + |
29 | | - '2M4CSUM9vYijpUYNu5NBOg=='; |
| 24 | + 'b5B2vjy2efKWQ7VPVODrTjScnzF+PCoUALc4MOZFSoovCP2bVsANo9khWymsi5fF'+ |
| 25 | + '466u5xOfmJwwY24v/GqdPtXDLVtT1HGBA4+CNFekQP7KnyZUpcjkNjcbnxWJftx/'+ |
| 26 | + 'OifqTFngcQqWLajqbCIhux6kIHc5bltn1aBDscV/MwDKn9kqmqQVjjkhYGehKN6X'+ |
| 27 | + 'iduWCY8gygv5OOF5GZGYYkaCLW5xqPphQ84d+ZY/18emDBzA6R16qfPM8jT7PzrN'+ |
| 28 | + 'IuIaMdZ3YjXF7dQbS7xo+gXYa/pQnCeYhGQKeomc0x4gfcQB9cJB/o++IZRPYFTP'+ |
| 29 | + '6t59nUaCm2fSQGse/OairQ=='; |
30 | 30 |
|
31 | 31 | function hashSHA256(data) { |
32 | 32 | let converter = Cc['@mozilla.org/intl/scriptableunicodeconverter'] |
@@ -66,10 +66,10 @@ exports['test update JSON signature validity'] = function(assert) { |
66 | 66 | let verifier = Cc['@mozilla.org/security/datasignatureverifier;1'] |
67 | 67 | .createInstance(Ci.nsIDataSignatureVerifier); |
68 | 68 | assert.equal(hashed, |
69 | | - '86694a08634f58f0586d66594a654c799dfbeaf06e1f7eeee3a4f5168ca289b0', |
| 69 | + '073fba85f17718a511aac4019ddd220f05b14adb99649c9fcbd78f0ba88b974c', |
70 | 70 | 'Test that the update.json data hashed to the right value'); |
71 | 71 | assert.equal(typeof verifier, 'object', 'Test verifier creation success'); |
72 | | - assert.ok(verifier.verifyData(hashed, UPDATE_JSON_SIG, PUBKEY), |
| 72 | + assert.ok(verifier.verifyData(hashed, atob(UPDATE_JSON_SIG), PUBKEY), |
73 | 73 | 'Test that the update.json raw data is authentic'); |
74 | 74 | }; |
75 | 75 |
|
|
0 commit comments