larabr
7f37a8aaca
Add config
parameter to top-level functions ( #1241 )
...
Refactor functions to take the configuration as a parameter.
This allows setting a config option for a single function call, whereas
setting `openpgp.config` could lead to concurrency-related issues when
multiple async function calls are made at the same time.
`openpgp.config` is used as default for unset config values in top-level
functions.
`openpgp.config` is used as default config object in low-level functions
(i.e., when calling a low-level function, it may be required to pass
`{ ...openpgp.config, modifiedConfig: modifiedValue }`).
Also,
- remove `config.rsaBlinding`: blinding is now always applied to RSA decryption
- remove `config.debug`: debugging mode can be enabled by setting
`process.env.NODE_ENV = 'development'`
- remove `config.useNative`: native crypto is always used when available
2021-02-26 20:04:54 +01:00
Daniel Huigens
b3e08fdc26
Don't export default objects / namespaces
...
Import individual functions, instead.
2021-02-09 19:25:20 +01:00
larabr
8854b097b4
Use native BigInt when available instead of bn.js ( #1119 )
...
In the lightweight build, lazily load bn.js only when necessary.
Also, use Uint8Arrays instead of strings in PKCS1 padding functions, and
check that the leading zero is present when decoding EME-PKCS1 padding.
2021-02-09 19:25:20 +01:00
Daniel Huigens
17fc32ba51
Appease linter
2021-02-09 19:25:20 +01:00
Daniel Huigens
aea7aa953a
Use ES6 classes
2021-02-09 19:25:20 +01:00
Daniel Huigens
cde282d4f1
Replace 'global' with 'globalThis'
2021-02-09 19:25:20 +01:00
Ilya Chesnokov
d415bc2546
Rename config option names to camelCase ( #1088 )
2021-02-09 19:25:20 +01:00
Daniel Huigens
6e13604a64
Replace 'window' with 'global'
...
In order to use Web Crypto in application workers, among other things.
2020-01-24 17:58:04 +01:00
descampsk
810b8daab2
Fix crypto.random.getRandomBytes when loading openpgp.js inside a worker ( #997 )
2019-10-25 13:20:54 +02:00
Daniel Huigens
4afaae13ca
Remove unused variables
2018-05-03 13:07:52 +02: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
572abadc91
random number web worker buffer automatic refill
2018-03-05 17:57:35 -08:00
Bart Butler
b088f005da
simplify random.js
2018-03-05 12:18:04 -08:00
Mahrud Sayrafi
a79acf0386
Loopless getRandomBN using extra random bits
2018-02-27 13:10:52 -08:00
Mahrud Sayrafi
d529edfdda
Addresses @sanjanarajan's review comments
2018-02-27 13:04:45 -08:00
Mahrud Sayrafi
378fb85733
Optimizes getRandomBN, Brings back IE11 KeyOperation helper
2018-02-26 16:56:42 -05:00
Mahrud Sayrafi
168a6b0bb8
New probabilistic random number generation algorithms; UNTESTED
2018-02-22 18:27:34 -08:00
Mahrud Sayrafi
a2868a5c14
Begone jsbn.js! I tell you begonegit status
2018-02-22 00:37:43 -08:00
Mahrud Sayrafi
2f3c0a86e9
DSA uses BN.js
...
added toBN for type_mpi
2018-02-22 00:37:41 -08:00
Bart Butler
c8adaff826
change JS zlib to pako, use Node zlib if available
2018-02-14 14:21:53 -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
11a2d0070b
ESLint is happy!
2018-01-30 18:31:30 +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
Tankred Hase
ded8926b27
Support AES-GCM with AEAD Protected Data Packets
...
Closes openpgpjs/openpgpjs#421
2016-03-22 17:44:22 +08:00
Tankred Hase
9da63d56b3
Cleanup style inconsistencies in cfb.js and random.js
2016-02-06 13:36:19 +07:00
Tankred Hase
dea42df209
Refactor src/crypto/**/*.js to use import & export
2016-02-05 10:36:09 +07:00
Tankred Hase
68d298c948
Fix node.js detection
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
0ce32bec92
Need to use compareTo when comparing BigIntegers, otherwise get a string comparison with lexical order
2015-02-08 21:20:07 -08:00
Tankred Hase
bbe174828f
Upgrade license to LGPL version 3.0 or later.
2014-09-30 18:16:58 +02:00
Tankred Hase
79309b6a88
Fix random.js for IE11
2014-04-02 18:38:24 +02: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
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
Thomas Oberndörfer
abf0545208
Change internal representation of random data from Uint32Array to Uint8Array
2014-01-18 16:37:15 +01:00
Thomas Oberndörfer
1fa47f0b4b
Web worker: add entropy estimation
2014-01-15 19:40:57 +01:00
Thomas Oberndörfer
3612fc12dc
Add web worker support. Load the whole library in a web worker
...
and make the high-level API accessible from an asynchronous proxy.
Entropy is seeded to worker on each generateKeyPair() call.
Allow serialization of packets and custom types for messaging API.
2014-01-13 13:56:06 +01:00
Robert Nelson
4cabe075d5
Add standalone support
2014-01-09 07:31:00 -08:00
Robert Nelson
9f4e6e7ebb
Add files missed in last commit
2014-01-09 02:47:57 -08:00
Robert Nelson
57c98386f9
Add node.js support
2014-01-08 09:01:15 -08:00
Robert Nelson
17ad1f5fed
More documentation fixes
2013-12-26 22:49:37 -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
seancolyer
7abaa43497
Initial gruntfile support. Forcing a standardized style.
2013-10-08 22:33:36 -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
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