mail/test/unit/aes-test.js

37 lines
1.2 KiB
JavaScript
Raw Normal View History

2013-03-13 11:58:46 -04:00
module("AES Crypto");
var aes_test = {
2013-05-14 10:05:31 -04:00
keySize: 128,
util: new app.crypto.Util(window, uuid),
test_message: new TestData().generateBigString(1000)
2013-03-13 11:58:46 -04:00
};
test("CBC mode", 4, function() {
2013-05-14 07:43:52 -04:00
var aes = new app.crypto.AesCBC(forge);
2013-03-13 11:58:46 -04:00
var plaintext = aes_test.test_message;
var key = aes_test.util.random(aes_test.keySize);
var iv = aes_test.util.random(aes_test.keySize);
ok(key, 'Key: ' + key);
2013-05-14 06:57:09 -04:00
equal(aes_test.util.base642Str(key).length * 8, aes_test.keySize, 'Keysize ' + aes_test.keySize);
2013-03-13 11:58:46 -04:00
var ciphertext = aes.encrypt(plaintext, key, iv);
ok(ciphertext, 'Ciphertext lenght: ' + ciphertext.length);
2013-03-13 11:58:46 -04:00
var decrypted = aes.decrypt(ciphertext, key, iv);
2013-03-13 11:58:46 -04:00
equal(decrypted, plaintext, 'Decryption correct' + decrypted);
});
2013-05-14 08:37:31 -04:00
// test("CCM mode", 2, function() {
// var aes = new app.crypto.AesCCM(sjcl);
2013-04-05 11:43:41 -04:00
2013-05-14 08:37:31 -04:00
// var plaintext = aes_test.test_message;
// var key = aes_test.util.random(aes_test.keySize);
// var iv = aes_test.util.random(104);
2013-04-05 11:43:41 -04:00
2013-05-14 08:37:31 -04:00
// var ciphertext = aes.encrypt(plaintext, key, iv);
// ok(ciphertext, 'Ciphertext length: ' + ciphertext.length);
2013-04-05 11:43:41 -04:00
2013-05-14 08:37:31 -04:00
// var decrypted = aes.decrypt(ciphertext, key, iv);
// equal(decrypted, plaintext, 'Decryption correct: ' + decrypted);
// });