Remove redundant message.symEncrypt/symDecrypt
This commit is contained in:
parent
c840fabc7d
commit
261db8035d
|
@ -282,60 +282,6 @@ function encryptSessionKey(sessionKey, symAlgo, keys, passwords) {
|
||||||
return new Message(packetlist);
|
return new Message(packetlist);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Encrypt the message symmetrically using a passphrase.
|
|
||||||
* https://tools.ietf.org/html/rfc4880#section-3.7.2.2
|
|
||||||
* @param {String} passphrase
|
|
||||||
* @return {Array<module:message~Message>} new message with encrypted content
|
|
||||||
*/
|
|
||||||
Message.prototype.symEncrypt = function(passphrase) {
|
|
||||||
if (!passphrase) {
|
|
||||||
throw new Error('The passphrase cannot be empty!');
|
|
||||||
}
|
|
||||||
|
|
||||||
var algo = enums.read(enums.symmetric, config.encryption_cipher);
|
|
||||||
var packetlist = new packet.List();
|
|
||||||
|
|
||||||
// create a Symmetric-key Encrypted Session Key (ESK)
|
|
||||||
var symESKPacket = new packet.SymEncryptedSessionKey();
|
|
||||||
symESKPacket.sessionKeyAlgorithm = algo;
|
|
||||||
symESKPacket.decrypt(passphrase); // generate the session key
|
|
||||||
packetlist.push(symESKPacket);
|
|
||||||
|
|
||||||
// create integrity protected packet
|
|
||||||
var symEncryptedPacket = new packet.SymEncryptedIntegrityProtected();
|
|
||||||
symEncryptedPacket.packets = this.packets;
|
|
||||||
symEncryptedPacket.encrypt(algo, symESKPacket.sessionKey);
|
|
||||||
packetlist.push(symEncryptedPacket);
|
|
||||||
|
|
||||||
// remove packets after encryption
|
|
||||||
symEncryptedPacket.packets = new packet.List();
|
|
||||||
return new Message(packetlist);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Decrypt the message symmetrically using a passphrase.
|
|
||||||
* https://tools.ietf.org/html/rfc4880#section-3.7.2.2
|
|
||||||
* @param {String} passphrase
|
|
||||||
* @return {Array<module:message~Message>} new message with decrypted content
|
|
||||||
*/
|
|
||||||
Message.prototype.symDecrypt = function(passphrase) {
|
|
||||||
var symEncryptedPacketlist = this.packets.filterByTag(enums.packet.symEncryptedSessionKey, enums.packet.symEncryptedIntegrityProtected);
|
|
||||||
|
|
||||||
// decrypt Symmetric-key Encrypted Session Key (ESK)
|
|
||||||
var symESKPacket = symEncryptedPacketlist[0];
|
|
||||||
symESKPacket.decrypt(passphrase);
|
|
||||||
|
|
||||||
// decrypt integrity protected packet
|
|
||||||
var symEncryptedPacket = symEncryptedPacketlist[1];
|
|
||||||
symEncryptedPacket.decrypt(symESKPacket.sessionKeyAlgorithm, symESKPacket.sessionKey);
|
|
||||||
|
|
||||||
var resultMsg = new Message(symEncryptedPacket.packets);
|
|
||||||
// remove packets after decryption
|
|
||||||
symEncryptedPacket.packets = new packet.List();
|
|
||||||
return resultMsg;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sign the message (the literal data packet of the message)
|
* Sign the message (the literal data packet of the message)
|
||||||
* @param {Array<module:key~Key>} privateKey private keys with decrypted secret key data for signing
|
* @param {Array<module:key~Key>} privateKey private keys with decrypted secret key data for signing
|
||||||
|
|
|
@ -353,25 +353,6 @@ describe('Basic', function() {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Encrypt message symmetrically using passphrase', function() {
|
|
||||||
it('should encrypt/decrypt successfully', function() {
|
|
||||||
var passphrase = 'passphrase';
|
|
||||||
var plaintext = 'secret stuff';
|
|
||||||
|
|
||||||
// encrypt
|
|
||||||
var msg = openpgp.message.fromText(plaintext);
|
|
||||||
msg = msg.symEncrypt(passphrase);
|
|
||||||
var encrypted = msg.armor();
|
|
||||||
|
|
||||||
// decrypt
|
|
||||||
var msg2 = openpgp.message.readArmored(encrypted);
|
|
||||||
msg2 = msg2.symDecrypt(passphrase);
|
|
||||||
var decrypted = msg2.getText();
|
|
||||||
|
|
||||||
expect(decrypted).to.equal(plaintext);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("Message 3DES decryption", function() {
|
describe("Message 3DES decryption", function() {
|
||||||
var pgp_msg =
|
var pgp_msg =
|
||||||
['-----BEGIN PGP MESSAGE-----',
|
['-----BEGIN PGP MESSAGE-----',
|
||||||
|
|
Loading…
Reference in New Issue
Block a user