Daniel Huigens
9394fec1f4
Throw in openpgp.initWorker if worker failed to load
2021-02-09 19:25:20 +01:00
Daniel Huigens
ef7c38860b
Don't unnecessarily return objects in top-level functions
...
openpgp.encrypt, sign, encryptSessionKey, encryptKey and decryptKey now
return their result directly without wrapping it in a "result" object.
Also, remove the `detached` and `returnSessionKey` options of
openpgp.encrypt.
2021-02-09 19:25:20 +01:00
Daniel Huigens
2fffc76060
Don't overwrite Web Streams Polyfill to globals
...
Instead, use the ponyfill that's now included in web-stream-tools.
Also, convert back to native ReadableStream when we used the ponyfill.
2021-02-09 19:25:20 +01:00
larabr
00c5f38689
Cipher-specific key validation ( #1116 )
...
Also, check binding signatures for decryption keys.
Also, do not always fallback on Web Crypto ECC errors.
2020-07-13 19:57:33 +02:00
Daniel Huigens
fb666f0624
Implement openpgp.getWorker().clearKeyCache()
2020-01-24 17:57:39 +01:00
Ilya Chesnokov
6e7f399eb3
Use Web Crypto & Node crypto for RSA signing and verifying ( #999 )
...
Also, when generating RSA keys in JS, generate them with p < q, as per
the spec.
Also, when generating RSA keys using Web Crypto or Node crypto, swap the
generated p and q around, so that will satisfy p < q in most browsers
(but not old Microsoft Edge, 50% of the time) and so that we can use the
generated u coefficient (p^-1 mod q in OpenPGP, q^-1 mod p in RFC3447).
Then, when signing and verifying, swap p and q again, so that the key
hopefully satisfies Safari's requirement that p > q, and so that we can
keep using u again.
2019-11-18 14:59:01 +01:00
Ilya Chesnokov
5d9629d6a3
Style fixes; add spaces around all infix operators, remove new Buffer ( #954 )
...
* Add "space-infix-ops": "error" rule
* Remove deprecated Buffer constructor
* Resolve new-cap eslint rule
* @twiss: Clarify code that selects curve and algorithm
2019-08-30 12:27:30 +02:00
Daniel Huigens
34e6eacb2f
Don't attempt to use workers if they fail to load
2019-05-02 12:08:08 +02:00
Daniel Huigens
625c6ea4b3
Zero-copy transfer buffers from the worker to the main thread
2019-01-09 15:18:56 +01:00
Daniel Huigens
c73b4536be
Fix error handling in worker delegation
2019-01-09 15:06:15 +01:00
Daniel Huigens
1effe19c1d
Allow simultaneously reading data and waiting for signature verification
...
This makes openpgp.{decrypt,verify}().signatures a Promise when passing a
stream or when asStream=true
2018-08-10 14:46:22 +02:00
Daniel Huigens
802e1b8d94
Transfer Streams to Workers
...
Also, add a "asStream" parameter to high-level functions to control
whether the return value is a Stream; defaulting to whether the
parameter passed was a Stream.
2018-08-10 14:44:01 +02:00
Daniel Huigens
37014ecf30
Pass more tests
...
- Allow leading spaces in headers (since we were already accepting
leading spaces everywhere else in the armored text).
- Read ReadableStreams before passing them to a Worker
2018-08-10 14:44:01 +02:00
Kay Lukas
6f176f8b30
Fix multiple workers
2018-07-26 18:33:30 +02:00
Daniel Huigens
95b9e5188a
Remove some ESLint silencers
2018-05-01 17:36:15 +02:00
Mahrud Sayrafi
96c9cd0d73
Fixes dead links in the documentation
2018-03-13 00:13:04 -07:00
Mahrud Sayrafi
a5e7562066
Many documentation improvements; more to come
2018-03-08 19:27:57 -08:00
Mahrud Sayrafi
08da24de27
documentation fixes
2018-03-08 10:55:58 -08:00
Bart Butler
1cd9018346
some cleanup
2018-03-06 10:04:33 -08: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
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
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
Mahrud Sayrafi
1383107202
Fixed and unmuted a few eslint errors, ~10 remain
2018-02-07 04:23:16 -08:00
Bart Butler
59d99fc0c7
do not replace stack in async_proxy, add as workerStack
2017-11-28 10:25:16 -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
6abf7ffcc0
Fix rare race condition with webworker tasks, fix minified web worker filename default
2016-10-26 16:56:21 -07:00
Tankred Hase
4f6e036a07
Cleanup packet list clonong --> src/packet/clone.js
2016-02-09 19:01:30 +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
994b8d2354
Use generic AsyncProxy.delegate for all public apis
2016-02-09 09:15:52 +07:00
Tankred Hase
f5375ef700
Drastically simplify async_proxy with generic delegate function
2016-02-09 08:46:18 +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
8728db2b08
Finish refactoring src/**/*.js to use import & export
2016-02-05 15:23:11 +07:00
Tankred Hase
9ebe31a4ec
Refactor src/worker/*.js to use import and export
2016-02-05 13:20:05 +07:00
Tankred Hase
90a7457b71
Refactor most src files to strict mode, delint
2016-02-04 00:37:00 +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
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
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
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
Thomas Oberndörfer
712f807e50
Restore path parameter of initWorker method
2015-01-24 14:44:06 +01:00