diff --git a/src/key.js b/src/key.js index f2af4b44..ecae8af0 100644 --- a/src/key.js +++ b/src/key.js @@ -374,16 +374,11 @@ Key.prototype.encrypt = function(passphrase) { if (this.isPrivate()) { var keys = this.getAllKeyPackets(); for (var i = 0; i < keys.length; i++) { - try { - keys[i].encrypt(passphrase); - } catch (e) { - return false; - } + keys[i].encrypt(passphrase); } } else { throw new Error("Nothing to encrypt in a public key"); } - return true; }; /** diff --git a/test/general/key.js b/test/general/key.js index 22fc8b0a..19c39e29 100644 --- a/test/general/key.js +++ b/test/general/key.js @@ -716,9 +716,13 @@ var pgp_desktop_priv = var armor2 = key.armor(); expect(armor1).to.equal(armor2); expect(key.decrypt('passphrase')).to.be.true; + expect(key.primaryKey.isDecrypted).to.be.true; expect(key.encrypt('new_passphrase')).to.be.true; + expect(key.primaryKey.isDecrypted).to.be.false; expect(key.decrypt('passphrase')).to.be.false; + expect(key.primaryKey.isDecrypted).to.be.false; expect(key.decrypt('new_passphrase')).to.be.true; + expect(key.primaryKey.isDecrypted).to.be.true; var armor3 = key.armor(); expect(armor3).to.not.equal(armor1); done();