mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
f60e694777
Bug 570619 - Move crypto off the main thread
31 lines
1009 B
JavaScript
31 lines
1009 B
JavaScript
let cryptoSvc;
|
|
try {
|
|
Components.utils.import("resource://services-crypto/WeaveCrypto.js");
|
|
cryptoSvc = new WeaveCrypto();
|
|
} catch (ex) {
|
|
// Fallback to binary WeaveCrypto
|
|
cryptoSvc = Cc["@labs.mozilla.com/Weave/Crypto;1"]
|
|
.getService(Ci.IWeaveCrypto);
|
|
}
|
|
|
|
function run_test() {
|
|
var salt = cryptoSvc.generateRandomBytes(16);
|
|
var iv = cryptoSvc.generateRandomIV();
|
|
|
|
// Tests with a 2048 bit key (the default)
|
|
do_check_eq(cryptoSvc.keypairBits, 2048)
|
|
var privOut = {};
|
|
cryptoSvc.generateKeypair("passphrase", salt, iv, {}, privOut);
|
|
var privKey = privOut.value;
|
|
|
|
// Check with correct passphrase
|
|
var shouldBeTrue = cryptoSvc.verifyPassphrase(privKey, "passphrase",
|
|
salt, iv);
|
|
do_check_eq(shouldBeTrue, true);
|
|
|
|
// Check with incorrect passphrase
|
|
var shouldBeFalse = cryptoSvc.verifyPassphrase(privKey, "NotPassphrase",
|
|
salt, iv);
|
|
do_check_eq(shouldBeFalse, false);
|
|
}
|