Bug 504212 - Have javascript stack traces show [object Object] for various CryptoWrapper functions

Also update createKeypair for keys to pass around the passphrase object and update the tests to pass around an object.
This commit is contained in:
Edward Lee 2009-07-14 19:04:32 -07:00
parent cb085193e5
commit c1367f888b
3 changed files with 10 additions and 9 deletions

View File

@ -158,7 +158,7 @@ PubKeyManager.prototype = {
privkey.iv = Svc.Crypto.generateRandomIV();
let pub = {}, priv = {};
Svc.Crypto.generateKeypair(passphrase, privkey.salt, privkey.iv, pub, priv);
Svc.Crypto.generateKeypair(passphrase.password, privkey.salt, privkey.iv, pub, priv);
[pubkey.keyData, privkey.keyData] = [pub.value, priv.value];
if (pubkeyUri) {

View File

@ -706,9 +706,9 @@ WeaveSvc.prototype = {
this._log.info("Server data wiped to ensure consistency due to missing keys");
}
let pass = ID.get("WeaveCryptoID").getPassword();
if (pass) {
let keys = PubKeys.createKeypair(pass, PubKeys.defaultKeyUri,
let passphrase = ID.get("WeaveCryptoID");
if (passphrase.getPassword()) {
let keys = PubKeys.createKeypair(passphrase, PubKeys.defaultKeyUri,
PrivKeys.defaultKeyUri);
try {
PubKeys.uploadKeypair(keys);

View File

@ -59,7 +59,8 @@ function run_test() {
log.info("Generating keypair + symmetric key");
PubKeys.defaultKeyUri = "http://localhost:8080/pubkey";
keys = PubKeys.createKeypair("my passphrase",
let passphrase = { password: "my passphrase" };
keys = PubKeys.createKeypair(passphrase,
"http://localhost:8080/pubkey",
"http://localhost:8080/privkey");
let crypto = Cc["@labs.mozilla.com/Weave/Crypto;1"].
@ -78,19 +79,19 @@ function run_test() {
cryptoWrap = new CryptoWrapper("http://localhost:8080/crypted-resource", auth);
cryptoWrap.encryption = "http://localhost:8080/crypto-meta";
cryptoWrap.cleartext = "my payload here";
cryptoWrap.encrypt("my passphrase");
cryptoWrap.encrypt(passphrase);
log.info("Decrypting the record");
let payload = cryptoWrap.decrypt("my passphrase");
let payload = cryptoWrap.decrypt(passphrase);
do_check_eq(payload, "my payload here");
do_check_neq(payload, cryptoWrap.payload); // wrap.data.payload is the encrypted one
log.info("Re-encrypting the record with alternate payload");
cryptoWrap.cleartext = "another payload";
cryptoWrap.encrypt("my passphrase");
payload = cryptoWrap.decrypt("my passphrase");
cryptoWrap.encrypt(passphrase);
payload = cryptoWrap.decrypt(passphrase);
do_check_eq(payload, "another payload");
log.info("Done!");