crypto: error messages.

This commit is contained in:
Christopher Jeffrey 2016-10-05 02:21:19 -07:00
parent f697dc18bb
commit c866598e85
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -294,6 +294,12 @@ crypto.encrypt = co(function* encrypt(data, passphrase, iv) {
crypto.encipher = function encipher(data, key, iv) {
var cipher;
assert(Buffer.isBuffer(data));
assert(Buffer.isBuffer(key));
assert(Buffer.isBuffer(iv));
assert(key.length === 32);
assert(iv.length === 16);
if (!nodeCrypto)
return aes.cbc.encrypt(data, key, iv);
@ -340,6 +346,28 @@ crypto.decrypt = co(function* decrypt(data, passphrase, iv) {
*/
crypto.decipher = function decipher(data, key, iv) {
assert(Buffer.isBuffer(data));
assert(Buffer.isBuffer(key));
assert(Buffer.isBuffer(iv));
assert(key.length === 32);
assert(iv.length === 16);
try {
return crypto._decipher(data, key, iv);
} catch (e) {
throw new Error('Bad key for decryption.');
}
};
/**
* Decrypt with aes-256-cbc.
* @private
* @param {Buffer} data
* @param {Buffer} key
* @param {Buffer} iv
* @returns {Buffer}
*/
crypto._decipher = function decipher(data, key, iv) {
var decipher;
if (!nodeCrypto)