Daniel Huigens
d8840294cf
Make newlines in armored objects consistent
...
- Don't add an extraneous newline at the end of base64-encoded data
if it is a multiple of 60 characters long.
- Generate \r\n instead of \n in base64-encoded data.
- Generate one newline instead of two after END PGP PUBLIC KEY BLOCK
for consistency with the other footers.
2018-09-13 14:32:35 +02:00
Daniel Huigens
ca2f6d03b6
Slightly optimize base64 decoding
2018-09-03 18:23:38 +02:00
Daniel Huigens
dc722770d0
Don't process armored message data line per line
...
This cuts down on the overhead of streaming by reducing the amount
of calls to reader.read() and writer.write().
2018-09-03 18:23:38 +02:00
Daniel Huigens
e055d86062
Update documentation
2018-08-14 17:50:26 +02:00
Daniel Huigens
52c4fa9639
Move streams library to a separate package
2018-08-14 16:35:40 +02:00
Daniel Huigens
ca537e439d
Comments & code style
2018-08-14 16:35:38 +02:00
Daniel Huigens
95413cc6ed
Fix signatures of messages with leading/trailing whitespace
2018-08-10 14:46:29 +02:00
Daniel Huigens
0db32bea39
Backpressure and cancellation in sign/verify
2018-08-10 14:46:28 +02:00
Daniel Huigens
55fd292fba
Fix armor errors
...
Also, fix error handling in transformPair()
2018-08-10 14:46:25 +02:00
Daniel Huigens
304cbf4783
Fix backpressure
2018-08-10 14:46:25 +02:00
Daniel Huigens
ddda6a0b16
Implement cancellation by manually linking together input and output streams
2018-08-10 14:46:24 +02:00
Daniel Huigens
de2971d84a
Use TransformStreams
2018-08-10 14:46:24 +02:00
Daniel Huigens
51c897b073
Cancelling
2018-08-10 14:46:23 +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
Daniel Huigens
db39e616ca
Replace stream.tee() with stream.clone()
...
Also some other fixes to pass more tests.
2018-08-10 14:44:01 +02:00
Daniel Huigens
16ba26c298
Streaming AEAD
2018-08-10 14:44:01 +02:00
Daniel Huigens
1f30556674
Split stream.transform into using two helper functions
2018-08-10 14:44:01 +02:00
Daniel Huigens
4ada3fa590
Don't mutate prototypes of Uint8Array, ReadableStream and ReadableStreamDefaultWriter
2018-08-10 14:44:01 +02:00
Daniel Huigens
70f0e1d2f5
Finish streaming armoring
2018-08-10 14:44:01 +02:00
Daniel Huigens
0372bf78f1
Make (de)armoring and packet reading asynchronous
2018-08-10 14:44:01 +02:00
Daniel Huigens
403bdc5346
Streaming decryption (Web)
2018-08-10 14:44:01 +02:00
Daniel Huigens
9853d3d830
Streaming encryption (Web)
2018-08-10 14:44:01 +02:00
Daniel Huigens
3fd0fa8f68
Various key revocation fixes
2018-07-13 17:45:09 +02:00
Daniel Huigens
b5c6e655de
Warn about console usage
2018-05-03 13:07:52 +02:00
Sanjana Rajan
92542e3ee4
fix #636
2018-04-26 13:19:02 -07:00
Daniel Huigens
c63ed980a1
Fix dash-escaping the first line of cleartext signed messages
2018-04-25 19:46:43 +02:00
Mahrud Sayrafi
08da24de27
documentation fixes
2018-03-08 10:55:58 -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
5cb89f4f25
Addresses various review comments by @sanjanarajan
...
* Various FIXME tags are removed
* In curve.js:
- webCrypto/nodeCrypto fallback bug is fixed
- Curve25519 has keyType ecdsa (won't be used for signing, but technically can be)
- webGenKeyPair is simplifed
* In base64.js:
- documentation added and arguments simplified
* In ecdsa.js and eddsa.js:
- hash_algo is now at least as strong as the default curve hash
- simplified the code by moving webSign/nodeSign and webVerify/nodeVerify to live in key.js (ht @ismaelbej)
* In message.js:
- in decryptSessionKey, loops break once a key packet is decrypted
* In key.js:
- getPreferredHashAlgorithm returns the best hash algorithm
- enums are used for curve selection
2018-01-30 18:36:26 +01:00
Mahrud Sayrafi
dcff16d32b
npm test and grunt browsertest can run side by side now; npm tests pass, browser stuck on problem related to asn1.js
2018-01-30 18:34:07 +01:00
Mahrud Sayrafi
11a2d0070b
ESLint is happy!
2018-01-30 18:31:30 +01:00
Tom James Holub
4495df0f42
improve armor header validation + tests | #598
2017-11-25 10:57:41 +08:00
Bart Butler
ad029f1929
Update armor.js
...
Only console.log if debug mode on
2017-08-19 10:52:36 -07:00
Bart Butler
1e8bd4315b
Update armor.js
...
Small tweak
2017-08-19 10:49:36 -07:00
Patrick Brunschwig
93d823abb4
Fix for issue 573: don't throw with unknown Armor Headers, but just
...
with invalid ones
2017-08-19 18:32:02 +02:00
Tom James Holub
3f40a36081
do not remove equal sign at the end of armored body when missing checksum
2017-07-21 17:39:19 -07:00
Tom James Holub
ac055d69d2
fixed outdated annotations in armor.js
2017-07-21 15:39:06 -07:00
Tom James Holub
841b03d6cd
improved armor behavior - trailing newline
2017-07-21 15:35:27 -07:00
Tom James Holub
c27725782c
do not fail when missing armor checksum | #563
2017-07-21 10:13:33 -07:00
Sanjana Rajan
a7702a74d3
support split checksum where body and checksum are on the same line
2017-06-27 16:41:53 -07:00
Kévin Bernard-Allies
342bc8fe01
Simplify code of CRC24 checksum in armor encoding
2017-04-06 13:12:45 +02:00
Sanjana Rajan
7d02154dc9
small fixes
2017-03-07 13:59:18 -08:00
Sanjana Rajan
57d07091e8
add support for detached signatures
2017-03-07 13:59:17 -08:00
Tankred Hase
8728db2b08
Finish refactoring src/**/*.js to use import & export
2016-02-05 15:23:11 +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
90a7457b71
Refactor most src files to strict mode, delint
2016-02-04 00:37:00 +07:00
Bart Butler
469a6be31a
Rebase for upload to main openpgpjs repo
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