Commit Graph

449 Commits

Author SHA1 Message Date
Tankred Hase
19a97bf117 Refactor src/crypto/cipher/*.js to use import & export 2016-02-05 09:09:04 +07:00
Tankred Hase
60b23169ac Refactor src/config/*.js to use import 2016-02-05 09:09:04 +07:00
Tankred Hase
f06e5aea55 Refactor src/*.js to use import 2016-02-05 09:09:04 +07:00
Tankred Hase
185d575ba3 Refactor src/index.js to re-export ES6 module 2016-02-05 09:09:04 +07:00
Tankred Hase
d725abd5b6 Remove debuggind comments from util 2016-02-04 22:06:48 +07:00
Tankred Hase
bcfc8ef7f7 Use npm published asmcrypto-lite module 2016-02-04 21:47:40 +07:00
Tankred Hase
3bf421206b Further cleanup of sym_encrypted_integrity_protected.js 2016-02-04 16:41:40 +07:00
Tankred Hase
261db8035d Remove redundant message.symEncrypt/symDecrypt 2016-02-04 16:41:39 +07:00
Tankred Hase
c840fabc7d Further cleanup of hash module 2016-02-04 16:41:39 +07:00
Tankred Hase
d67efe22eb Only log errors when config.debug is true 2016-02-04 16:41:38 +07:00
Tankred Hase
316a37a1cd Cleanup hash index.js 2016-02-04 16:41:38 +07:00
Tankred Hase
642f754169 Add more files to linting, make strict mode optional for each file 2016-02-04 16:41:37 +07:00
Tankred Hase
b8f353abe8 Include rusha via npm 2016-02-04 10:05:19 +07:00
Tankred Hase
cfe058596f Include asmCrypto via npm 2016-02-04 09:42:49 +07:00
Tankred Hase
90a7457b71 Refactor most src files to strict mode, delint 2016-02-04 00:37:00 +07:00
Tankred Hase
346aa8f11a Cleanup node.js api detection 2016-02-03 20:24:54 +07:00
Tankred Hase
2f74acc94f Cleanup src/crypto/index.js 2016-02-03 20:24:54 +07:00
Tankred Hase
68d298c948 Fix node.js detection 2016-02-03 20:24:54 +07:00
Tankred Hase
00ea3918c5 Cleanup and linting on all *.js 2016-02-03 20:24:54 +07:00
Tankred Hase
4d325ca65c Cleanup RSA and util code 2016-02-03 20:24:54 +07:00
Tankred Hase
55bd9757e7 Refactor config.useWebCrypto to config.useNative 2016-02-03 20:24:54 +07:00
Bart Butler
469a6be31a Rebase for upload to main openpgpjs repo 2016-02-03 20:24:54 +07:00
Bart Butler
f56b6887d9 native crypto and hash for nodeJS 2016-02-03 20:24:54 +07:00
Bart Butler
4c82568fad hash performance fix 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
5711028449 does not pass tests yet 2016-02-03 20:24:54 +07:00
Bart Butler
1c6e777a3d bugfixes 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
11a8a99aef add filename to return object when decrypting binary file 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
91d35ff99c initial modifications 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
f240feac4b Always polyfill ES6 Promises
Go back to v1.0.0 for Promise polyfill

Add node v5.x to travis build
2016-01-30 16:02:59 +07:00
Tankred Hase
dec7881f93 Don't inject fetch polyfill in hkp module anymore 2016-01-29 20:03:11 +07:00
Tankred Hase
bc5eb03ccd Add var declaration to des.js and use strict mode 2016-01-24 19:55:20 +07:00
evilaliv3
1f995bea22 Fix scope of variables used by des_createKeys in src/crypto/cipher/des.js 2016-01-18 11:58:43 +01:00
evilaliv3
a730d3f7ad Replace check for detecting that an object is a promise 2016-01-07 18:28:40 +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
Artem Chudinov
068d38d832 Use RegExp.prototype.test instead of String.prototype.match where it is OK
There is no sense in using String.prototype.match if the retrieved matched results
are not used.

By the way, if a bit of performance (especially RAM usage) is preferred over
unification, then, obviously, conditions like
if (/SIGNED MESSAGE/.test(header[1])) {
can be changed to
if (header[1].indexOf('SIGNED MESSAGE') !== -1) {
2016-01-07 15:35:47 +01:00
Artem Chudinov
30926e4738 message.js: Don't use variable signingKeyPacket out of scope 2016-01-07 15:35:47 +01:00
Artem Chudinov
3e2f34ac62 Add missing semicolons 2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
2ee347154c Symmetrically encrypted packet: raise error if MDC is missing for modern cipher. 2016-01-07 15:35:47 +01:00
evilaliv3
9589fa0b52 Apply mixed code review thanks to webstorm inspector 2016-01-07 14:46:55 +01:00
Tankred Hase
85efb463cf Check http status when uploading key 2015-12-27 16:27:55 +07:00
Tankred Hase
450fddaf8e Call encodeURIComponent on hkp query parameters 2015-12-19 15:23:00 +07:00
Tankred Hase
bcde9bfa1a Add HKP lookup example to README 2015-12-12 10:39:38 +07:00
Tankred Hase
6634abf326 Add basic HKP lookup and upload support 2015-12-11 13:12:34 +07:00
Thomas Oberndörfer
668a9bbe70 Throw exception on unsupported S2K type. 2015-10-03 15:57:03 +02:00
Artem Chudinov
9de55b49f3 s2k.js,async_proxy.js: Initialize variable data properly
It fixes error when running the example code (in Node.js with enforced strict
mode) from README.md:

[ReferenceError: data is not defined]
Error: Error generating keypair using js fallback!
    at /tmp/fff/node_modules/openpgp/src/openpgp.js:266:13
    at process._tickDomainCallback (node.js:399:9)
2015-08-19 22:32:06 +05:00
Artem Chudinov
1ee96a3f40 md5.js: Remove an unused variable to support enforced strict mode
The problem was:
arzeth /tmp/test % npm install openpgp
openpgp@1.2.0 node_modules/openpgp
├── node-localstorage@0.3.6
├── es6-promise@1.0.0
└── zlibjs@0.2.0

arzeth /tmp/test % node --version
v3.0.0

arzeth /tmp/test % node
> var openpgp = require('openpgp');
undefined
>

arzeth /tmp/test % node --use_strict
> var openpgp = require('openpgp');
ReferenceError: txt is not defined
    at md51 (/tmp/test/node_modules/openpgp/src/crypto/hash/md5.js:135:7)
    at md5 (/tmp/test/node_modules/openpgp/src/crypto/hash/md5.js:198:14)
    at Object.<anonymous> (/tmp/test/node_modules/openpgp/src/crypto/hash/md5.js:211:5)
    at Module._compile (module.js:430:26)
    at Object.Module._extensions..js (module.js:448:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/tmp/test/node_modules/openpgp/src/crypto/hash/index.js:10:8)
2015-08-19 22:15:21 +05:00
Peter Breitling
07e4278a3a Optimized memory footprint for encrypting and decrypting 2015-06-10 21:12:55 +02:00
Tankred Hase
a12d2ee27e Merge pull request #296 from bartbutler/ie11_keygen
Support for crypto API keygen in IE11 on Windows 7 and 8
2015-06-09 15:43:40 +02:00
Bart Butler
51dbbe2090 tanx update 2 2015-05-22 12:03:59 -07:00
Bart Butler
2a89baa837 tanx updates 2015-05-22 12:02:23 -07: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
be6ae2c464 Escape email before using as regular expression in emailCheck method. 2015-03-05 13:32:44 +01:00
Tankred Hase
fca5f7de2b Merge pull request #298 from mailvelope/sig_verify_sub_bind_check
Check validity of key packet before signature verification
2015-03-04 07:17:51 +01:00
Thomas Oberndörfer
a33b8c035d Check validity of key packet before signature verification 2015-03-03 18:15:17 +01:00
Bart Butler
e8465350fc Support for crypto API keygen in IE11 on Windows 7 and 8 2015-02-28 03:43:39 -08:00
Tankred Hase
cb3cc86a88 Add native RSA keygen (WebCrypto) support for Safari/iOS 2015-02-13 22:14:27 +01:00
Tankred Hase
d25c90bff1 Fix AsyncProxy tests 2015-02-11 14:20:42 +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
Tankred Hase
1cc3f4fe2e Merge pull request #285 from bartbutler/master
Comparison fix for broken getRandomBigIntegerInRange function
2015-02-11 11:31:58 +01:00
Tankred Hase
06b66d7f62 Merge pull request #274 from mailvelope/get-worker
Add getter method for worker to high level API. Initialization options for AsyncProxy: path and worker.
2015-02-11 11:05:36 +01:00
Krzysztof Kotowicz
587127acd1 Correctly check parameters range in DSA verify. 2015-02-10 12:01:22 +01:00
Bart Butler
0ce32bec92 Need to use compareTo when comparing BigIntegers, otherwise get a string comparison with lexical order 2015-02-08 21:20:07 -08:00
Thomas Oberndörfer
712f807e50 Restore path parameter of initWorker method 2015-01-24 14:44:06 +01:00
Thomas Oberndörfer
a642640cf1 Keyring: use regex for email check. Fix exception if userid does not contain an email address. 2014-12-18 16:28:38 +01:00
Thomas Oberndörfer
de0a6d1259 Helper method: get Keyid object from hex keyid. 2014-12-15 14:34:02 +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
Thomas Oberndörfer
eb7f854afe Add useWebCrypto to config and set to true 2014-12-15 14:30:22 +01:00
Tankred Hase
f79ce008b7 Merge pull request #268 from bantu/typo-unknow
Typo: Unknow -> Unknown
2014-12-09 16:35:49 +01:00
Tankred Hase
bed393063d Merge pull request #272 from laktak/compress
Compression Support
2014-12-09 15:36:41 +01:00
Christian Zangl
da650e2d63 add compression support (for zip & zlib) using https://github.com/imaya/zlib.js
add zlibjs dependency, grunt task
fix compData vs compdata bug
2014-12-04 22:29:33 +01:00
Andreas Fischer
b00ce34e90 Typo: Unknow -> Unknown 2014-11-17 12:31:04 +01:00
Christian Zangl
8d08d0bd1a fix symkey version 2014-11-12 16:47:32 +01:00
Tankred Hase
eedb722d7b Fall back to js crypto in case native RSA keygen fails 2014-10-29 18:17:03 +01:00
Tankred Hase
d38fc07578 Fix promise documentation 2014-10-28 10:46:49 +01:00
Tankred Hase
2a01399cb3 Update documentation to make returned promises clearer 2014-10-28 10:38:11 +01:00
Tankred Hase
f4682599be Return correct promise in error case 2014-10-20 18:30:26 +02:00
Tankred Hase
2362cce642 Merge pull request #259 from openpgpjs/promises
Refactor public api to use ES6 Promises
2014-10-20 16:12:13 +02:00
Tankred Hase
e3b6903eb1 Use global error catch 2014-10-20 16:10:09 +02: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
562831d6dc Merge pull request #245 from inovari/master
Bugfix in packet_length calculation
2014-10-02 00:24:23 +02:00
Tankred Hase
bf1cb6d521 Add high level error messages to public api. 2014-10-01 22:20:28 +02:00
Tankred Hase
bdbd7819f4 Fix phantom.js web worker tests that use promises 2014-10-01 21:55:50 +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
5d07ee1eb1 Add documentation to getWebCrypto 2014-10-01 11:23:34 +02:00
Tankred Hase
72cb1cfc49 Make WebCrypto optional with config.useWebCrypto 2014-10-01 11:17:48 +02:00
Tankred Hase
e6f66b9039 Cleanup promise error handling 2014-10-01 08:40:26 +02:00
Tankred Hase
0af12b81a3 Fix typo 2014-10-01 07:40:02 +02:00
Tankred Hase
7c2cf89589 Fix decoding of JWK. Webcrypto works. 2014-09-30 21:57:46 +02:00