Commit Graph

239 Commits

Author SHA1 Message Date
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