Commit Graph

822 Commits

Author SHA1 Message Date
Daniel Huigens
2f849063f9 Allow reusing EAX/OCB instances with the same key
This is useful for chunked encryption in draft04
2018-04-27 14:06:19 +02:00
Daniel Huigens
e24b46192d Only AEAD-protect when target keys support it 2018-04-27 14:06:18 +02:00
Daniel Huigens
e44fbbccab Add more OCB tests 2018-04-27 14:06:18 +02:00
Daniel Huigens
28dbbadcff Add config.aead_protect_version option 2018-04-27 14:06:17 +02:00
Daniel Huigens
997ec1c8db Add AEAD feature flags 2018-04-27 14:06:17 +02:00
Daniel Huigens
f225f994ec Add AEAD-OCB test vector 2018-04-27 14:06:16 +02:00
Daniel Huigens
5f97a8c937 Implement preferred AEAD algorithms 2018-04-27 14:06:16 +02:00
Daniel Huigens
c6ba83c4a3 Allow configuring openpgp in unit tests using query params (e.g. ?debug=true&use_native=false) 2018-04-27 14:06:15 +02:00
Daniel Huigens
ba2b761da4 Implement OCB mode 2018-04-27 14:06:15 +02:00
Daniel Huigens
5f891d28d6 Switch cipher/aes.js to Uint8Arrays 2018-04-27 14:06:14 +02:00
Daniel Huigens
c2f898279b Implement version 5 Secret-Key Packet Format 2018-04-27 14:06:14 +02:00
Daniel Huigens
7c3bbe9278 Don't auto-scroll unit tests if you scrolled up 2018-04-27 14:06:13 +02:00
Daniel Huigens
17ad654d60 Implement version 5 Symmetric-Key Encrypted Session Key packet 2018-04-27 14:06:13 +02:00
Daniel Huigens
7b3f51c0d4 Implement AEAD Encrypted Data Packet 2018-04-25 20:12:10 +02:00
Daniel Huigens
85a1b9859b Implement EAX mode 2018-04-25 20:12:10 +02:00
Daniel Huigens
c63ed980a1 Fix dash-escaping the first line of cleartext signed messages 2018-04-25 19:46:43 +02:00
Daniel Huigens
122d526f49 Only consider most recent subkey binding signature
This partially reverts 2bda127.
2018-04-18 14:40:06 +02:00
Sanjana Rajan
e4bd27ce2f tests 2018-04-16 10:51:07 -07:00
Sanjana Rajan
8778490061 tests 2018-03-22 16:11:39 -07:00
Sanjana Rajan
2f351985c4 tests 2018-03-19 18:55:30 -07:00
Sanjana Rajan
401edab455 add brainpool gpg compatibility tests 2018-03-18 22:36:36 -07:00
Mahrud Sayrafi
944dece506
Adds Brainpool Curves + tests + docs 2018-03-18 10:12:29 -07:00
Sanjana Rajan
75cd4e5e6f some fixes, add expired key test 2018-03-17 07:32:56 -07:00
Sanjana Rajan
38508b33d1 if primary key is invalid, so are subkeys 2018-03-12 23:23:03 +01:00
Sanjana Rajan
a94ca90653 add test for key revoked with cert, no revoked subkeys 2018-03-12 23:16:41 +01:00
Mahrud Sayrafi
6fefe22c09 Finished fixing key.js; fixes async tests 2018-03-08 10:01:55 +01:00
Mahrud Sayrafi
0b2817ba39 Last little things become async ... 2018-03-08 10:01:55 +01:00
Mahrud Sayrafi
47006069d1 Added test for encryption with revoked subkey 2018-03-08 10:01:54 +01:00
Mahrud Sayrafi
73a240df6c Simplifies (Key|User|SubKey).isRevoked, API changes in key.js
For User s/revocationCertifications/revocationSignatures/g
For Key/SubKey s/revocationSignature/revocationSignatures/g is now an array.
2018-03-08 10:01:54 +01:00
Mahrud Sayrafi
ec22dabac3 Slightly simplifies key.js; adds key.verifyKeyPackets which should be run before getEncryption/SigningKeyPacket 2018-03-08 10:01:54 +01:00
Bart Butler
2bb5db2cf4 multiple web workers 2018-03-05 21:36:53 -08:00
Bart Butler
572abadc91 random number web worker buffer automatic refill 2018-03-05 17:57:35 -08:00
Bart Butler
433ae5cce7 remove extraneous file 2018-03-05 16:32:16 -08:00
Bart Butler
f57888fe55 change all calls of getRandomBytes and getRandomBN to be async 2018-03-05 16:31:56 -08:00
Bart Butler
b088f005da simplify random.js 2018-03-05 12:18:04 -08:00
Bart Butler
20a0e76998 Merge branch 'master' of github.com:openpgpjs/openpgpjs 2018-03-01 11:55:17 -08:00
Bart Butler
5564b67cc8 remove readSignedContent in favor of appendSignature 2018-03-01 11:55:09 -08:00
Mahrud Sayrafi
30bd6102d5
OID's stored as Uint8Array 2018-03-01 11:35:16 -08:00
Mahrud Sayrafi
5e857e131e
Bugfix in Native ECC in Node 2018-03-01 01:28:03 -08:00
Mahrud Sayrafi
9e1236c04c
Modernizes util.js 2018-02-28 15:49:41 -08:00
Mahrud Sayrafi
7eef65926a
Simplifies elliptic/curve.js 2018-02-28 00:58:50 -08:00
Mahrud Sayrafi
ecc38d0c6e
Adds worker tests for NIST P-256 and X25519 2018-02-27 16:40:28 -08:00
Mahrud Sayrafi
f04273cd8d
Merge branch 'master' into feat/asmcrypto 2018-02-27 14:57:34 -08:00
Mahrud Sayrafi
3df0997f4d
Cleanups 2018-02-26 20:01:01 -05:00
Bart Butler
0186ca8a24 tree shake sinon to just get what we need 2018-02-26 14:45:05 -08:00
Mahrud Sayrafi
2e95335825
millerRabin set to 40 iterations; doc fixes 2018-02-25 09:30:19 -05:00
Mahrud Sayrafi
3b912d2fae
Cleaning mpi.js; TODO: store MPI.data as Uint8Array instead of BN
Also improved asynchronousity in packet tests
2018-02-22 14:51:57 -08:00
Mahrud Sayrafi
d40e8fe428
Use asmcrypto.js directly + quickfix 2018-02-22 11:51:21 -08:00
Mahrud Sayrafi
1812166a53
RSA using asmcrypto with asmcrypto bignum 2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
605021af3b
Various quickfixes and cleanups 2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
e1d85ba682
ElGamal and MPI use bn.js; TODO: RSA Key Generation 2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
490b1dc0f0
ECDH, ECDSA, EdDSA are all on BN.js; TODO: ElGamal & type_mpi 2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
2f3c0a86e9
DSA uses BN.js
added toBN for type_mpi
2018-02-22 00:37:41 -08:00
Mahrud Sayrafi
aee8974ef5
RSA signatures now use asmcrypto.js; various fixes and tweaks 2018-02-22 00:37:41 -08:00
Bart Butler
e939d9b1ab
Merge pull request #647 from KAYLukas/feat/time-param
Add a date parameter to the sign/verify/encrypt/decrypt functions
2018-02-21 16:58:17 -08:00
KAYLukas
56ad9a00e0 Fix testcases 2018-02-21 22:32:09 +01:00
KAYLukas
6b4d44dbb1 Fix browser tests 2018-02-19 22:12:24 +01:00
KAYLukas
071fc35f38 Check created time to be valid and discard milliseconds from date objects 2018-02-17 11:28:04 +01:00
Bart Butler
f803b17859 remove time limit from loading x25519 private keys 2018-02-16 08:46:26 -08:00
KAYLukas
6ca8bc2180 Add timeparameter for verification and remove verify_expired_keys 2018-02-16 17:20:48 +01:00
KAYLukas
7e66ea20db Add timeparameter to signing and encryption 2018-02-16 17:20:48 +01:00
Bart Butler
be7973b904 add polyfills for test bundle 2018-02-15 21:28:26 -08:00
Bart Butler
79d2e9d6bf fix skipped asmCrypto test 2018-02-15 15:33:46 -08:00
Bart Butler
7e1731f2bb remove excess compression testing, fix cleartext signing with multiple keys test 2018-02-14 15:19:52 -08:00
Bart Butler
fa2672fcc1
Merge pull request #642 from mmso/feat/bzip2
Fix #607 - Add support for bzip2 de/compression
2018-02-14 11:00:56 -08:00
Sanjana Rajan
b5d19b6f8d pull out common signature code 2018-02-14 19:00:13 +01:00
Sanjana Rajan
2ffd81553d test multiple private key signing cleartext 2018-02-14 17:30:35 +01:00
mmso
8808fdb8ed
Fix #607 - Add support for bzip2 de/compression 2018-02-14 14:14:07 +01:00
BafS
b672f1936a Use let and const ES6 features.
Remove var, for let or const if possible, clean some syntax, enforce one var per declaration and semicolons
2018-02-13 23:33:09 +01:00
BafS
de6ffc2f76 Remove 'user strict'
'use strict' is unnecessary inside modules because module code is always strict mode code. Ref: https://www.ecma-international.org/ecma-262/6.0/#sec-strict-mode-code
2018-02-13 23:33:09 +01:00
mmso
2a504e4e1a
Disable spy call expecations on the web worker 2018-02-13 17:21:20 +01:00
mmso
9f7466ef45
Add compression support for the encrypt function 2018-02-13 15:08:41 +01:00
Sanjana Rajan
62015c2c8d useWildcard -> wildcard 2018-02-12 19:31:47 +01:00
Sanjana Rajan
989ad5077e cleanup, docs 2018-02-12 13:40:23 +01:00
Sanjana Rajan
417af8c6bc tests 2018-02-12 09:47:51 +01:00
Sanjana Rajan
d5022a3a4a rename vars in old tests 2018-02-12 09:47:51 +01:00
Sanjana Rajan
85f115f889 tests 2018-02-09 16:18:46 +01:00
Bart Butler
7bd78585fd
Merge pull request #629 from dkg/http-to-https
move from http to https where possible.
2018-02-08 13:36:14 -08:00
Mahrud Sayrafi
d851398b0c
Merge branch 'master' into http-to-https 2018-02-08 10:56:46 -08:00
Mahrud Sayrafi
0ebe0972e7
Merge branch 'master' into speling 2018-02-08 10:46:42 -08:00
Bart Butler
aa476b4905
Merge pull request #537 from nauadratti/patch-1
Allow punycode encoded TLDs in email
2018-02-07 23:26:18 -08:00
Bart Butler
0f4d81bf2c add test for signing with multiple keys, align signature packet order with high-level API private key order 2018-02-07 18:16:54 -08:00
Bart Butler
602bbb707d rename decryptSessionKey to decryptSessionKeys, return only unique session keys 2018-02-06 21:25:49 -08:00
Bart Butler
210ec26ed3 fix sporadic two password decryption failure 2018-02-06 16:43:51 -08:00
Bart Butler
bdf1ce8d64 add some more polyfills for old browsers 2018-02-06 10:56:29 -08:00
Bart Butler
89f86d83d5 fix obsolete browser tests, add some polyfills 2018-02-05 22:17:41 -08:00
Bart Butler
ac440b9ae6 use ES6 polyfill for worker and tests, not in openpgp.js 2018-02-05 14:21:35 -08:00
Mahrud Sayrafi
37eec2bde2
Added Ed25519 Test Vectors from RFC8032 2018-02-04 02:44:05 -08:00
Mahrud Sayrafi
115d1c0949
A better patch for EdDSA truncation issue.
The last test in test/general/x25519.js is commented, as it seems to defy logic.
Yet it can be successfully imported by GPG2. TODO: How?
2018-02-03 14:36:20 -08:00
Mahrud Sayrafi
3370eaa2aa
Expands truncated little-endian parameters in EdDSA 2018-02-02 05:42:54 -08:00
Bart Butler
9e6005ee39 auto-scroll browser unit tests 2018-02-01 10:34:48 -08:00
Daniel Kahn Gillmor
1799107aac Fix typos
This patch contains several trivial/inconsequential orthographic
fixes.
2018-02-01 10:03:41 -05:00
Daniel Kahn Gillmor
4da28fcc29 move from http to https where possible.
There are dozens of links in the OpenPGP.js codebase that are http but
could be replaced with https links.  I've converted as many of them as
i could find.
2018-02-01 09:58:06 -05:00
Sanjana Rajan
41f1e697b5 remove isValid 2018-02-01 13:41:19 +01:00
Bart Butler
76d7fac967 eliminate openpgp_browser.js 2018-01-31 19:27:00 -08:00
Mahrud Sayrafi
a4134b9f55
Addresses various review comments by @bartbutler + some cleanups 2018-01-31 17:52:38 -08:00
Mahrud Sayrafi
d97bc064ea
Cleanups and doc fixes 2018-01-31 12:24:21 -08:00
Mahrud Sayrafi
aba8a7a647 Switches to asmcrypto-lite for AES 2018-01-30 18:36:38 +01:00
Mahrud Sayrafi
2d1a1130d7 Fixes bug in isRevoked, removes isValidSelfCertificate, adds verifyCertificate 2018-01-30 18:36:38 +01:00
Mahrud Sayrafi
d02b9c7bf0 Fixes problems with user certificate verification.
TODO: if using lower level functions, key.verifyPrimaryUser() MUST be
called and resolved before calling key.getSigning/EncryptionKeyPacket(),
key.getPrimaryUser(), etc.

Also: adds a flag to allow verification with expired keys from:
(cherry picked from commit b9d175d998)
(cherry picked from commit 50940b2a1e)
2018-01-30 18:36:37 +01:00
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
Tankred Hase
ab68d4b997 Support transferable objects in web worker for zero copy support 2016-02-09 17:01:48 +07:00
Tankred Hase
206f1f9c0f Add 'armor' parameter to sign api 2016-02-09 12:57:23 +07:00
Tankred Hase
c0cc0ee991 Use 'armor' param in encrypt api instead of 'packets' to return full message object 2016-02-09 11:32:35 +07:00
Tankred Hase
f5375ef700 Drastically simplify async_proxy with generic delegate function 2016-02-09 08:46:18 +07:00
Tankred Hase
227a412ca0 Run tests both with and without web worker 2016-02-09 07:53:31 +07:00
Tankred Hase
9634440341 Remove redundant old tests from test/general/basic.js 2016-02-09 07:49:51 +07:00
Tankred Hase
b1f6266cc8 Write tests for new api: openpgp.encrypt/decrypt 2016-02-08 23:28:54 +07:00
Tankred Hase
a44e1e5024 Write tests for new api: openpgp.generateKey 2016-02-08 19:32:42 +07:00
Tankred Hase
c38d41036e Add sinon to devDeps for mocking 2016-02-08 15:02:02 +07:00
Tankred Hase
c7a6a88098 Add type validation util functions 2016-02-08 13:36:21 +07:00
Tankred Hase
261db8035d Remove redundant message.symEncrypt/symDecrypt 2016-02-04 16:41:39 +07:00
Tankred Hase
3919441bbc Fix unit test using strict mode for random.js 2016-02-03 20:24:54 +07:00
Tankred Hase
2aa8b143bd Ignore MDC error in unit test for symmetrically encrypted packet 2016-02-03 20:24:54 +07:00
Bart Butler
88a7534b8a Add asmCrypto, native node crypto calls for faster AES 2016-02-03 20:24:54 +07:00
Bart Butler
11038dd946 Add Rusha for fast SHA hashes 2016-02-03 20:24:54 +07:00
Bart Butler
b4916e29a3 binary strings to typed arrays in most places 2016-02-03 20:24:54 +07:00
Bart Butler
b310877c7d fixes 2016-02-03 20:24:54 +07:00
Bart Butler
60fb6ba18d direct session key manipulation and encryption/decryption 2016-02-03 20:24:54 +07:00
Bart Butler
2e4e9387a0 Fixes for symmetrically encrypted session keys 2016-02-03 20:24:54 +07:00
Tankred Hase
d707164857 Fix unit tests on Safari, Closes openpgpjs/openpgpjs#399 2016-02-03 19:33:08 +07:00
Tankred Hase
1ba1427f58 Skip performance test 2016-02-01 08:23:17 +07:00
Tankred Hase
dec7881f93 Don't inject fetch polyfill in hkp module anymore 2016-01-29 20:03:11 +07:00
Tankred Hase
f729efa873 Use dist/openpgp instead of src/index because of future ES6 transpilation under node 2016-01-23 07:05:59 +07:00
evilaliv3
af4a9ba6ad Revert few of the changes done in a4598f3bd4 2016-01-22 23:47:11 +01:00
evilaliv3
ec2a3990ff Fix order of logFailure definition and its usage in unittests.html 2016-01-09 01:22:28 +01:00
evilaliv3
1a4a75501a Raise unittests.html mocha.timeout to 240000 as for other timeouts 2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
a968f60f0b Keyring: support plain email addresses (without name) as user IDs. 2016-01-07 15:35:47 +01:00
Nick Doiron
ef566b6a3c Specify a filename in encrypt fromBinary [Closes #284] 2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
6f8a3abdfa Support multiple user IDs for key generation 2016-01-07 15:35:47 +01:00
Matthew Shaylor
37ce176d42 If you attempt to store an empty keylist then delete the storage key 2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
d0297e1b81 Test cases for MDC error 2016-01-07 15:35:47 +01:00
Tankred Hase
6634abf326 Add basic HKP lookup and upload support 2015-12-11 13:12:34 +07:00
evilaliv3
641f4c8098 Improve unit testing by means of Coveralls and Saucelabs 2015-11-28 12:53:03 +01:00
Peter Breitling
07e4278a3a Optimized memory footprint for encrypting and decrypting 2015-06-10 21:12:55 +02:00
Tankred Hase
85133393e3 Use 2048 bit keysize in tests in case of webcrypto support 2015-05-13 14:06:48 +02:00
Tankred Hase
4d6a34faa1 Implement Symmetric-Key Message Encryption using a passphrase
See https://tools.ietf.org/html/rfc4880#section-3.7.2.2
2015-04-22 01:41:00 +02:00
Thomas Oberndörfer
90d9edd497 Add unit tests for checkEmail method in keyring 2015-03-05 14:40:59 +01:00
Tankred Hase
da3dbf7acc Set config in AsyncProxy 2015-02-11 14:01:08 +01:00
Sergey Ratiashvili
c9e019d20e fix worker instance misconfiguration 2015-02-11 13:08:13 +01:00
Thomas Oberndörfer
712f807e50 Restore path parameter of initWorker method 2015-01-24 14:44:06 +01:00
Thomas Oberndörfer
c9b4f7532e Add getter method for worker to high level API. Initialization options for AsyncProxy: path and worker. 2014-12-15 14:33:13 +01:00
Andreas Fischer
b00ce34e90 Typo: Unknow -> Unknown 2014-11-17 12:31:04 +01:00
Tankred Hase
39e1e145e4 Add es6-promise polyfill to build step so users don't have to. 2014-10-02 10:55:27 +02:00
Tankred Hase
4cd664a919 Fix tests on travis ci. 2014-10-02 00:02:56 +02:00
Tankred Hase
bf1cb6d521 Add high level error messages to public api. 2014-10-01 22:20:28 +02:00
Tankred Hase
f08fc0a4f7 Refactor web worker async proxy to use promises. 2014-10-01 21:18:05 +02:00
Tankred Hase
7f2573c77d Refactor complete public api to use promises 2014-10-01 19:12:39 +02:00
Tankred Hase
0ac58356b5 Refactor keygen to use promises (Work in progress) 2014-10-01 13:13:09 +02:00
Tankred Hase
cbe4a17ccb Refactor key generation to use callback
* TODO: reactive native web crypto in rsa.js:142
* TODO: generate publicExponent Uint8Array from argument E in rsa.js:148
* TODO: signing with generated web crypto key fails with "Could not find valid key packet for signing in key"
2014-09-30 18:22:17 +02:00
Thomas Oberndörfer
060da64aab Key generation: do not clear private MPIs for keys without passphrase. 2014-07-30 16:36:01 +02:00
Tankred Hase
de3ba18400 Implement content verification using detached signatures 2014-07-03 14:57:52 +02:00
Tankred Hase
8c93688b0e Warn user with signature null for wrong public key instead of exception. 2014-07-01 16:22:09 +02:00
Tankred Hase
ecb6798441 Throw an error if a wrong public key is used to verify a signature. 2014-06-30 19:26:33 +02:00
Msjoinder
1fd2c0f6f4 API accepts single public key string instead of array 2014-06-07 14:11:53 -05:00
Tankred Hase
896e90c1ee Merge pull request #223 from toberndo/unify_verify_interface
Allow private keys for verify methods in Cleartext and Message class.
2014-05-17 09:20:32 +02:00
Thomas Oberndörfer
172855a8e9 Redefine Regex for blank line after armor header. This fixes an issue with truncated blank lines at the beginning of cleartext signed messages. 2014-05-16 19:08:29 +02:00
Thomas Oberndörfer
7a7c181ee6 Allow private keys for verify methods in Cleartext and Message class. Refactor getKeyPacket methods in Key class. 2014-05-14 11:32:09 +02:00
Thomas Oberndörfer
bb0ac83cb7 Generate key by default without unlocking secret part. Use options parameter for generate method. 2014-05-05 12:11:36 +02:00
Thomas Oberndörfer
4a55905a8f Merge subkey binding signatures in key update method 2014-05-02 17:30:11 +02:00
Tankred Hase
b21bab2e42 Merge pull request #218 from toberndo/opt_prim_user
Minimize signature verifications to evaluate primary user
2014-05-02 11:32:32 +02:00
Thomas Oberndörfer
8ea87050bd Minimize signature verifications to evaluate primary user 2014-04-26 10:50:55 +02:00
Thomas Oberndörfer
e1dffffe8d Refactor cfb.encrypt: fix inconsistent output depending on plaintext length. Use typed arrays for ciphertext. 2014-04-25 16:33:28 +02:00
Thomas Oberndörfer
ced145865e Accept armor header with trailing whitespace 2014-04-04 16:00:26 +02:00
Thomas Oberndörfer
86537fb48c Add support to write V3 signatures 2014-04-03 21:21:56 +02:00
Thomas Oberndörfer
fb8f2a2a57 Implement user attribute packet write() 2014-04-02 19:21:44 +02:00
Thomas Oberndörfer
a4598f3bd4 Generate openpgp.js without source map. New source map target is openpgp_debug.js. Change dependency of workers: openpgp.worker.js -> openpgp.js, openpgp.worker.min.js -> openpgp.min.js. Remove openpgp.js with maps from unittests-bundle.js 2014-03-31 16:09:23 +02:00
Thomas Oberndörfer
e8ef355604 OP-01-010 Invalid Armor Checksum Validation (Low) 2014-03-29 16:25:28 +01:00
Thomas Oberndörfer
5eca11ca5b Set signature feature subpacket depending on config.integrity_protect flag 2014-03-29 15:39:26 +01:00
Thomas Oberndörfer
1c818f2410 OP-01-006 Generated keys have no stored algorithm preference (Medium). Set preferences for symmetric, hash and compression algorithms. Fix preferred_compression_algorithms subpacket reading. 2014-03-28 21:39:54 +01:00
Thomas Oberndörfer
b9c597a41a OP-01-003 Suggested Code Enforcement of RandomBuffer (Low). Clearing random number from buffer after usage. buffer variable is still a public. 2014-03-28 13:16:33 +01:00
Thomas Oberndörfer
4d96089f72 OP-01-001 Type confusion in crypto.random.RandomBuffer (Low) 2014-03-27 15:49:10 +01:00
Thomas Oberndörfer
28e7a80eba OP-01-011 Error suppression in UTF-8 decoding function (Medium). Add check for parameter type to decode_utf8. 2014-03-21 18:32:05 +01:00
Thomas Oberndörfer
93ca8b62fe OP-01-019 Cleartext Message Spoofing in Armor Headers (Critical). Fix: throw error if unknown ASCII armor type. 2014-03-21 16:11:48 +01:00
Thomas Oberndörfer
329c92bc73 OP-01-009 Cleartext Messages Spoofing by Lax Armor Headers parsing (Critical). Add armor header verification. Verify "Hash" header in cleartext signed message. 2014-03-21 15:37:52 +01:00
Thomas Oberndörfer
22e4540ed9 OP-01-007 Algorithm Preferences ignored upon Encryption (Low) 2014-03-18 17:45:15 +01:00
Thomas Oberndörfer
9f23c6a891 OP-01-005 Side-channel leak in RSA decryption (High). Add config option for RSA blinding, default true. Update jsbn to 1.3. Remove decrypted packets after Message.decrypt(). 2014-03-17 11:54:40 +01:00
Tankred Hase
7cba2be2fc Merge pull request #179 from toberndo/keyring_enh
Refactoring keyring, Key update method, Fixes
2014-02-27 11:04:25 +01:00
Thomas Oberndörfer
1dfdfb62cb Keyring: simplify API, accept 16 char hex or fingerprint as keyid. 2014-02-26 11:45:03 +01:00
Tankred Hase
3d423655c4 reduce memory allocations in aes block cipher, optimize performance test 2014-02-26 00:20:46 +01:00
Tankred Hase
ec4a0aca46 use typed array in aes and cfb, cleanup for loops 2014-02-25 14:38:52 +01:00
Tankred Hase
01a0a218c7 update becnhmark test 2014-02-25 13:19:41 +01:00
Tankred Hase
49ac4e6816 add performance test 2014-02-25 10:30:57 +01:00
Tankred Hase
8eada2a1a8 fix aes unit test 2014-02-25 00:09:49 +01:00
Thomas Oberndörfer
7bdbb58266 Update keyring unit tests 2014-02-23 20:52:52 +01:00
Thomas Oberndörfer
e71a897d8a Add unit tests for key update 2014-02-23 20:52:03 +01:00
Thomas Oberndörfer
151694ff07 Write unhashed subpackets. Fix #178. 2014-02-23 20:51:02 +01:00
Tankred Hase
b0bd5168a8 add optional callback to public api and invoke AsyncProxy behind the scenes 2014-02-12 15:11:06 +01:00
Eason Goodale
7ca8414fc8 The keys seem to have been generated with 'whiteout.test@t-online.de' 2014-02-06 04:43:00 -08:00
Eason Goodale
bb4057af7d Keyring test should ensure that it's actually getting a key when it uses a valid address 2014-02-06 04:36:57 -08:00
Thomas Oberndörfer
f00f4a9582 Merge branch 'key_enh' 2014-02-06 12:46:24 +01:00
Thomas Oberndörfer
b1e8c9ec52 Add unit tests for getExpirationTime Key method 2014-02-06 12:28:36 +01:00
Thomas Oberndörfer
191eca353e Merge branch 'pr/170' 2014-02-06 12:23:47 +01:00
Thomas Oberndörfer
d46ef40390 Add unit test for custom localstorage item name 2014-02-06 12:20:52 +01:00
Thomas Oberndörfer
b3a5597ab9 Merge pull request #169 from openpgpjs/subkey_revocation
Verify subkey revocation signatures according to: RFC4880 Errata ID: 3298
2014-02-06 11:41:30 +01:00
Thomas Oberndörfer
a9c9f78dd4 Verify subkey revocation signatures according to: http://www.rfc-editor.org/errata_search.php?rfc=4880&eid=3298 2014-02-04 17:44:22 +01:00
Thomas Oberndörfer
57849437d9 Fix isValidEncryptionKeyPacket function: access key flags by index 2014-02-04 15:51:47 +01:00
Tankred Hase
01469be87f Merge pull request #163 from MarcoPolo/master
Fixed keyring local storage
2014-02-02 09:14:44 -08:00
Tankred Hase
95db18eb4a Add unit test to catch #156 and fix it 2014-01-31 14:03:59 +01:00
Marco Munizaga
875ccf5196 Fixed keyring local storage 2014-01-31 02:26:57 -05:00
Thomas Oberndörfer
040ccbaf2c Web worker: simplify random data supply 2014-01-20 09:56:02 +01:00
Thomas Oberndörfer
37213e1654 Web worker: add decryptKey and decryptKeyPacket methods to proxy 2014-01-16 16:44:05 +01:00
Thomas Oberndörfer
a777371418 Web worker: unit tests for random buffer and entropy estimation 2014-01-16 13:34:31 +01:00
Thomas Oberndörfer
8cd956c9bc Web worker: add more unit tests 2014-01-15 19:42:03 +01:00
Thomas Oberndörfer
17c6f90113 Unit tests for web worker. Only active for browsers. 2014-01-13 15:42:03 +01:00
Tankred Hase
bf46ff3c9d fix tests 2014-01-10 20:46:31 +01:00
Robert Nelson
bd963aabf0 Make standalone the default and use openpgp.min.js in node package 2014-01-09 17:02:42 -08:00
Robert Nelson
4719966988 Fix travis problem 2014-01-09 09:40:57 -08:00
Robert Nelson
92adbff398 Changed comparison in window check 2014-01-09 08:22:57 -08:00
Robert Nelson
4cabe075d5 Add standalone support 2014-01-09 07:31:00 -08:00
Robert Nelson
5851d7ba14 Remove obsolete example test file 2014-01-09 03:14:35 -08:00
Robert Nelson
9f4e6e7ebb Add files missed in last commit 2014-01-09 02:47:57 -08:00
Robert Nelson
3680695a69 Implement node.js support and cleanup source tree.
Rename resources to dist.

Eliminate keyring bundle and expose keyring class in openpgp module.

Add mochaTest grunt task to run node server-side tests.

Add node_pack grunt task to create npm package into dist and install it for testing.

Add node_store config property which specifies location of localStorage emulation when using node.

Add repository info to package.json.

Move util.js to src directory from util since it is the only file there.

Rename class properties in openpgp to the new class names.
2014-01-09 02:29:30 -08:00
Robert Nelson
57c98386f9 Add node.js support 2014-01-08 09:01:15 -08:00
Robert Nelson
0c6b345ba8 Refactor classes 2014-01-05 10:13:25 -08:00
Robert Nelson
28ba64c11d Eliminate previous ci tests.
Merge ci keyring tests to unittests, the other ci tests just duplicate other unit tests.

Change Makefile to just run grunt and npm tasks.
2014-01-04 11:09:29 -08:00
Robert Nelson
598618ec8a Complete crypto/hash tests 2014-01-03 23:44:04 -08:00
Robert Nelson
0a23d056c0 Finish crypto/cipher tests, disable subkey revocation tests 2014-01-03 22:46:37 -08:00
Robert Nelson
db80459cf1 Merge branch 'master' into chai-mocha-port 2014-01-03 13:51:49 -08:00
Tankred Hase
3d67721fb5 remove old files 2014-01-03 20:40:05 +01:00
Tankred Hase
1cec81d576 merged devel into master 2014-01-03 18:48:27 +01:00
Robert Nelson
3ef6814421 Add new index.js files 2014-01-03 08:11:55 -08:00
Robert Nelson
3beb4ac0ad Started porting crypto tests 2014-01-03 08:10:50 -08:00
Robert Nelson
e5e1675615 Port general tests to chai/mocha 2014-01-02 19:47:04 -08:00
Robert Nelson
17ad1f5fed More documentation fixes 2013-12-26 22:49:37 -08:00
Robert Nelson
e891d81e17 Merge upstream/devel changes 2013-12-22 13:01:24 -08:00
Robert Nelson
8923813580 Fix jsdoc generation and make keyring multiple instance.
Add jsdoc @module definitions.

Fix references to old class names.

Make keyring a multiple instance module.

Eliminate unit test dependency on running npm test.
2013-12-22 12:39:11 -08:00
Thomas Oberndörfer
b27b01905b Refactoring Key class to use structured data. Transform key from-to packetlist.
Add User and SubKey class. Verification methods for key components.
2013-12-20 18:19:11 +01:00
Thomas Oberndörfer
1ca90a980c Support multiple keys per ASCII armored block. Unify error handling: replace print_error function
with exceptions. The idea is to use exceptions internally, but catch them in the high level API
functions and return errors as implemented in openpgp.key.readArmored.
2013-12-17 16:09:52 +01:00
Thomas Oberndörfer
d7d74ec5e3 Verify V3 certification signatures 2013-12-12 14:22:23 +01:00
Thomas Oberndörfer
ff8d93f956 Fix key expiration time. Add key revocation unit test. 2013-12-12 12:05:00 +01:00
Thomas Oberndörfer
d22facc61c Remove CP-1252 cleartext signature unit-test 2013-12-09 19:33:30 +01:00
Thomas Oberndörfer
5fd4bdbccb Fix make bundle-test and keyring unit-tests 2013-12-09 16:57:44 +01:00
Robert Nelson
48af7ce584 Shuffle bundle names around so that openpgp.js is the debug version 2013-12-09 00:30:13 -08:00
Robert Nelson
1d0c75a927 Add keyring bundle creation to Makefile 2013-12-08 21:23:05 -08:00
Robert Nelson
1c07c482aa Create a bundle for keyring and split out the store code 2013-12-08 20:54:25 -08:00
Robert Nelson
f00d3210aa Convert keyring to use key interface rather than the packetlist. 2013-12-08 19:35:01 -08:00
Robert Nelson
bfba0eca0c Changed unitttests and keyring to use bundled openpgp and updated keyring to use openpgp.key instead of packetlists.
Added getUserIds() to key.

Reenabled keyring ci tests.
2013-12-08 15:41:31 -08:00
Robert Nelson
30332003f8 Merge remote-tracking branch 'origin/devel' into integration-tests 2013-12-08 11:02:26 -08:00
Thomas Oberndörfer
5d32718096 Normalize end of line, add getter and setter for text in literal data packet. 2013-12-08 14:24:52 +01:00
Robert Nelson
e8a2cd6621 Continuous integration testing support completed 2013-12-08 04:38:44 -08:00
Robert Nelson
5f30c67499 All signature unit tests passing now 2013-12-06 14:26:11 -08:00
Robert Nelson
f57de1ec40 Unit tests passing 2013-12-06 09:56:05 -08:00
Tankred Hase
db2f20448c fix signature test 2013-12-05 22:12:32 +01:00
Tankred Hase
caaedc16bf reconstruct bug in signature verification 2013-12-05 17:27:56 +01:00
Robert Nelson
aa377b7cc9 Add verification of V3 signatures 2013-12-04 20:38:52 -08:00
Robert Nelson
835a05853e Change message to match others 2013-12-04 19:39:15 -08:00
Robert Nelson
f8d8d471a9 Add test of verification of a clearsign message generated by gpg 2013-12-04 19:33:44 -08:00
Robert Nelson
e9b8b0efb9 Incorporate integration test changes from signature branch 2013-12-04 18:11:14 -08:00
Thomas Oberndörfer
f6176ed484 Move key generation to Key class 2013-12-04 16:45:14 +01:00
Thomas Oberndörfer
7e711510cc Implement cleartext signed messages 2013-12-02 20:11:21 +01:00
Thomas Oberndörfer
be96de5188 Move methods of Key and Message class to prototype. Clean up openpgp.js file. 2013-12-02 14:54:05 +01:00
Thomas Oberndörfer
89eb5dff2a Rename attribute for data of armored message from .openpgp to .data 2013-12-02 11:27:14 +01:00
Thomas Oberndörfer
c2a79368dc Add verify method to message class and other improvements. Implement openpgp.decryptAndVerifyMessage. Allow parsing of unhashed signature subpackets. 2013-11-30 17:29:20 +01:00
Thomas Oberndörfer
b0ea97ec28 Make packet tests run. Rename test files, move signature tests to general folder.
Split keyring tests in own file. Add tests for V3 signatures and fix verification.
2013-11-26 18:30:17 +01:00
Thomas Oberndörfer
66c428da7e Fix key generation: use primary key for subkey binding signature. On signing all signature subpacket data
is written to the hashed subpacket data section. This allows to set e.g. key flags on certification signatures.
2013-11-26 10:35:41 +01:00
Thomas Oberndörfer
22ad0d3505 Implement signAndEncryptMessage function. Fix packet_one_pass_signature.write(). 2013-11-19 16:30:41 +01:00
Thomas Oberndörfer
93376b6e13 Add decryptKeyPacket to key class. Used to decrypt specific key
packets and replacing the unlock mechanism. Decrypt method of packet_secret_key
returns boolean to indicate successful decryption. Add config to util class
and cleanup comments. Update tests.
2013-11-19 13:50:14 +01:00
Thomas Oberndörfer
097e602fd0 Fix grunt-browserify dependency 2013-11-18 10:07:18 +01:00
Thomas Oberndörfer
c051eacf36 Introduce unlock method for keys: passphrase is set as attribute of key and used
to decrypt required secret key packets on demand. Directly access config module in armor.js.
Key method getPrivateKeyPacket returns key packets by ID (optionally decrypted).
Message method decrypt returns new message with packetlist of decrypted message.
Add CRLF conversion to literal data packet. Packetlist: make filterByTag variadic,
add findPacket method. Keep state isDecrypted in secret key packet, don't decrypt
if already decrypted. Add mapToHex method to keyid. Simplify emailRegEx.
2013-11-16 22:08:42 +01:00
Thomas Oberndörfer
1be6b8b858 Remove keyring from openpgp namespace. Optimize keyid initialization. 2013-10-24 12:19:46 +02:00
Tankred Hase
b951cddd6d add mocha tests for travis CI integration tests on code commit
squash all commits to single commit
2013-10-23 13:25:00 +02:00
Thomas Oberndörfer
b544343c63 Further clean up in message and key class. Make tests run. 2013-10-22 20:15:05 +02:00
Thomas Oberndörfer
b1c9eb71d2 Refactoring message and key class. Implement decryptMessage. 2013-10-21 20:51:46 +02:00
seancolyer
91070f9750 Changing main api to be more key dependent 2013-10-18 21:46:38 -04:00
seancolyer
7cfa0ab705 Cleanup, creating armor enums 2013-10-18 21:18:38 -04:00
seancolyer
8baaa7f511 Fixing the signature to work properly with "hashed" subpackets. 2013-10-17 23:03:13 -04:00
seancolyer
4872b8c720 Work towards signature. There seems to be an issue with generating the
dates of signature packets, gpg is unable to read the results. We used
to do this correctly, so need to figure out exactly what's different..
2013-10-15 22:46:32 -04:00
seancolyer
52cf3eced8 Working towards key generation, started cleanup of config, changing
armor api slightly to pass in whether or not to show version string, not
entirely happy with current solution.
2013-10-14 22:52:10 -04:00
seancolyer
42f26e543e Work around key generation. We need to get the signature data-passing
platform ironed out for things like certifying keypairs/user ids.
2013-10-13 15:39:45 -04:00
seancolyer
fae321a1e3 Further test work, make keyring marginally work. Start end-to-end work. 2013-10-08 21:54:40 -04:00
seancolyer
30d2c38f00 Started cleaning up the public API/Keyring to use the "packetlist"
concept. More cleanup still to do, also need to determine best way to
submodule keyring. Ripping out previous packet.io addition because it
isn't needed/ goes against packetlist.
2013-10-06 21:44:46 -04:00
seancolyer
766d3e34fe Start working on openpgp.sigcheck.js tests. I have exposed packetParser
as packet.io to src/openpgp.js, I think that will quickly be revisited.
2013-09-21 19:39:15 -04:00
seancolyer
75f632acaf Cleanup eme_pkcs1 padding tests. 2013-09-21 17:39:08 -04:00
atrevarrow
41f0a040e9 Fixed DES/TripleDES padding and added unit tests 2013-08-27 23:23:58 +12:00
seancolyer
020a46ea3b Test cleanup. 2013-08-22 22:47:46 -04:00
seancolyer
ae1cb14bfb Further test cleaning. openpgp.crypto.js test runs now, next step, make
it pass.
2013-08-19 21:24:17 -04:00
seancolyer
b7d0322b8e Test cleanup, and fall out from that. test/crypto/openpgp.crypto.js is
still broken because DSA still has issues. I'm guessing elgamal will too
once the DSA ones are fixed.
2013-08-18 17:37:37 -04:00
atrevarrow
86df06f8da Fixed DES/TripleDES padding issues which fixed broken TripleDES unit test; added unit tests for DES padding 2013-08-14 00:33:00 +12:00
Michal Kolodziej
7d6cc3c771 Initial support for node.js testing. 2013-05-12 23:27:48 +02:00
Michal Kolodziej
c77a17cf31 Twofish test is working once more. 2013-05-12 19:05:13 +02:00
Michal Kolodziej
3537b92a51 Cleanup of symmetric crypto functions and definitions. Broke a few tests. 2013-05-12 14:27:23 +02:00
Michal Kolodziej
664ab71686 Switch to browserify. Basic unit tests are working. 2013-05-11 21:55:48 +02:00
Michal Kolodziej
18236ac097 A ton of changes regarding browserify support. Non functional as of now. 2013-05-11 16:03:25 +02:00
Michal Kolodziej
f421dc0d72 Restructuring and more work on browserify support. 2013-05-11 08:25:53 +02:00
Michal Kolodziej
ccc0a4eb48 Initial browserify support. Symmetric encryption algorithms
and hashes are now working.
2013-05-10 23:50:00 +02:00
Michal Kolodziej
c64c75bf04 Merged public and secret keys where appropriate. 2013-05-10 19:09:24 +02:00
Michal Kolodziej
77acb5a59a Working signature creation. 2013-05-09 16:51:25 +02:00
Michal Kolodziej
1e49e8ee23 Encryption of secret key packets is working. 2013-05-09 14:25:09 +02:00
Michal Kolodziej
945fa0ba51 Reading/decryption/signature verification side is working. 2013-05-09 09:37:12 +02:00
Michal Kolodziej
ab31b39d2f Signature verification on primary key is working! 2013-05-09 09:31:50 +02:00
Michal Kolodziej
ba68203b56 Changed up the verification api - it accepts multiple packets now. 2013-05-08 23:11:57 +02:00
Michal Kolodziej
e1e2223e8f Signature verification is working on literal packets. 2013-05-08 13:04:25 +02:00
Michal Kolodziej
dd5d0c801c Secret key packet decryption is working though, there
is still work to be done in the decryption function
as it's quite a mess still.
2013-04-27 18:14:57 +02:00
Michal Kolodziej
03382cbec1 Made sym key and s2k writable. 2013-04-27 16:15:07 +02:00
Michal Kolodziej
a115cccc53 Fixed s2k implementation somewhat. 2013-04-26 18:54:41 +02:00
Michal Kolodziej
1f9bc46a81 Encryption to a subkey from a GPG generated message is working.
Still no decryption and keys are transmitted in plaintext!
2013-04-26 15:48:19 +02:00
Michal Kolodziej
6fe166fa87 Reading of unencrypted secret key packets seems to be working. 2013-04-25 17:28:43 +02:00
Michal Kolodziej
530a9a0c69 Changed mpi interface to a more sane variant - openpgp
methods MUST return openpgp_type_mpi, using BigIntegers
is prohibited as otherwise the wrapper has no point.
2013-04-24 10:46:43 +02:00
Michal Kolodziej
6d45a19f88 Public key encrypted sesssion key is working. 2013-04-24 09:08:55 +02:00
Michal Kolodziej
43c5d1b30d Changed up the interface. Instead of a dedicated list,
all packets are directly on the packetlist object.
2013-04-23 10:19:01 +02:00
Michal Kolodziej
38330ea4a6 Sym encrypted session key is working, decryption of messages
from gpg works too! Fixed some minor bugs and got rid of a
few globals.
2013-04-23 10:03:28 +02:00
Michal Kolodziej
3a3764a436 Added test and working code to the sym encrypted integrity protected packet. 2013-04-22 19:56:51 +02:00
Michal Kolodziej
3f04470e1f First working packet: writing/reading sym encrypted
and literal packets is working. Tests added.
2013-04-22 18:03:50 +02:00
Michal Kolodziej
c190784ffd Working on making the new packet infrastructure run. 2013-04-22 17:04:20 +02:00
Michal Kolodziej
23295342fc Added utf8 awareness to the literal and userid packet classes. Made s2k
work correctly with utf8 strings. Fixeda visibility issue with the
testing suite and added relevant unit tests.
2013-04-16 10:47:17 +02:00
Brian Bloniarz
2bb3c30025 openpgp_keyring include subkeys by ID
openpgp_keyring.getPublicKeysForKeyId will now search subkeys
when looking for the ID, and return a key object based on that
subkey.

Updated to add a method, getSubKeyAsKey, to openpgp_msg_publickey.
This returns a full-fledged openpgp_msg_publickey object for a
chosen subkey.
2013-02-13 22:31:27 -08:00
Brian Bloniarz
4a99ed0dfa Add support for GnuPG type 1001 s2k extension
This is a Gnu extension for private keys with stripped secrets, which
can be created by GnuPG's --export-secret-subkeys mode.

Before this patch, "ERROR:  unknown s2k type! 101" would be logged as an
error (though other than that, things seemed to function normally).
2013-02-06 08:36:56 -08:00
Brian Bloniarz
b128e2c521 Fix signature check scoping issue.
Signature checks were failing, in the binary-document case of
openpgp_packet_signature.verify() the variable i was being referenced
when there was no i in scope; instead it was getting 8 from a global
variable i, and trimming 8 bytes off the beginning of the data.

The global i was being set by the CAST5 cipher -- this also fixes
that to be a local variable.

Also add unit test to confirm.
2013-02-06 08:26:16 -08:00
Thomas Oberndörfer
0ec3252ba5 Use JXG for ZIP decompression 2012-08-27 14:33:48 +02:00
Thomas Oberndörfer
e42b53199e Use jsxcompressor for ZLIB compressed data packets 2012-06-26 17:06:33 +02:00
Thomas Oberndörfer
028ee46d81 Merge zip.js and inflate.js into zip.js due to dependency in execution order. Remove inflate.js. Add import for zlib compression to test/encryption.html 2012-06-25 10:30:46 +02:00
Sean Colyer
8c2f987f9d Fix tests to import openpgp.crypto.sym.js. 2012-05-18 20:22:40 -04:00
Tankred Hase
1f7a503fb1 refactored sha.js internally with module pattern so that it does not require a reference to the window object... external api stays the same 2012-04-06 19:42:44 +08:00
Alexander Willner
fb66c97eb5 added coverage preview 2011-12-16 13:37:49 +01:00
Carsten Wentzlow
377dd12d19 - added encryption.html for testing encrytion / decryption of messages 2011-12-14 11:33:20 +01:00
Carsten Wentzlow
f486f601af - unit test for the openpgp_crypto API
- less debug output on blowfish and twofish test vectors
- adjusted unit test table width in css
2011-12-12 18:11:17 +01:00
Carsten Wentzlow
08cb01e932 adding unit tests for CAST-128 and TripleDES 2011-12-11 23:53:46 +01:00
Carsten Wentzlow
a037210a64 adding AES/Rijndael cipher unit test 2011-12-11 23:12:01 +01:00
Carsten Wentzlow
1aa1cb8d9a - blowfish.js test file: rewording output message
- adding twofish.js test file with test vectors for 256 bit key length
2011-12-10 14:41:00 +01:00
Carsten Wentzlow
982e6992fc - adding blowfish test 2011-12-09 20:16:38 +01:00
Carsten Wentzlow
81212f213f adding restructured GPG4Browsers code
- created a test suite available at test/index.html
- fixed a bug in MD5 calculation
2011-12-09 18:25:41 +01:00
Alexander Willner
aafc8b0ee4 structure 2011-11-13 11:50:49 +01:00