Commit Graph

582 Commits

Author SHA1 Message Date
Tankred Hase
f5375ef700 Drastically simplify async_proxy with generic delegate function 2016-02-09 08:46:18 +07:00
Tankred Hase
ee07b77320 Fail gracefully when no web worker support on initWorker 2016-02-09 07:52:08 +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
c7a6a88098 Add type validation util functions 2016-02-08 13:36:21 +07:00
Tankred Hase
1405ec8d1c Return filename for utf8 message 2016-02-08 10:18:37 +07:00
Tankred Hase
f72b4522ad Rename openpgp api: generateKeyPair --> generateKey 2016-02-07 18:01:10 +07:00
Tankred Hase
735ec3df74 Rename openpgp apis: signCleartext --> sign, verifyCleartext --> verify 2016-02-07 17:36:48 +07:00
Tankred Hase
f3ae671a57 Fix @fileoverview comment in hkp module 2016-02-07 08:15:33 +07:00
Tankred Hase
4aaa1d3184 Update copyright notice due to complete rewrite of src/openpgp.js 2016-02-07 08:08:47 +07:00
Tankred Hase
2ad425294c Second draft of public api 2016-02-06 22:58:43 +07:00
Tankred Hase
0f8bfe2dca Rename keys to publicKeys in message.encrypt() 2016-02-06 22:58:43 +07:00
Tankred Hase
31df9c07da Allow either privateKey, session key or password for message.decrypt() 2016-02-06 22:58:43 +07:00
Tankred Hase
83fcbaa633 Decode utf8 text only for correct format in Literal.getText() 2016-02-06 22:58:43 +07:00
Tankred Hase
2754bfef54 Cleanup public api 2016-02-06 22:58:38 +07:00
Tankred Hase
8777289b77 Cleanup config 2016-02-06 19:11:58 +07:00
Tankred Hase
8d82a18c19 Fix bug in message.decryptSessionKey where it would return this (msg obj)
Cleanup message code
2016-02-06 15:03:04 +07:00
Tankred Hase
55110c3409 Remove sessionKeyAlgorithm parameter from message.decrypt()
See: 2010456a19 (commitcomment-12397926)
2016-02-06 14:33:10 +07:00
Tankred Hase
c4bc9b2fe0 Use global this in src/worker/worker.js and add to linting 2016-02-06 14:28:05 +07:00
Tankred Hase
d40c3e81d9 Cleanup code of src/packet/literal.js 2016-02-06 14:22:19 +07:00
Tankred Hase
9da63d56b3 Cleanup style inconsistencies in cfb.js and random.js 2016-02-06 13:36:19 +07:00
Tankred Hase
1997e445f9 Use ES6 destructuring and default parameters in public api 2016-02-05 17:23:17 +07:00
Tankred Hase
f87d8d0433 Fix parsing packets from tag in web worker 2016-02-05 15:39:11 +07:00
Tankred Hase
8728db2b08 Finish refactoring src/**/*.js to use import & export 2016-02-05 15:23:11 +07:00
Tankred Hase
70ac662073 Refactor src/packet/*.js to use import & export 2016-02-05 14:44:22 +07:00
Tankred Hase
9ebe31a4ec Refactor src/worker/*.js to use import and export 2016-02-05 13:20:05 +07:00
Tankred Hase
444128829a Refactor src/keyring/*.js to use import & export 2016-02-05 13:16:42 +07:00
Tankred Hase
acabca9585 Fix config path in hkp.js 2016-02-05 12:45:45 +07:00
Tankred Hase
1157cd2ac8 Move src/hkp/hkp.js -> src/hkp.js
Delete src/hkp/index.js
2016-02-05 12:45:40 +07:00
Tankred Hase
8559cd2bff Refactor src/encoding/*.js and src/hkp/*.js to use import 2016-02-05 12:40:30 +07:00
Tankred Hase
509d6c67ee Refactor src/type/*.js to use import 2016-02-05 10:37:15 +07:00
Tankred Hase
dea42df209 Refactor src/crypto/**/*.js to use import & export 2016-02-05 10:36:09 +07:00
Tankred Hase
3aed324d51 Refactor src/crypto/hash/*.js to use import & export 2016-02-05 09:30:24 +07:00
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
Tankred Hase
85d2199971 Activate web crypto api (still fails tests)
* Remove api support for safari
* Fix error handling
2014-09-30 19:31:12 +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
d6963f2017 map JWK parameters to local BigInteger 2014-09-30 18:20:26 +02:00
Tankred Hase
15edf09972 Add RSA keygen example using WebCrypto Api 2014-09-30 18:20:26 +02:00
Tankred Hase
bbe174828f Upgrade license to LGPL version 3.0 or later. 2014-09-30 18:16:58 +02:00
Thomas Oberndörfer
069b97d16f Fix sorting of primary users 2014-09-03 14:38:31 +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
inovari
91ccbeed80 Bugfix in packet_length calculation
One of the bitshifts used to construct tmplen (lines 230-231) was inconsistent with the other expressions:

(input[mypos2++].charCodeAt() << 8)

causing following error:

TypeError: Cannot call method 'charCodeAt' of undefined
    at Object.module.exports.read (/home/scott/dev/keystone/fetch/node_modules/openpgp/src/packet/packet.js:231:16)

Corrected to 

(input.charCodeAt(mypos2++) << 8)
2014-07-16 15:37:06 -04:00
Tankred Hase
e885fb1433 Use same signature array structure in verify for ClearSignedMessages as Message 2014-07-07 12:02:13 +02:00
Tankred Hase
de3ba18400 Implement content verification using detached signatures 2014-07-03 14:57:52 +02:00
Tankred Hase
396199f631 Iterate over signature not keys to allow empty signatures array in case the message has no signatures. 2014-07-02 12:52:14 +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
62debad52d Allow removal of passphrase protection by calling encrypt with an empty passphrase 2014-07-01 15:02: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
Tankred Hase
68a5739354 Merge pull request #232 from msjoinder/single_public_key
API accepts a single public key or an array
2014-06-28 16:44:32 +02:00
Msjoinder
016490656f update function documentation 2014-06-22 20:43:29 +00:00
Msjoinder
74ef7455f5 use .length to test 2014-06-07 15:09:55 -05:00
Msjoinder
4bca02e635 include other key arrays 2014-06-07 14:36:04 -05:00
Msjoinder
1fd2c0f6f4 API accepts single public key string instead of array 2014-06-07 14:11:53 -05:00
Chris Wiegand
47cf9b6980 fix JSON.parse(null)
if window.localStorage.config is null then JSON.parse returns an error about "u" not being valid (the word "undefined" is not valid JSON apparently :). So I test for null-ness first.
2014-06-03 21:55:16 -06: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
b7847c072a Fix twofish cipher: did not accept typed arrays. 2014-04-25 16:35:43 +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
82b18c61f3 Add empty read method to trust packet. Otherwise import of key with a trust packet will fail. Trust packets are ignored and filtered out by the Key class. 2014-04-04 17:33:30 +02:00
Thomas Oberndörfer
5e74302973 Keyring: don't break on error reading armored key. 2014-04-04 17:14:39 +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
Tankred Hase
4bf2fbf985 Merge pull request #207 from openpgpjs/ie11
Fix random.js for IE11
2014-04-02 19:52:13 +02:00
Thomas Oberndörfer
fb8f2a2a57 Implement user attribute packet write() 2014-04-02 19:21:44 +02:00
Tankred Hase
79309b6a88 Fix random.js for IE11 2014-04-02 18:38:24 +02:00
Thomas Oberndörfer
9413cd6e7f Drop key packets not in a meaningful order according to RFC4880 "11. Packet Composition" 2014-04-02 18:28:08 +02:00
Thomas Oberndörfer
d28eb4406d Fix error message for unsupported key packet version 2014-04-02 12:39:35 +02:00
Tankred Hase
9d428a735b Merge pull request #205 from openpgpjs/bundles
Generate openpgp.js without source map. New source map target is openpgp...
2014-03-31 16:23:52 +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
06adf49122 Merge pull request #202 from PawelGorny/fixSigUnknwTypeNotation
An implementation SHOULD ignore any subpacket of a type that it does not recognize
2014-03-31 12:39:30 +02:00
Thomas Oberndörfer
867900cb37 Merge pull request #188 from toberndo/fix_partial_body_length
Fix packet partial body length
2014-03-31 12:13: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
1acf1cff9a OP-01-002 Math.random() usage in dead Code Branch (Low) 2014-03-28 10:29:23 +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
ed13502dc2 OP-01-025 EME-PKCS1-v1_5 Error Handling in RSA Decryption (High). Rewrite pkcs1.eme.decode() and pkcs1.eme.encode(). Add fix from jsbn 1.4 release. 2014-03-27 12:58:58 +01:00
Thomas Oberndörfer
79dbb2e6dd Errata 2270: Fix ASN.1 prefix for SHA224. http://www.rfc-editor.org/errata_search.php?rfc=4880&eid=2270 2014-03-26 18:15:29 +01:00
Thomas Oberndörfer
357d49f7e9 OP-01-026 Errors in EMSA-PKCS1-v1_5 decoding routine (High) and OP-01-018 Suggested improvement in RSA signature verification (Low). Do RSA signature verification as described in RFC 3447 Section 8.2.2. Remove pkcs1.emsa.decode(). Rewrite pkcs1.emsa.encode(). Hash algorithms: throw exception on error condition. 2014-03-26 18:04:58 +01:00
PawelGorny
48ec28fef2 An implementation SHOULD ignore any subpacket of a type that it does not
recognize.
2014-03-24 21:36:57 +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
3f626f4bfb OP-01-024 Random Range Bias in DSA/Elgamal (Low). Fix ranges, add TWO constant to BigInteger. 2014-03-21 17:12:02 +01:00
Thomas Oberndörfer
04680a67cd OP-01-020 Missing check in DSA signature generation (Medium). Add check and repeat until r and s not equal to 0. 2014-03-21 16:45:19 +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
105ec06da3 Throw error when trying to use IDEA cipher 2014-03-18 18:42: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
Thomas Oberndörfer
e1fcc51d0e OP-01-015 EME-PKCS1-v1_5 padding uses Math.random() (Critical) 2014-03-12 21:24:52 +01:00
Tankred Hase
3604f19eb9 Add onerror handler to Worker to see uncaught errors 2014-03-07 23:04:22 +01:00
Thomas Oberndörfer
6bb53f04b4 Merge pull request #176 from Matze2010/master
Possibility to set filename of literal data packet (tag 11)
2014-02-27 13:07:28 +01:00
Thomas Oberndörfer
1a4c504bc7 Fix packet partial body length 2014-02-27 13:01:47 +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