1
0
mirror of https://github.com/moparisthebest/mail synced 2024-12-23 15:58:49 -05:00

integrate crypto lib update

This commit is contained in:
Tankred Hase 2013-09-16 14:53:48 +02:00
parent d02f61b4a8
commit ac7329fcfa

View File

@ -30,12 +30,12 @@
throw new Error('Arguments missing!');
}
// encrypt a list of items
self.encryptList(list);
// set sender private key
self._rsa.init(null, senderPrivkey.privateKey);
// encrypt a list of items
self.encryptList(list);
list.forEach(function(i) {
// fetch correct public key for encryption
receiverPk = null;
@ -71,7 +71,7 @@
// set sender's keypair id for later verification
i.senderPk = senderKeyId;
// sign the bundle
i.signature = self._rsa.sign([i.iv, i.ciphertext]);
i.signature = self._rsa.sign([i.iv, i.key, i.ciphertext]);
// delete plaintext values
delete i.key;
@ -155,13 +155,14 @@
// set rsa public key used to verify
self._rsa.init(senderPubkey);
// verify signature
if (!self._rsa.verify([i.iv, i.ciphertext], i.signature)) {
throw new Error('Verifying RSA signature failed!');
}
// decrypt symmetric item key for user
i.key = self._rsa.decrypt(i.encryptedKey);
// verify signature
if (!self._rsa.verify([i.iv, i.key, i.ciphertext], i.signature)) {
throw new Error('Verifying RSA signature failed!');
}
// delete ciphertext values
delete i.signature;
delete i.encryptedKey;