Commit Graph

372 Commits

Author SHA1 Message Date
Mahrud Sayrafi
5cb89f4f25 Addresses various review comments by @sanjanarajan
* Various FIXME tags are removed
 * In curve.js:
  - webCrypto/nodeCrypto fallback bug is fixed
  - Curve25519 has keyType ecdsa (won't be used for signing, but technically can be)
  - webGenKeyPair is simplifed
 * In base64.js:
  - documentation added and arguments simplified
 * In ecdsa.js and eddsa.js:
  - hash_algo is now at least as strong as the default curve hash
  - simplified the code by moving webSign/nodeSign and webVerify/nodeVerify to live in key.js (ht @ismaelbej)
 * In message.js:
  - in decryptSessionKey, loops break once a key packet is decrypted
 * In key.js:
  - getPreferredHashAlgorithm returns the best hash algorithm
  - enums are used for curve selection
2018-01-30 18:36:26 +01:00
Mahrud Sayrafi
3129e7c4e3 Adds X25519 tests and updates README.md 2018-01-30 18:35:29 +01:00
Mahrud Sayrafi
e6820d7b2a Passing all tests, on Node, Firefox, and Chrome 2018-01-30 18:34:28 +01:00
Mahrud Sayrafi
dcff16d32b npm test and grunt browsertest can run side by side now; npm tests pass, browser stuck on problem related to asn1.js 2018-01-30 18:34:07 +01:00
Mahrud Sayrafi
21ae66c604 encrypt/decrypt/sign/verify will always return promises
Note: publicKeyEncryptedSessionKey uses promises, symEncryptedSessionKey does not
2018-01-30 18:33:55 +01:00
Mahrud Sayrafi
1a714cec73 ECC with async/await is 'Done, without errors.' 2018-01-30 18:33:55 +01:00
Mahrud Sayrafi
12eb037ba7 Everything in test/crypto/elliptic.js passes; working on test/general/ecc.js 2018-01-30 18:31:39 +01:00
Sanjana Rajan
86e15dbd0a aes kw update 2018-01-30 18:30:16 +01:00
Sanjana Rajan
26de17150c use internal aes encrypt in key wrap, start refactoring aes to do decryption as well 2018-01-30 18:30:16 +01:00
Sanjana Rajan
b40408d42f standardize packet reading code, make pkcs5 function names same as pkcs1 2018-01-30 18:30:16 +01:00
Sanjana Rajan
b718cf359d simplify packet parsing using type maps 2018-01-30 18:30:16 +01:00
Sanjana Rajan
cdc7004b96 refactor mpi, generalize mpi to params to account for non-mpi algorithm-specific data 2018-01-30 18:30:15 +01:00
Sanjana Rajan
3b8cea67a2 some style fixes, update tests 2018-01-30 18:30:15 +01:00
Ismael Bejarano
a5d9e6d09e Generation of keys for elliptic curves 2018-01-30 18:30:14 +01:00
Ismael Bejarano
075d7f8e0e Encrypt, decrypt, sign and verify with elliptic curve certificates 2018-01-30 18:30:14 +01:00
Ismael Bejarano
585a2bd69d Functions to encrypt and decrypt ECDH keys 2018-01-30 18:30:14 +01:00
Ismael Bejarano
ba2f49234e Signature creation and verification 2018-01-30 18:30:14 +01:00
Ismael Bejarano
a8e8271185 Support functions for Elliptic Curve Cryptography 2018-01-30 18:30:13 +01:00
Ismael Bejarano
54b79be0b0 Add and remove PKCS5 padding 2018-01-30 18:30:13 +01:00
Ismael Bejarano
2f69d22130 Key Wrap and Unwrap from RFC 3394 2018-01-30 18:30:13 +01:00
Ismael Bejarano
01be192a35 Object identifier type 2018-01-30 18:30:13 +01:00
Sanjana Rajan
b9d175d998 tests 2018-01-17 19:36:51 +01:00
Bart Butler
3d2c0d784e add null string test 2017-12-22 22:17:36 -08:00
Bart Butler
1682787152 deal with empty encrypted data correctly 2017-12-22 13:26:53 -08:00
Bart Butler
81a59b76b1 do not echo data back to caller for detached signing 2017-12-05 11:44:01 -08:00
Sanjana Rajan
6189cd4568 returnSessionKey flag in encrypt function 2017-12-02 11:04:29 -08:00
Sanjana Rajan
f0d65780ad wording 2017-12-01 21:30:19 -08:00
Sanjana Rajan
7e03410bc9 allow sessionKey param in top level encrypt 2017-12-01 21:25:43 -08:00
Bart Butler
6c707057d5 webCrypto in webkit needs 2048 bits minimum for keygen 2017-11-28 11:26:52 -08:00
Bart Butler
318d86e5e9 do not use arrow syntax for tests (old node/browser versions) 2017-11-28 10:18:26 -08:00
Sanjana Rajan
a724649f30 fix assert is not defined issue 2017-11-27 22:17:13 -08:00
Sanjana Rajan
e2c15fe558 don't use done inside promises 2017-11-27 22:17:13 -08:00
Bart Butler
7a9c3b0ddd remove stack trace concatenation (non-standard), modify error message only 2017-11-27 19:06:25 -08:00
Bart Butler
49695ff50c Error object cannot be used with structured clone, pass stack 2017-11-27 15:44:04 -08:00
Bart Butler
2a9a1b4846
Merge pull request #606 from FlowCrypt/issue_602_reformatkey_error
reformatKey: Key not decrypted error + test | #602
2017-11-27 13:22:17 -08:00
Bart Butler
f666e400fa
Merge pull request #605 from FlowCrypt/issue_598_armor_headers
improve armor header validation + tests | #598
2017-11-27 13:21:42 -08:00
Justin Chase
589fbb19d6 Added a test to verify error message 2017-11-25 12:24:53 -06:00
Tom James Holub
d0d0874268 reformatKey: Key not decrypted error | #602 2017-11-25 12:24:44 +08:00
Tom James Holub
4495df0f42 improve armor header validation + tests | #598 2017-11-25 10:57:41 +08:00
Justin Chase
15e39a51b0 Minor whitespace changes 2017-11-24 19:56:15 -06:00
Justin Chase
f4cf6d7382 Remove lambda in test 2017-11-24 17:54:44 -06:00
Justin Chase
bf6c2b9319 Added a test verifying innerError 2017-11-24 16:12:37 -06:00
Kelly Martin
c413d09069 Replace expired subkeys with three other subkeys,
One is an expired key for encryption, one is a non-expiring key for
only signatures, and one is a non-expiring key for encryption.
2017-09-15 11:35:37 -05:00
Thomas Oberndörfer
e3eb298ab7 Set keyExpirationTime for subkey binding signature 2017-08-30 16:09:53 +02:00
Patrick Brunschwig
79c8a83cea fixed broken Testcase for improperly formatted Armor Header 2017-08-19 22:07:36 +02:00
Bart Butler
265fa62601 Correct misspelling 2017-07-22 09:38:44 -07:00
Tom James Holub
bcf4a114a7 util.readNumber: overflow test added | #497 2017-07-22 09:27:36 -07:00
Tom James Holub
812e8ffe31 test added: find a valid subkey binding signature among many invalid ones | #527 2017-07-21 21:39:48 -07:00
Tom James Holub
10896c2cbf added missing checksum test with traling armor newline 2017-07-21 15:37:25 -07:00
Tom James Holub
80742bdfbe tests extended - armor checksum validation | #563 2017-07-21 10:15:49 -07:00
Sanjana Rajan
a896003fda remove console logs 2017-07-13 12:07:12 +02:00
Sanjana Rajan
95c5e3af01 use message obj when signing uint8 array 2017-07-08 13:25:24 +02:00
Sanjana Rajan
cc831cde4a more tests 2017-07-04 21:08:48 -07:00
Sanjana Rajan
697eab19cd add tests 2017-07-04 17:03:56 -07:00
Sanjana Rajan
b51b8ad341 add tolerant mode which suppresses errors in reading non-data packets 2017-04-05 07:54:08 -07:00
nauadratti
f56d557036 Add a test for punycode encoded domains 2017-03-30 19:29:50 +00:00
Sanjana Rajan
16c6d2f162 signatureInput -> signature 2017-03-23 13:01:12 -07:00
Sanjana Rajan
484d5aa1ab improve test 2017-03-23 12:04:32 -07:00
Sanjana Rajan
0f967331c6 upper level tests 2017-03-22 17:14:57 -07:00
Sanjana Rajan
e4621fc688 initialize publicKeys to empty array, test case where signed message is decrypted without public keys to verify 2017-03-15 17:44:43 -07:00
Bart Butler
3522bcf2fe remove useless test 2017-03-14 19:13:17 -07:00
Bart Butler
875e475221 small test bugfix 2017-03-14 18:49:05 -07:00
Sanjana Rajan
4ec07672a7 return signature object inside verification object 2017-03-10 10:38:59 -08:00
Sanjana Rajan
7bf697769d added detached sig tests for high level openpgpjs functions 2017-03-07 13:59:18 -08:00
Sanjana Rajan
4ed7f25836 more tests 2017-03-07 13:59:17 -08:00
Sanjana Rajan
7b58cd9200 add tests 2017-03-07 13:59:17 -08:00
Bart Butler
ebc37f3a7d Merge pull request #417 from zartdinov/master
Added ability to sign and verify public keys
2017-03-05 12:24:37 -08:00
Bart Butler
ea90304649 fix key test 2017-02-27 11:06:36 -08:00
Aydar Zartdinov
3fa4c0c760 Base functionality moved to User.prototype 2017-02-15 21:08:17 +03:00
Aydar Zartdinov
715f98bb38 Reverted top level api changes 2017-02-15 21:04:50 +03:00
Aydar Zartdinov
5140a946e5 Added ability to sign and verify public keys 2017-02-15 21:04:50 +03:00
Bart Butler
3d32898250 tests cannot use ES6 features 2017-02-13 22:25:46 -08:00
Sanjana Rajan
37b26cf3ef add test with reformatted key signing and encryption 2017-01-31 15:07:51 -08:00
Sanjana Rajan
1c361cd4e1 add some reformatting key tests 2017-01-31 14:16:34 -08:00
David Janes
c223b88829 implement keyExpirationTime 2017-01-24 16:54:52 -05:00
Giovanni Pellerano
f8c5c84469 Simplify test/unittests.html removing old stuff related to phantomjs 2016-06-26 11:35:43 +02:00
Tankred Hase
490d8e4e90 Bugfix: drop unsupported packets in packetlist.read()
add unit test for RSA key with ECC subkey
2016-06-07 18:21:31 +02:00
evilaliv3
a5fdc36062 Cleanup API for key.decrypt and align unit tests 2016-04-27 16:06:52 +02:00
evilaliv3
61470ad068 Apply edits as suggested in review of pull #446 2016-04-25 18:35:50 +02:00
evilaliv3
afc2c95238 Implement feature #443 2016-04-25 00:54:16 +02:00
Tankred Hase
e3b146b9d9 Fix Keyid.fromId() 2016-04-11 12:11:35 +02:00
Tankred Hase
843fba0d40 Use underscore instead of camelcase in config
zeroCopy —> zero_copy
useNative —> use_native
Remove unnecessary tests from build
2016-03-24 21:02:29 +08:00
Tankred Hase
2dce233d10 Fix: activate native tests under node.js 2016-03-24 13:34:12 +08:00
Tankred Hase
da3fbf8965 Test CFB, GCM, worker, asm.js, native cases 2016-03-24 13:25:35 +08:00
Tankred Hase
8b46a117ab Prefer aes128 over aes192 (no WebCrypto support) 2016-03-24 10:53:30 +08:00
Tankred Hase
ddedb5cb42 Cleanup public api 2016-03-23 21:36:48 +08:00
Tankred Hase
453a9cee07 Use web worker for encrypt/decrypt if no native gcm 2016-03-23 21:17:36 +08:00
Tankred Hase
26bf7b62c7 Prevent native crypto for worker tests. 2016-03-23 19:15:04 +08:00
Tankred Hase
963648c6ea Fix unit tests for browsers 2016-03-23 15:39:51 +08:00
Tankred Hase
7fabe02e03 Fix GCM under node.js 2016-03-23 13:43:06 +08:00
Tankred Hase
8f8218e9de Cleanup and test AEAD protected packet 2016-03-22 17:45:19 +08:00
Tankred Hase
8aa15b66a9 Cleanup and unit test gcm.js 2016-03-22 17:45:19 +08:00
Tankred Hase
a8fd179843 Fix key and signature tests 2016-02-10 15:41:04 +07:00
Tankred Hase
707b3919e1 Move most test high lvl api test code to test/openpgp.js, cleanup 2016-02-10 15:07:05 +07:00
Tankred Hase
25131e0df9 Added unit tests for util.getTransferables 2016-02-10 12:52:13 +07:00
Tankred Hase
6547b4ef68 Test encrypt/decryptSessionKey and finalize api, review docs 2016-02-10 12:52:13 +07:00
Tankred Hase
128a95ace4 rearrange test order and fix web worker detection 2016-02-10 06:38:35 +07:00
Tankred Hase
9d37a83a79 Api tests work under node.js 2016-02-09 19:14:43 +07:00
Tankred Hase
7d97bcec58 Implement openpgp.decryptKey 2016-02-09 19:04:31 +07:00
Tankred Hase
860ffbe278 Fix redundant deactivation of transferable objects in test 2016-02-09 17:14:00 +07:00